《arm体系结构与编程》.docVIP

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

第一章 ARM概述及其基本编程模型 ARM芯片具有RISC体系的一般特点,如: 具有大量的寄存器 绝大多数操作都在寄存器中进行,通过Load/Store的体系在内存和寄存器之间进行数据传递 寻址方式简单 采用固定长度的指令格式 除此之外,ARM体系采用了一些特殊的技术,在保证高性能的同时尽量减少芯片体积,减低芯片的功耗,这些技术包括: 在同一条数据处理指令中包含算术逻辑处理单元和移位处理 使用地址自动增加(减少);来优化程序中循环处理 Load/Store指令可以批量传输数据,从而提高数据传输的效率 所有指令都可以根据前面指令执行的结果,决定是否执行,以提高指令执行的效率 1.2 ARM体系结构的版本及命名方法 迄今为止,ARM体系结构共定义了6个版本,版本号分别为1~6.从版本1到版本6,ARM体系的指令功能不断扩大,同时,各版本中还有一些变种,这些变种定义了该版本指令集中不同的功能。ARM处理器系类中的各种处理器,其采用的实现技术各不相同,性能差别很大,应用场合也有所不同,但是只要它们支持相同的ARM体现版本,基于它们的应用软件将是兼容的。 1.2.1 ARM体系结构的版本 版本1 本版本在ARM1中实现,但没有在商业产品中使用。它包括下列指令: 处理乘法指令之外的基本数据处理指令 基于字节,字,多字的读取和写入指令(Load/Store) 包括子程序调用指令BL在内的跳转指令 供操作系统使用的软件中断指令SWI 本版本中地址空间是26位,目前已经不再使用 版本2 与版本1相比,版本2增加了下列指令: 乘法指令和乘加法指令 支持协处理器的指令 对于FIQ模式,提供了额外的两个备份寄存器 SWP指令及SWPB指令 本版本中地址空间是26位,目前已经不再使用 版本3 版本3较以前的版本发生了比较大的变化。主要改进部分如下: 处理器的地址空间扩展到了32位,但除了版本3G外的其他版本是向前兼容的,支持26位的地址空间。 当前程序状态信息从原来的R15寄存器移到一个新的寄存器中,新的寄存器名字为CPSR(Current Program Status Register,当前状态寄存器) 增加了SPSR(Saved Program Status Register,备份的程序状态寄存器),用于在程序异常中断程序时,保存被中断的程序的程序状态 增加了两种处理器模式,使操作系统代码可以方便地使用数据访问中止异常,指令预取中止异常和未定义指令异常 增加了指令MRS和指令MSR,用于访问CPSR寄存器和SPSR寄存器 修改了原来的从异常中返回的指令 版本4 与版本3相比,版本4增加了下列指令: 半字的读取和写入指令 读取(Load)带符号的字节和半字数据的指令 增加了T变种,可以使处理器状态切换到Thumb状态,在该状态下指令集是16位的Thumb指令集 增加了处理器的特权模式。在该模式下,使用的是用户模式下的寄存器。 另外,在版本4中明确定义了哪些指令会引起未定义指令异常。版本4不再强调要求与以前的26位地址空间兼容。 版本5 与版本4相比,版本5增加或者修改了下列指令: 提高了T变种中ARM/Thumb混合使用的效率 对于T变种的指令和非T变种的指令使用相同的代码生成技术 同时,版本5还具有以下的特点 增加了前导零指令,该指令可以使整数除法和中断优先级排队操作更为有效 增加了软件断点指令 为协处理器设计提供更多的可选择的指令 更加严格的定义了乘法指令对条件标志位的影响 版本6 ARM体系版本6是2001年发布的。其主要特点是增加了SIMD功能扩展。它适合使用电池供电的高性能便携式设备。这些设备一方面需要处理器提供高性能,另一方面又需要功耗很低。SIMD功能扩展为包括音频/视频处理在内的应用系统提供了优化功能。它可以使音频/视频处理性能提高4倍。 ARM体系版本6首先在2002年春季发布的ARM11处理器中使用 1.2.2 ARM体系的变种 这里将某种特定功能称为ARM体系的某种变种,例如支持Thumb指令集称为T变种。目前ARM定义了一些变种。 1、Thumb指令集(T变种) Thumb指令集是将ARM指令集的一个子集重新编码 而形成的一个指令集。ARM指令长度为32位,Thumb指令长度为16位。这样,使用Thumb指令集得到密度更高的代码,这对于需要严格控制成本的设计是非常有意义的。 与ARM指令集相比,Thumb指令集具有以下局限: 完成相同的操作,Thumb指令通常需要更多的指令。因此,在对系统运行时间要求苛刻的应用场合,ARM指令集更为合适。 Thumb指令集没有包含进行异常处理时需要的一些指令,因此在异常中断的低级处理时,his需要使用ARM指令。这种限制决定了Thumb指令需要和ARM指令配合使用。对于支持Thum

文档评论(0)

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

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

1亿VIP精品文档

相关文档