文档库 最新最全的文档下载
当前位置:文档库 › ARM处理器.

ARM处理器.

ARM处理器.
ARM处理器.

1.简要说明什么叫嵌入式系统?他与通用计算机有哪些区别?

答:以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。

从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统,通常是更大系统中的一个完整的部分。

区别:嵌入式系统是一种专用计算机系统,有微处理器,可编程;有明确的应用目的;作为机器或设备的组成部分被使用。

2.嵌入式系统有哪些特点?

答:⑴与应用密切相关

⑵实时性

⑶复杂的算法

⑷制造成本(操作系统价格对制造成本有很大影响。)

⑸功耗(一般采用电池供电,对功耗有着严格要求)

⑹开发和调试(必须有相应的开发环境,开发调试工具,才能进行开发和调试)

⑺可靠性(抗干扰能力强)

⑻体积(尽可能小)

4.ARM7TDMI中有无存储器管理单元?有无Cache?支持Thumb指令集吗?

5.ZDMA和BDMA个由哪些特点?

答:ZDMA(通用DMA)是到SSB的接口,能从外部存储器到外部存储器传送数据,数据传送在固定地址的源设备和外部存储器、外部存储器和外部存储器、外部存储器和固定地址的目的设备之间进行。ZDMA操作能够由软件和外部DMA请求信号启动。

BDMA(桥DMA)作为桥,在SSB和SPB之间起接口层的作用。主要作用是在外部存储器(通过连接在SSB总线上的存储器控制器)与片外设备(像连到SPB上的UART、IIS 和SIO等)之间传送数据。

6.S3C44B0X主时钟频率最高达到多少?(66MHz)

7.S3C44B0X支持内有8通道A/D转换器,转换器是10位的

8.存储器寻址空间支持每个bank大小为32MB,全部为256MB在8个banks中,有1个

bank起址和bank大小可编程;其余7个banks起址固定,banks大小可编程;

9.对每个bank,支持可编程的8/16/32位宽度数据总线

10.特殊功能寄存器是集成在S3C44B0X的片内。

11.ARM7TDMI核内使用了几级流水线结构?每一级的功能和作用?

答:ARM7TDMI核使用了三级流水线结构,在通常情况下,每条指令以取指、译码和执行三级

12.ARM7TDMI有几种操作状态?如何转换?每种各有何特点?

答:ARM和Thumb两种,使用ARM指令集的BX指令可以从ARM状态转化到Thumb 状态;使用Thumb指令集的BX指令可以从Thumb状态转换到ARM状态。在Thumb状态,程序计数器PC使用bit[1]来选择切换半字。

特点:ARM状态,执行32位的、字边界对齐的ARM指令;Thumb状态,执行16位的、半字边界对齐的Thumb指令。

13.存储器的大小端格式有和不同?答:大端:字数据的高字节存储在低地址中,而字数据

的低字节则存放在高地址中;小端:在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。

14.ARM7TDMI支持哪几种数据类型?答:8位(字节);16位(半字);32位(字)。字必

须以4字节边界对齐,半字必须以2字节边界对齐。

16.特权方式包括哪几种操作方式?答:方式的改变可以在软件控制下改变,也可以由外部

中断或者由异常处理带来改变。除了用户方式,其他几种方式都被称为特权方式。特权方式用于为中断或异常(exception)服务,或访问受保护的资源。

17.ARM7TDMI共有37个寄存器。其中:31个是32位的通用寄存器,6个是32位的状态

寄存器。

18.ARM状态下可以使用哪些寄存器?Thumb状态下一班可以使用哪些寄存器?

答:在ARM状态下,16个可直接存储寄存器(r0~r15)和1个或2个状态寄存器在任何时间是可存取的。R14:连接寄存器(LR)R15:程序计数器(PC)及当前程序状态寄存器CPSR(含有条件标志、当前方式位)

Thumb状态下的r0-r7与ARM状态下的r0-r7是相同的;Thumb状态下的CPSR和SPSR 与ARM状态下的CPSR和SPSR是相同的;Thumb状态下的SP映射到ARM状态下的r13;Thumb状态下的LR映射到ARM状态下的r14;Thumb状态下的PC映射到ARM状态下的

