第
2
章
ARM
处理器及系统结构(
共
96
分
)
一、
ARM
处理器有几种工作状态?分别是什么?
(
3
分)
ARM
处理器有两种工作状态
(1 分)
:
ARM
状态和
Thumb
状态。
(两种状态各
1
分)
二、
ARM
处理器有几种运行模式?分别是什么?
(
8
分)
ARM
处理器有
7
种运行模式
(1 分)
:中断、快中断、复位中断、软中断异常、预取指
令中止异常、数据中止异常 和 未定义指令异常
(7 种模式各
1
分)
三、简单描述
ARM
体系结构与纯粹的
RISC
体系结构的不同点。
(
10
分)
ARM
内核不是一个纯粹的
RISC
体系结构。
ARM
指令集与纯粹的
RISC
的定义有以下几
个不同。
(1)一些特定指令的周期数可变,并不是每条
ARM
指令都是单周期的。
(2 分)
(2)内嵌的桶形移位器产生了更为复杂的指令,扩展了指令的功能,因此改善了内核
的性能。
(2 分)
(3)支持
16
位的
Thumb
指令集,提高了代码密度。
(2 分)
(4)支持条件执行:每条指令都可以设置一个执行条件,只有条件满足时才执行。
(2 分)
(5)增强指令:一些功能强大的数字信号处理指令被加入到
ARM
指令集中。
(2 分)
四、简单描述
ARM9
的
5
级流水线
(
10
分)
取指:指令从存储器中取出,放入指令流水线;
(2 分)
译码:指令译码;
(2 分)
执行:把一个操作数移位,产生
ALU
的结果。如果指令是
Load
或
Store
,在
ALU
中计
算存储器的地址;
(2 分)
缓存
/
数据:如果需要,则访问数据存储器;否则,
ALU
的结果只是简单地缓冲一个时
钟周期,以便使所有指令具有同样的流水线流程;
(2 分)
回写:将指令产生的结果写回到寄存器堆,包括任何从寄存器读出的数据。
(2 分)
五、简单描述
ARM
处理器进入异常所采取的操作。
(
10
分)
(1)
在适当的
LR
中保存断点的地址。
(2 分)
(2)
把当前程序状态寄存器(
CPSR
)中的内容保存到模式私有寄存器
SPSR
中;
(2 分)
(3)
将寄存器
CPSR
中的
MODE
域设置为中断(异常)应进入的运行模式;
(2 分)
(4)
对
CPSR
的
I
位和
F
位进行相应的设置,以防止再次响应同一个中断请求。
(2 分)
(5)
强制
PC
从相关的异常向量处取指,即到中断向量表中获取中断向量,转向用户所编写
的中断(异常)服务程序。
(2 分)
六、
ARM
的快中断采用了几种措施来保证更快的响应速度?这些措施是什么?
(
6
分)
为减少延时,
ARM
在快中断中采取了 两个措施:
(1 分)
(1)专门为快中断配置了较多的私有寄存器,从而可使中断服务程序有足够的寄存器
来使用,而不必与被中断服务程序使用同一组寄存器,这样就免去了因寄存器冲突而必需的
保护及恢复现场工作。
(3 分)
(2)
ARM
把
FIQ
的中断向量放在了中断(异常)向量表末尾
0X0000001C
处,因此它
后面没有其它中断向量,允许用户将中断服务程序直接放在这里。
(2 分)
七、多选题
(
7
分)
1
、为减少延时,提高中断处理速度,
ARM
在快中断中采取了哪些措施(
B、
D
)
(2 分)
A.
配置了高速缓存。
B.
配置了较多的私有寄存器。
C.
更高的中断优先级。
D.
把
FIQ
的中断向量放在了中断(异常)向量表末尾 处。
2
、下列说法正确的是(
A、
B
、
C
、
D
)。
(3 分)
A.
异常实质上也是一种中断,只不过它主要负责处理处理器内部事件
B.
中断控制器用于中断源和处理器之间,主要用于对处理器可以接收中断源的数目进
行扩充及对中断进行必要的管理。
C.
处理器在现行指令执行结束后,才能响应中断。
D.
在处理器收到中断请求之后,它们都需要获得中断服务程序首地址
——
中断向量。
3
、下列关于
ARM
的说法正确的是(
B
、
C
、
D
):
(2 分)
A. ARM
公司生产的处理器
B. ARM
是一个公司的名称
C. ARM
是一类微处理器的通称
D. ARM
是一种技术的名称
八、判断题
(
20
分,每小题
2
分)
1. ARM9TDMI
核其工作模式有两种:
ARM
模式和
Thumb
模式。(
X
)
2.
当异常发生,进入异常运行模式的时候,处理器会自动禁用中断和快中断,以确保异常
处理程序安全运行。(
X
)
3.
当处理器处于
Thumb
状态时发生了异常,在异常向量地址装入
PC
时,会自动切换到
ARM
状态。(
√
)
4. S3C2440
芯片可以通过软件来指定存储器格式,缺省为小端格式。(
√
)
5.
在减法指令中,当运算中发生了借位,则
C
标志位
=1
。(
X
)
6. ARM
处理器在用户模式下,可以通过修改
CPSR
进入系统模式。(
X
)
7.
对于计算机系统来说,一个字的长度是
32
位的,半字的长度是
16
位的。(
X
)
8. ARM920T
处理器中,对是通过协处理器
P15
来实现对
MMU
的控制的。(
√
)
9. ARM9
的
5
级流水线设计,相对于
ARM7
的
3
级流水线设计,减少了在每个时钟内必
须完成的最大工作量,进而允许使用较高的时钟频率。(
√
)
10. ARM
处理器采用的是
RISC
体系结构,因此所有的指令都在一个周期内执行完成。(
X
)
九、单选题
(
22
分,每小题
2
分)
1.
如果处理器采用大端存储器格式,假如一个字存放在地址为
A
、
A+1
、
A+2
、
A+3
四个
连续的存储单元中,则该字的地址为(
A
)
A
.
A B
.
A+1 C
.
A+2 D
.
A+3
2. ARM7EJ
名称中的
J
后缀,代表(
C
)
A
、支持增强型
DSP
指令
B
、支持
Thumb
指令集
C
、支持
Jazelle D
、支持
Embedded ICE
3.
在通用的
CPU
上提供
DSP
能力,是从
ARM
指令集构体系结构版本(
B
)以后开始
的。
A
、
v4 B
、
v5 C
、
v6 D
、
v7
4. ARM
推出的
Cortex
系列包括三个系列,其中实时操作系统而设计的是(
C
)
A
、
Cortex-A B
、
Cortex-B C
、
Cortex-R D
、
Cortex-M
5.
在
ARM9
的
5
级流水线设计中,从寄存器中读取操作数,是在哪个阶段完成的?(
B
)
A
、取指
B
、译码
C
、执行
D
、缓存
/
数据
E
、回写
6.
在
ARM9
的
5
级流水线设计中,计算访存指令访问存储器的地址的操作,是在哪个阶
段完成的?(
C
)
A
、取指
B
、译码
C
、执行
D
、缓存
/
数据
E
、回写
7. ARM
处理器的
7
种运行模式中,处理器复位之后进入(
C
)。
A
.用户模式
B
.系统模式
C
.管理模式
D
.终止模式
8.
下列
ARM
处理器的运行模式中,不属于异常模式的是(
B
)。
A
.未定义模式
B
.系统模式
C
.管理模式
D
.终止模式。
9. R13
通常用于存储(
D
)。
A
.程序计数器
B
.中断返回地址
C
.子程序返回地址
D
.堆栈指针
10.
程序计数器的值保存在(
D
)中。
A
.
R12 B
.
R13 C
.
R14 D
.
R15
11.
读程序计数器时,指令读出的
R15
的值是当前指令地址加上(
D
)字节。
A
.
1 B
.
2 C
.
4 D
.
8