2022年ARM复习课后题答案...docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年ARM复习课后题答案...docx》由会员分享,可在线阅读,更多相关《2022年ARM复习课后题答案...docx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -1. 国内嵌入式系统行业对嵌入式系统的定义是什么?如何懂得答:以应用为中心、以运算机技术为基础、软件硬件可裁剪、适应应用系统对功能、牢靠性、成本、体积、功耗严格要求的专用运算机系统;从这个定义看以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统要求进行合理的裁剪利用;因此有人把嵌入式系统比作是一个针对特定的应用而量身定做的专用运算机系统;2. 当前最常见的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点答:嵌入式 linux 和嵌入式实时操作系统 uc/os-II Linux :
2、(1)linux 是源码开放的,每一个技术细节都是透亮的,易于裁剪定制;(2)目前嵌入式 linux 已经在多种嵌入式处理器芯片移植胜利,有大量且不断增加的开发工具,这些工具为嵌入式系统开发供应了良好的开发环境;(3)Linux 内核小、功能强大、运作稳固、效率高;Ucos:(1)源代码公开(2)可移植性;(3)可固化(4)可裁剪(5)占先式(6)多任务(7)可确定性;(8)系统服务第 2 章 ARM 技术与 ARM 体系结构3.arm 处理器的工作模式有哪几种,其中哪些为特权模式,哪些为反常模式,并指出处理器在什么情形下进入相应的模式;答: ARM 处理器共有 7 种工作模式:用户模式 :非
3、特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行;在用户模式下,假如没反常发生,不答应应用程序自行转变处理器的工作模式,假如有反常发生,处理器会自动切换工作模式FIQ 模式: 也称为快速中断模式,支持高速数据传输和通道处理,当一个高优先级 fast中断产生时将会进入这种模式;IRQ 模式: 也称为一般中断模式,:当一个低优先级中断产生时将会进入这种模式;在这模式下按中断的处理器方式又分为向量中断和非向量中断两种;通常的中 断处理都在 IRQ 模式下进行;SVC 模式 :称之为治理模式,它是一种操作系统爱护模式;当复位或软中断指 令执行时处理器将进入这种模式;中止模式: 当存取反常
4、时将会进入这种模式,用来处理储备器故障、实现虚拟 储备或储备爱护;未定义指令反常模式:当执行未定义指令时会进入这种模式,主要是用来处理 未定义的指令陷阱,支持硬件协处理器的软件仿真,由于未定义指令多发生在对协 处理器的操作上;系统模式: 使用和 User 模式相同寄存器组的特权模式,用来运行特权级的操作细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -系统任务;在这 7 种工作模式中,除了用户模式以外,其他6
5、种处理器模式可以称为特权模式,在这些模式下,程序可以拜访全部的系统资源,也可以任意地进行处理器模式的切换;在这6 种特权模式中,除了系统模式外的其他5 种特权模式又称为反常模式4 分析程序状态寄存器(PSR)各位的功能描述,并说明C、Z、N、V 在什么情形下进行置位和清零;答: PSR 的详细格式为V 溢出标志位对于加 / 减法运算指令,当操作数和运算结果为二进制补码表示的带符号数时,V1 表示符号位溢出,其他的指令通常不影响 V 位;C进位或借位标志位对于加法指令(包括比较指令 CMN),结果产生进位,就 C1,表示无符号数运算发生上溢出,其他情形下 C0;在减法指令中(包括比较指令 CMP
6、),结果产生借位,就 C0,表示无符号数运算发生下溢出,其他情形下 C1;对于包含移位操作的非加 /减法运算指令,C 中包含最终一次溢出位的数值;对于其他非加 /减法运算指令,C 位的值通常不受影响;Z结果为 0 标志位Z1 表示运算结果是 0,Z0 表示运算结果不是零;对于 CMP 指令, Z1 表示进行比较的两个数大小相等;N 符号标志位本位设置成当前指令运算结果的bit31 的值;当两个补码表示有符号整数运算时, N1 表示运算的结果为负数,N0 表示结果为正数或零;5 简述 ARM 处理器反常处理和程序返回的过程;答: ARM 在反常产生时会进行以下操作:(1) 将引起反常指令的下一条
7、指令地址储存到新的反常模式的 LR 中,使异常处理程序执行完后能依据 LR 中的值正确返回;(2) 将CPSR 的内容复制到新的反常模式下的 SPSR 中;(3) 依据反常类型将 CPSR 模式掌握位强制设定为发生反常所对应的模式值;(4) 强制 PC 指向相应的反常向量地址;ARM 在反常返回时(1) 从 SPSR_复原 CPSR;(2) 从 LR_复原 PC ;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 10 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - -
8、 -6 ARM 处理器字数据的储备格式有哪两种?并指出这两种格式的区分;答:(1) 小端储备格式(Little-Endian )在小端储备格式中,对于地址为A 的字单元,其中字节单元由低位到高位字节地址次序为 A,A+1,A+2 , A+3 ;对于地址为 A 的半字单元,其中字节单元由低位到高 位字节地址次序为 A,A+1 ;(2) 大端储备格式(Big-Endian )在大端储备格式中,对于地址为A 的字单元,其中字节单元由高位到低位字节地址次序为 A,A+1,A+2 ,A+3 ;对于地址为 A 的半字单元,其中字节单元由高位到低位字节地址次序为 A,A+1 ;第 3 章 ARM指令集寻址方
9、式3 在 ARM 指令中,什么是合法的立刻数?判定下面各立刻数是否合法,假如合法就写出在指令中的编码格式(也就是 0x5430 0x108 0x304 0x501 8 位常数和 4 位的移位数);0xFB10000 0x334000 0x3FC000 0x1FE0000 0x5580000 0x7F800 0x39C000 0x1FE80000 答:运算步骤:(1)十六进制立刻数两端 0 去掉(2)展成二进制(3)连续偶数个 0 去掉,数字中间 0 不去掉(4)剩下数字位数小于等于 8 可以,反之,不行以;5 ARM 数据处理指令详细的寻址方式有哪些,假如程序计数器 会产生什么结果?答: AR
10、M数据处理指令寻址方式有 5 种1) 其次操作数为立刻数2) 其次操作数为寄存器PC 作为目标寄存器,3) 其次操作数为寄存器移位方式,且移位的位数为一个 5 位的立刻数4) 其次操作数为寄存器移位方式,且移位数值放在寄存器中5) 其次操作数为寄存器进行 RRX 移位得到假如程序计数器 PC 作为目标寄存器,会发生程序跳转;6 在 Load/Store 指令寻址中,字、无符号字节的 Load/Store 指令寻址和半字、有符号字节寻址,试分析它们之间的差别;答:字、无符号字节寻址:1) Addressing_mode 中的偏移量为立刻数2) Addressing_mode 中的偏移量为寄存器的
11、值3) Addressing_mode 中的偏移量通过寄存器移位得到半字、有符号字节寻址:1) Addressing_mode 中的偏移量为立刻数细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 10 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -2) Addressing_mode 中的偏移量为寄存器的值从以上分析看出:差别就在于后者没有第三项寻址方式;7 块拷贝 Load/Store 指令在实现寄存器组和连续的内存单元中数据传递时,地址的变化方式有哪几种类型
12、,并分析它们的地址变化情形;答:批量 Load/Store 指令在实现寄存器组和连续的内存单元中数据传递时,地址的变化方式( addr_mode)有以下 4 种类型:后增 IA Increment After :每次数据传送后地址加 4;先增 IB Increment Before :每次数据传送前地址加 4 ;后减 DA Decrement After :每次数据传送后地址减 4 ;先减 DB Decrement Before :每次数据传送前地址减 4 ;8 栈操作指令地址的变化方式有哪几种类型,并分析它们的地址变化情形,从而得出栈操作指令寻址和块拷贝 答:Load/Store 指令之间的
13、对应关系;1 四种类型的堆栈工作方式,即:满递增堆栈 FAEmpty Ascending :堆栈指针指向最终压入的数据,且由低地址 向高地址生成;满递减堆栈 FD(Full Descending ):堆栈指针指向最终压入的数据,且由高地址 向低地址生成;空递增堆栈 EAFull Ascending :堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生成;空递减堆栈 EDEmpty Descending :堆栈指针指向下一个将要放入数据的空位 置,且由高地址向低地址生成;2 栈操作指令寻址和块拷贝Load/Store 指令之间的对应关系见表3-10;第 4 章 ARM指令集系统4. 分
14、析以下每条语句的功能,并确定程序段所实现的操作;CMP R0 ,#0 MOVEQ R1 , #0 MOVGT R1 , #1 答:分析:当 R0 等于 0 时, MOVEQ 执行,就 R1 等于 0;当 R0 等于正数时, MOVGT 执行,就 R1 等于 1;R0 中的值为正数仍是 0;此功能码段可以判别5. 请使用多种方法实现将字数据 0xFFFFFFFF 送入寄存器 R0;答:例如, MVN R0 ,#0 或者:MOV R0 ,#0 SUB R0 ,R0,#1 仍可以用其它运算指令来实现,读者自行写出;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - -
15、 第 4 页,共 10 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -9. 写出以下 ARM 指令所实现操作:LDR R2 , R3, -4 !LDR R0 , R0 ,R2 LDR R1 , R3,R2,LSL 2!;LDRSB R0 ,R2 ,#-2 !STRB R1 ,R2 ,#0xA0 ,R1 ,R2, R8 LDMIA R0 STMDB R0 !, R1-R5 ,R10,R11 解答:LDR R2,R3,#-4. 将储备器地址为R3-4 的字数据读入 R2 ,并将地址 R3-4 写入 R3 LDR R0,
16、R0,R2 将储备器地址为R0 的字数据读入 R0 ,并将地址 R0+R2 写入 R0 LDR R1,R3,R2,LSL#2. 将储备器地址为R3+R2*4 的字数据读入 R1 ,并将地址 R3+R2*4 写入 R3 LDRSB R0,R2,#-2. 将储备器地址为 R2-2 的字节数据读入 R0 的低 8 位,将 R0 的高 24 位用符号 位扩展,并将地址 R2-2 写入 R2 STRB R1,R2,#0xA0 将R0 的低 8 位存入储备器地址为R2+0xA0 字节中LDMIA R0,R1,R2,R8 将内存单元 R0 所指向的地址单元以字为单位递减方式读取到 低地址编号的字数据内存单元
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 ARM 复习 课后 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内