PC(r15)

19.高寄存器组和底寄存器组?答:在Thumb状态下,寄存器r0-r7称为低寄存器组,寄存

器r8-r15称为高寄存器组。

20.简述程序状态寄存器的格式和每一位的含义。

答:ARM7TDMI处理器包含一个当前程序状态寄存器CPSR和5个用于异常处理的保留程序状态寄存器SPSR。这些程序状态寄存器有以下功能:1、保存最近执行过的ALU操作的信息;2、控制允许或禁止中断;3、设置处理器操作方式。

21.简述异常进入和退出需要做哪些处理。

答:进入异常

⑴在对应的LR中保存下一条指令的地址

⑵复制CPSR到应对的SPSR。

⑶强制CPSR方式位成为某一个值,这个值取决于不同的异常。

⑷强制PC从相关的异常向量处取下一条指令。

退出异常:

⑴参考表2.4,对应不同类型的异常,直接传送LR到PC或从LR中减去一个偏移量送到PC。

⑵复制SPSR到CPSR。

⑶清除在进入异常时被设置的中断禁止标志。将SPSR值恢复到CPSR的同时,自动地将T位的值恢复成进入异常前的值。

22.异常优先级由高到低的次序:Reset(复位)、Data Abort(数据中止)、FIQ(快速中断

请求)、IRQ(中断请求)、Prefetch Abort(指令预取中止)、Undefined instruction(未定义指令) and SWI(软件中断)。

23.一般应该大于20MHz小于66MHz

24.叙述5种节电模式各自特点。

答:通常模式:用于对S3C44B0X中CPU和芯片内所有外设提供时钟。在这种情况下,当片内全部外设都工作时,功耗最大。当不需要定时器和DMA工作时,用户可以断开它们的时钟,减少功耗。

慢模式:是一种外部时钟不经过PLL电路的模式,慢模式直接使用外部时钟作为主时钟。在这种情况下,功耗仅仅取决于外部时钟的频率。

空闲模式:仅仅断开到CPU核的时钟,提供到所有片内外设的时钟。任何到CPU的中断请求能够从空闲模式中唤醒CPU。

停止模式:冻结到CPU和外设的全部时钟,功耗仅仅取决于S3C44B0X中的漏电流,少于10μA。通过外部到CPU的中断请求,可以从停止模式中唤醒CPU。

SL-IDLE模式:只有LCD控制器工作,在这种情况下,其他到CPU和外设的时钟被停止,功耗比空闲模式少。

25.哪些信号可以作为唤醒信号使用?

答:通过EINT[7:0]或RTC报警中断,能够将S3C44B0X唤醒,处理器状态被改变成解冻(THAW)状态。

26.CPU wrapper由哪些部件组成?

CPUwrapper是由Cache、写缓冲区(write buffer)和CPU核组成。

27.简述轮转优先权与固定优先权的区别?

答:轮转优先权,总线设备一旦完场服务,优先权变为最低。这种方式使所有总线设备具有同等优先权;

固定优先权方式,每个总线主设备的优先权被写入SBUSCON,它确定了每个总线设备优先权在第1级~第4级优先权中的具体级别。

28.逻辑运算有哪些?读写判断指令?

29.五种异常模式,外设中断对应的模式,异常模式中断优先级

30.寻址方式

答: 1.寄存器寻址MOV R1,R2;

2.立即寻址MOV R0,#0xFF00

3.寄存器移位寻址MOV R0,R2,LSL #3 ;

4.寄存器间接寻址LDR R0,[R2]

