网站大量收购独家精品文档,联系QQ:2885784924

ARM复习题答案.docVIP

ARM复习题答案.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM复习题答案

二、全书练习题答案 第1章: 答案-填空题 1.T、D、M、I 2.存储空间管理单元(MMU)和8K Cache片内缓存(提高CPU性能) 3.QFP、TQFP、PQFP、LQFP、BGA、LBGA 4.37、32、31、6 5.大端格式和小端格式 6.片内的MMU、指令和数据缓存(IDC)、写缓冲(Write Buffer) 答案-问答题 1.ARM内核有四个功能模块T、D、M、I,可供生产厂商根据不同用户的要求来配置生产ARM芯片。 其中T功能模块表示16位Thumb,可以在兼顾性能的同时减少代码尺寸。M功能模块表示8位乘法器。D功能模块表示Debug,该内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而可方便地进行断点设置、单步调试。 I功能模块表示EmbeddedICE Logic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。 2.一个ARM720T内核基本由以下四部分组成。 (1)ARM7TDMI CPU核。该CPU核支持Thumb指令集、核调试、增强的乘法器、JTAG及嵌入式ICE。它的时钟速率可编程为18MHz、36MHz、49MHz、74MHz。 (2)内存管理单元(MMU)与ARM710核兼容,并增加了对Windows CE的支持。该内存管理单元提供了地址转换和一个有64个项的转换旁路缓冲器。 (3)8KB单一指令和数据高速缓冲存储器,以及一个四路相联高速缓冲存储器控制器。 (4)写缓冲器Write Buffer。 3.通用寄存器包括R0~R15,可以分为三类: (1)未分组寄存器R0~R7; (2)分组寄存器R8~R14; (3)程序计数器PC(R15)。 4.Thumb状态下的寄存器与ARM状态下的寄存器有如下关系: (1)Thumb状态下和ARM状态下的R0~R7是相同的。 (2)Thumb状态下和ARM状态下的CPSR和所有的SPSR是相同的。 (3)Thumb状态下的SP对应于ARM状态下的R13。 (4)Thumb状态下的LR对应于ARM状态下的R14。 (5)Thumb状态下的程序计数器对应于ARM状态下的R15。 5.当一个异常出现以后,ARM微处理器会执行以下几步操作。 (1)将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。若异常是从ARM状态进入,则LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,这样,异常处理程序就不需要确定异常是从何种状态进入的。例如:在软件中断异常SWI,指令 MOV PC,R14_svc总是返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行。 (2)将CPSR复制到相应的SPSR中。 (3)根据异常类型,强制设置CPSR的运行模式位。 (4)强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。 第2章: 答案-填空题 1.ARM指令集、Thumb指令集 2.寄存器寻址、立即寻址、寄存器偏移寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、块拷贝寻址、相对寻址 3.跳转指令、数据处理指令、程序状态寄存器(PSR)传输指令、Load/Store指令、协处理器指令、异常中断产生指令 4.符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令、其他伪指令 5.在C/C++代码中嵌入汇编指令;从汇编程序中访问C程序变量;汇编程序、C/C++程序间的相互调用 6.filename.c 源文件、filename.h头文件、filename.o目标文件、filename.s汇编代码文件、filename.lst列表文件 答案-问答题 1.一条典型的ARM指令语法格式如下所示: opcode{cond}{S}Rd,Rn, shifter_operand 其中: opcode是指令操作符编码; cond 是指令执行的条件编码; S决定指令的操作是否影响CPSR的值; Rd是目标寄存器编码; Rn是包含第1个操作数的寄存器编码; shifter_operand 表示第2个操作数。 2.有4种类型的堆栈,表示递增和递减的满堆栈和空堆栈的各种组合。 满递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向内含有效数据项的最高地址。指令如LDMFA,STMFA等。 空递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向堆栈上的第一个空地址。指令如LDMEA,STMEA等。 满递减:堆栈通过减小存储器的地址向下增长,堆栈指针指向内含有效数据项的最低地址。指令如LDMFD,STMFD等。 空递增:堆栈通过减小存储器的地址

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档