嵌入式系统设计与开发 马文华 主编 邓耀华 汤秀春 胡伟 副主编 2ARM及其编程模型新.ppt

嵌入式系统设计与开发 马文华 主编 邓耀华 汤秀春 胡伟 副主编 2ARM及其编程模型新.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 2 章 ARM及其编程模型 第一节 ARM 简介 第二节 RISC 体系结构 第三节 ARM 体系结构 第四节 ARM 处理器的编程模型 第五节 ARM 的异常中断 第六节 ARM7TDMI 处理器内核简介 第一节 ARM 简介 ARM —— (Advanced RISC Machines) ARM——32位RISC结构IP核提供商 第二节 RISC 体系结构 CISC (complex instruction set computer)即复杂指令集, 在20世纪90年代前被广泛的使用,其特点是通过存放在只读存 储器中的微码(microcode)来控制整个处理器的运行。 传统的CISC结构有其固有的缺点,即随着计算机技术的 发展而不断引入新的复杂的指令集,为支持这些新增的指令, 计算机的体系结构会越来越复杂,然而,在CISC指令集的各种 指令中,其使用频率却相差悬殊,大约有20%的指令会被反复 使用,占整个程序代码的80%。而余下的80%的指令却不经常 使用,在程序设计中只占20%,显然,这种结构是不太合理 的。 RISC和CISC在构架上有着几个不同的地方: 1)首先是指令集的设计上,RISC构架的指令 格式和长度通常是固定的(如ARM是32位的指令)、 且指令和寻址方式少而简单、大多数指令在一个周期 内就可以执行完毕:CISC构架下的指令通常是可变 的、指令类型也很多、一条指令通常要若干周期 才可 以执行完毕。由于指令集多少与复杂度上的差异,是 RISC的处理器可以利用简单的硬件电路 设计出指令解码功能,这样易于流水线的实现。相对 的CISC则需要通过只读存储器里的微码来进行解码, CISC因为指令功能与指令参数变化较大,执行流水线 作业时有较多的限制。 2)其次,RISC在结构设计上是一个载入/存储 的够架,只有载入和存储指令可以访问存储器,数据 处理指令只对寄存器的内容进行操作。为了加速程序 的运算,RISC会设定多组的寄存器,并且指定特殊用 途的寄存器。CISC构架则允许数据处理指令对存储器 进行操作,对寄存器的要求相对不高 第三节 ARM 体系结构 2.3.1 ARM 体系结构的版本 2.3.2 ARM 体系结构的变种及版本命名格式 2.3.3 ARM 处理器系列 第三节 ARM 体系结构 2.3.1 ARM 体系结构的版本 1.版本1(v1) 该版本包括: 基本数据处理指令(不包括乘法)。 字节、字以及半字加载/存储指令。 分支(branch)指令,包括用于子程序调用的分 支与链接(branch-and-link)。 软件中断指令,用于进行操作系统调用。 26位地址总线。 2.版本2(v2) 与版本1相比,版本2增加了下列指令: 乘法与乘加指令(multiply multiply-accumulate) 支持协处理器。 原子性(atomic)加载/存储指令SWP和SWPB(稍后的版本称v2a)。 FIQ中的两个以上的分组寄存器。 3.版本3(V3) 版本3较以前的版本发生了大的变化,具体改进下: 推出32位寻址能力。 分开的CPSR(current program status register,当前程序状态寄存器)和SPSR(saved program status register,备份的程序状态寄存器),当异常发生时,SPSR用于保存CPSR的当前值,从异常退出时则可以由SPSR来恢复CPSR。 增加了两种异常模式,使操作系统代码可方便地使用数据访问中止异常、指令预取中止异常和未定义指令异常。 增加了MRS指令和MSR指令,用于完成对CPSR和SPSR寄存器的读/写;修改了原来的从异常中返回的指令 4.版本4(v4) 版本4在版本3的基础上增加了如下内容: 有符号、无符号的半字和有符号字节的load和store指令。 增加了T变种,处理器可工作于Thumb状态,在该状态下,指令集是16位压缩指令集(Thumb指令集)。 增加了处理器的特权模式。在该模式下,使用的是用户模式下的寄存器。 另外,在版本4中还清楚地指明了哪些指令会引起未定义指令异常。版本4不再强制要求与以前的26位地址空间兼容。 5.版本5(V5) 与版本4相比,版本5增加或修改了下列指令: 提高了T变种中ARM/Thumb指令混合使用的效率。 增加了前导零计数(CLZ)指令。 增加了BKPT(软件断点)指令。 为支持协处理器设计提供了更多的可选择的指令。 更加严格地定义了乘法指令对条件标志位的影响。 6.版本6(v6) A

文档评论(0)

时间加速器 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档