嵌入式系统作业答案电子科技大学
发布时间:2021-06-05
发布时间:2021-06-05
姓名: 学号: 专业:
32位嵌入式微处理器ARM(1)
思考题(一)
1) 写出ARM可以运行的不同模式。
答:ARM处理器有七种基本的操作模式:
管理员模式Supervisor(SVC)、快速中断模式FIQ、中断模式IRQ、Abort、未定义模式Undef、系统模式System、用户模式User
2) ARM核有多少个寄存器?
答:ARM有37个寄存器,包括31个通用寄存器和6个状态寄存器,都是32位宽这些寄存器的子集只能在相应模式被访问。
3) 哪个寄存器用来存储程序指针,链接寄存器和堆栈指针?
答:用来存储程序指针的寄存器:R15(PC)
链接寄存器:R14(LR)、R16(CPSR)
用来存储堆栈指针的寄存器:R13(SP)
4) 哪种模式能访问的寄存器是最少的?
答:用户模式User能访问的寄存器是最少的。
5) 哪些寄存器在Thumb态时是在低端一组的?
答:R0-R7寄存器在Thumb态时是在低端一组的。
6) CPSR的哪一位反映了当前处理器的状态?
答:CPSR的mode位反映了当前处理器的状态。
7) 所有的Thumb指令必须对齐的边界是多少?
答:16位2字节对齐。
8) 写出ARM不同的异常类型。
答:ARM的7个异常类型是:复位异常,未定义异常,软中断,预取指异常,数据异常,外部中断异常,快速中断异常。
9) 处理器核复位后分别处于哪种模式和哪个状态?
答:处理器核复位后分别处于管理员模式Supervisor(SVC)和ARM状态
10) Thumb指令对比ARM指令,有哪两个主要优势?
答: 提供了32位和16位的混合指令
在增强了灵活性的同时保持了代码高密度
思考题(二)
1)ARM7TDMI的流水线有多少级?
答:ARM7TDMI的流水线有三级。
2)写出ARM9TDMI流水线各阶段的名字.
答:五级流水线工作方式,1.取指2.指令译码3.执行4.数据存储访问5.写寄存器
3)冯诺依曼体系和哈佛体系有什么不同?
答:相对冯诺依曼体系,哈佛体系增加了可访问内存的带宽(指令内存接口、数据内存接口)可完成同时对指令内存和数据内存进行访问。
4)ARM9核在什么情况下会导致读取-使用的互锁?
答:LDR指令不会引起流水线互锁,紧接着LDR指令后用相同寄存器的数据操作会引起流水线互锁
5)Cortex家族实现的是ARM的哪个架构版本?
答:Cortex家族实现的是ARM的v7的架构版本
32位嵌入式微处理器ARM(2)
思考题(一)
1. 用一条ARM指令分别实现下面的语句:
a) r0 = 16
b) r0 = r1 / 16 (signed numbers)
c) r1 = r2 * 3
d) r0 = -r0
2.BIC指令的作用?
答: BIC(位清除)指令对Rn中的值和Operand2值的反码按位进行逻辑“与”运算。
3.哪些数据处理指令总是设置条件标志位?
答:比较指令
思考题(二)
1. 哪些指令可用于子程序调用的返回?
答:BL指令:MOV,PC,R14
2. 要打开或者屏蔽IRQ中断该使用哪些指令?
答: BIC,MRS,MSR
3. 为了克服 ARM 分支指令只有±32MB范围的局限,应该使用哪些指令? 答:可通过直接将分支的地址加载到PC中实现跳转