5.基址寻址LDR R2,[R3,#0x0C];

6.多寄存器寻址LDMIA R1!,{R2-R4,R6} ;

7.堆栈寻址

满递增:堆栈向上增长,堆栈指针指向内含有效数据项的最高地址。指令如LDMFA、STMFA等;

空递增:堆栈向上增长,堆栈指针指向堆栈上的第一个空位置。指令如LDMEA、STMEA

等;

满递减:堆栈向下增长,堆栈指针指向内含有效数据项的最低地址。指令如LDMFD、STMFD等;

空递减:堆栈向下增长,堆栈指针向堆栈下的第一个空位置。指令如LDMED、STMED 等。

8.相对寻址

BL SUBR1 ;调用到SUBR1子程序

BEQ LOOP ;条件跳转到LOOP标号处

...

LOOP MOV R6,1

...

SUBR1 ...

31.LCD五个比较信号的含义,LCD控制寄存器支持哪些扫描方式。

答:①VFRAME:LCD控制器和LCD驱动器之间的帧同步信号。该信号告诉LCD屏新的一帧开始了。LCD控制器在一个完整帧显示完成后立即插入一个VFRAME信号,开始新一帧的显示;该信号与LCD模块的YD信号相对应。

②VLINE:LCD控制器和LCD驱动器之间的线同步脉冲信号,该信号用于LCD驱动器将水平线(行)移位寄存器的内容传送给LCD屏显示。

LCD控制器在整个水平线(整行)数据移入LCD驱动器后,插入一个VLINE信号;该信号与LCD模块的LP信号相对应。

③VCLK:LCD控制器和LCD驱动器之间的像素时钟信号,由LCD控制器送出的数据在VCLK的上升沿处送出,在VCLK的下降沿处被LCD驱动器采样;该信号与LCD模块的XCK信号相对应。

④VM:LCD驱动器的AC信号。VM信号被LCD驱动器用于改变行和列的电压极性,从而控制像素点的显示或熄灭。VM信号可以与每个帧同步,也可以与可变数量的VLINE 信号同步;该信号与LCD模块的DISP信号相对应。

⑤VD[3:0]:LCD像素点数据输出端口。与LCD模块的D[3:0]相对应。

⑥VD[7:4]:LCD像素点数据输出端口。与LCD模块的D[7:4]相对应。

三种类型LCD:4位双扫描、4位单扫描、8位单扫描;

32.r0~r15中PC,SP分别是?及各个位的含义格式

答:r14用作子程序连接寄存器(当一条分支指令并且连接指令(BL)被执行时,寄存器r14收到r15的一个拷贝。在其他时间,r14被看做通用寄存器。

r15作为程序计数器,在ARM状态下,r15的bit【1:0】是无定义且必须被忽略的,而r15的bit【31:2】含有程序计数值。

33.传送指令MOV与LDR的区别

答:ARM是RISC结构,数据从内存到CPU之间的移动只能通过ldr/str指令来完成

比如想把数据从内存中某处读取到寄存器中,只能使用ldr

比如:ldr r0, 0x12345678

就是把0x12345678这个地址中的值存放到r0中。

而mov不能干这个活,mov只能在寄存器之间移动数据,或者把立即数移动到寄存器中,这个和x86这种CISC架构的芯片区别最大的地方。

另外还有一个就是ldr伪指令,虽然ldr伪指令和ARM的ldr指令很像,作用不太一样。ldr伪指令可以在立即数前加上=,以表示把一个地址写到某寄存器中,如:ldr r0, =0x12345678

这样,就把0x12345678这个地址写到r0中了。所以,ldr伪指令和mov 是比较相似的。只不过mov指令限制了立即数的长度为8位,也就是不能超过512。而ldr伪指令没有这个限制。如果使用ldr伪指令时,后面跟的立即数没有超过8位,那么在实际汇编的时候该ldr伪指令是被转换为mov指令的。

ldr伪指令和ldr指令不是一个同东西。

34.赋值、乘法、除法(P54~55)

35.ARM指令格式(会翻译)

36.Rs232C帧传送格式

37.DMA协议及方式。

答:DMA请求/响应协议:⒈握手方式(handshake mode)⒉单步方式(single step mode)⒊全部服务方式(whole service mode)⒋请求方式(demand mode)DMA传送方式:⒈Unit传送方式(一个单位读,然后一个单位写)⒉Block(4字)传送方式(4个单位突发读,而后4个单位突发写)⒊On _the_fly传送方式(单独的1个单位读,或单独的1个单位写)

38.44B0X中有多少寄存器,中断控制寄存器,中断个数?

39.如何屏蔽FIQ、IRQ

40.IRQ允许中断设置

相关文档