ARM7体系结构ppt课件

上传人:资****亨 文档编号:145746099 上传时间:2020-09-23 格式:PPT 页数:78 大小:1.30MB
返回 下载 相关 举报
ARM7体系结构ppt课件_第1页
第1页 / 共78页
ARM7体系结构ppt课件_第2页
第2页 / 共78页
ARM7体系结构ppt课件_第3页
第3页 / 共78页
ARM7体系结构ppt课件_第4页
第4页 / 共78页
ARM7体系结构ppt课件_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《ARM7体系结构ppt课件》由会员分享,可在线阅读,更多相关《ARM7体系结构ppt课件(78页珍藏版)》请在金锄头文库上搜索。

1、.,ARM体系结构,.,.,1.简介 2.ARM7TDMI 3.体系结构直接支持的数据类型 4.处理器状态 5.处理器模式 6.内部寄存器 7. 程序状态寄存器,8.异常 9.复位 10.存储器及存储器映射I/O,目录,.,ARM简介,ARMAdvanced RISC Machines ARM32位RISC结构IP核提供商,.,ARM Ltd,成立于1990年11月 前身为 Acorn计算机公司 Advance RISC Machine(ARM) 主要设计ARM系列RISC处理器内核 授权ARM内核给生产和销售半导体的合作伙伴 ARM 公司不生产芯片 IP(Intelligence Prope

2、rty) 另外也提供基于ARM架构的开发设计技术 软件工具, 评估板, 调试工具,应用软件, 总线架构, 外围设备单元,等等,.,ARM简介,ARM公司简介,将技术授权给其它芯片厂商,形成各具特色的ARM芯片,.,ARM,Partner,OEM Customer,ARM的业务模型,.,ARM处理器的使用量,.,ARM处理器的应用,当前主要应用于消费类电子领域; 到目前为止,基于ARM技术的微处理器应用约占据了32位嵌入式微处理器75以上的市场份额 全球80%的GSM/3G手机、99%的CDMA手机以及绝大多数PDA产品均采用ARM体系的嵌入式处理器, “掌上计算”相关的所有领域皆为其所主宰。

3、ARM技术正在逐步渗入到我们生活的各个方面。,.,ARM 体系结构,ARM微处理器自诞生,体系结构发展并定义了7种不同版本。V1V7,指令功能不断扩大。,ARM11,V7 Cortex,ARM,.,ARM简介,ARM处理器核简介,ARM6核以及更早的系列已经很罕见。目前应用比较广泛的系列是:,ARM7,ARM9,ARM9E,ARM10,SecurCore,Xscale,ARM11,Cortex,.,ADD,SUB,ADD,CMP,SUB,ADD,取指,译码,执行,时间,周期1,周期2,周期3,流水线技术,流水线(Pipeline)技术:几个指令可以并行执行 提高了CPU的运行效率,.,ARM简

4、介,.,ARM简介,.,冯诺依曼体系结构模型,(ARM7TDMI),.,哈佛体系结构,.,目录,1.简介 2.ARM7TDMI 3.体系结构直接支持的数据类型 4.处理器状态 5.处理器模式 6.内部寄存器 7. 程序状态寄存器,8.异常 9.复位 10.存储器及存储器映射I/O,.,ARM7TDMI,简介,ARM7TDMI基于ARM体系结构V4版本,是目前低端的ARM核。具有广泛的应用,其最显著的应用为数字移动电话。,ARM7TDMI支持32位寻址范围,并弥补了ARM6不能在低于5V电源电压下工作的不足。,.,ARM7TDMI,简介,ARM7TDMI的后缀意义为:,.,ARM体系结构的命名规

5、则,ARMXyzTDMIEJF-S x系列 y存储管理/保护单元 zCache TThumb16位译码器 DJTAG调试器 M快速乘法器 I嵌入式跟踪宏单元 E增强DSP指令 JJava加速功能 F向量浮点单元 S可综合版本,以源代码形式提供的ARM核,.,ARM7TDMI,三级流水线,ARM7TDMI处理器使用流水线来增加处理器指令流的速度。这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供0.9MIPS/MHz的指令执行速度。 ARM7TDMI的流水线分3级,分别为: 取指译码执行,.,ARM7TDMI,存储器访问,ARM7TDMI处理器使用了冯诺依曼(Von Neumann)

6、结构,指令和数据共用一条32位总线。只有装载、存储和交换指令可以对存储器中的数据进行访问。 数据可以是字节( 8位)、半字( 16位)或者字(32位)。,.,目录,1.简介 2.ARM7TDMI 3.体系结构直接支持的数据类型 4.处理器状态 5.处理器模式 6.内部寄存器 7. 程序状态寄存器,8.异常 9.复位 10.存储器及存储器映射I/O,.,体系结构直接支持的数据类型,ARM处理器支持下列数据类型: 字节 8位 半字 16位(必须分配为占用两个字节) 字 32位(必须分配为占用4个字节),.,注意: V4版本之后的ARM结构都支持这3种结构(包括V4版本),而以前的版本只支持字节和字

7、;,体系结构直接支持的数据类型,当数据类型定义为无符号型时,N位数据值使用正常的二进制格式表示范围为02N-1的非负整数; 当数据类型定义为有符号型时,N位数据值使用2的补码格式表示范围为-2N-1+2N-1-1的整数;,.,注意: 所有数据操作,例如ADD,都以字为单位; ARM指令的长度刚好是1个字(分配为占用4个字节),Thumb指令的长度刚好是半字(占用2个字节)。,体系结构直接支持的数据类型,.,目录,1.简介 2.ARM7TDMI 3.体系结构直接支持的数据类型 4.处理器状态 5.处理器模式 6.内部寄存器 7. 程序状态寄存器,8.异常 9.复位 10.存储器及存储器映射I/O

8、,.,处理器状态,ARM状态:32位,这种状态下执行的是字方式的ARM指令; Thumb状态:16位,这种状态下执行半字方式的ARM指令。,注意:两个状态之间的切换并不影响处理器模式或寄存器内容。,.,处理器状态,使用BX指令将ARM7TDMI内核的操作状态在ARM状态和Thumb状态之间进行切换,程序如下所示。,;从Arm状态切换到Thumb状态 LDR R0,=Lable+1 BX R0 ;从Thumb状态切换到ARM状态 LDR R0,=Lable BX R0,地址最低位为1,表示切换到Thumb状态,地址最低位为0,表示切换到ARM状态,跳转地址标号,.,目录,1.简介 2.ARM7T

9、DMI 3体系结构直接支持的数据类型 4.处理器状态 5.处理器模式 6.内部寄存器 7. 程序状态寄存器,8.异常 9.复位 10.存储器及存储器映射I/O,.,处理器模式,处理器7种模式,.,处理器模式,特权模式,特权模式,.,处理器模式,异常模式,异常模式,.,处理器模式,用户和系统模式,这两种模式都不能由异常进入,而且它们使用完全相同的寄存器组。,.,目录,1.简介 2.ARM7TDMI 3.体系结构直接支持的数据类型 4.处理器状态 5.处理器模式 6.内部寄存器 7. 程序状态寄存器,8.异常 9.复位 10.存储器及存储器映射I/O,.,内部寄存器,在ARM7TDMI处理器内部有

10、37个用户可见的寄存器。 在不同的工作模式和处理器状态下,程序员可以访问的寄存器也不尽相同。,.,ARM状态各模式下的寄存器,.,ARM状态各模式下的寄存器,所有的37个寄存器,分成两大类: 31个通用32位寄存器; 6个状态寄存器。,.,ARM状态各模式下可以访问的寄存器,.,一般的通用寄存器,其中R0R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。,.,一般的通用寄存器,寄存器R8R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,.,一般的通用寄存器,寄存器R8R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式

11、,另一个用于FIQ模式。这样在发生FIQ中断后,可以加速FIQ的处理速度。,.,一般的通用寄存器,寄存器R13、R14分别有6个分组的物理寄存器。一个用于用户和系统模式,其余5个分别用于5种异常模式。,.,堆栈指针寄存器R13(SP),寄存器R13常作为堆栈指针(SP)。,.,链接寄存器R14(LR),R14为链接寄存器(LR),在结构上有两个特殊功能: 在每种模式下,模式自身的R14版本用于保存子程序返回地址; 当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)。,.,内部寄存器,R14(LR)寄存器与子程序调用,MOV PC,LR,R14(地址A),

12、1.程序A执行过程中调用程序B;,操作流程,2.程序跳转至标号Lable,执行程序B。同时硬件将“BL Lable”指令的下一条指令所在地址存入R14(LR);,3.程序B执行最后,将R14寄存器的内容放入PC,返回程序A;,.,内部寄存器,R14寄存器与异常发生,异常发生时,程序要跳转至异常服务程序,对返回地址的处理与子程序调用类似,都是由硬件完成的。区别在于有些异常有一个小常量的偏移。,.,内部寄存器,R14寄存器注意要点,当发生异常嵌套时,这些异常之间可能会发生冲突。 例如:如果用户在用户模式下执行程序时发生了IRQ中断,用户模式寄存器不会被破坏。但是如果允许在IRQ模式下的中断处理程序

13、重新使能IRQ中断,并且发生了嵌套的IRQ中断时,外部中断处理程序保存在R14_irq中的任何值都将被嵌套中断的返回地址所覆盖。,.,内部寄存器,R14寄存器注意要点,a,return,地址A,1.执行用户模式下的程序;,2.发生IRQ中断,硬件将某个地址存入IRQ模式下的R14_irq寄存器,用户模式下的R14没有被破坏;,3. IRQ服务程序A执行完毕,将R14_irq寄存器的内容减去某个常量后存入PC,返回之前被中断的程序;,未被破坏,R14_irq,.,内部寄存器,R14寄存器注意要点,a,地址A,1.执行用户模式下的程序;,2.发生IRQ中断,硬件将某个地址存入IRQ模式下的R14_

14、irq寄存器,用户模式下的R14没有被破坏;,3. IRQ服务程序A执行完毕,将R14_irq寄存器的内容减去某个常量后存入PC,返回之前被中断的程序;,未被破坏,a,return,地址B,4. 如果在IRQ处理程序中打开IRQ中断,并且再次发生IRQ中断;,5. 硬件将返回地址保存在R14_irq寄存器中,原来保存的返回地址将被覆盖,造成错误;,R14_irq 被破坏,6. 在程序B返回到程序A,然后在返回到用户模式下被中断的程序时,发生错误,将不能正确返回;,return,return,解决办法是确保R14的对应版本在发生中断嵌套时不再保存任何有意义的值(将R14入栈),或者切换到其它处理

15、器模式下。,.,程序计数器R15(PC),寄存器R15为程序计数器(PC),它指向正在取指的地址。可以认为它是一个通用寄存器,,.,程序状态寄存器CPSR,寄存器CPSR为程序状态寄存器,在异常模式中,另外一个寄存器“程序状态保存寄存器(SPSR)”可以被访问。每种异常都有自己的SPSR,在进入异常时它保存CPSR的当前值,异常退出时可通过它恢复CPSR。,.,Thumb状态寄存器在Arm状态寄存器上的映射,低寄存器,高寄存器,.,内部寄存器,在Thumb状态中访问高寄存器,在Thumb状态中,高寄存器(R8R15)不是标准寄存器集的一部分。汇编语言程序员对它们的访问受到限制。 可以使用MOV

16、、CMP和ADD指令对高寄存器操作。,.,目录,1.简介 2.ARM7TDMI 3.ARM7TDMI的模块和内部框图 4.体系结构直接支持的数据类型 5.处理器状态 6.处理器模式 7.内部寄存器 8. 程序状态寄存器,9.异常 10.复位 11.存储器及存储器映射I/O,.,程序状态寄存器,简介,条件代码标志,保留,控制位,溢出标志 oVerflow,进位或借位扩展 Carry,零 Zero,负或小于 Negative,IRQ禁止 Interrupt,FIQ禁止 Fast,状态位 Thumb,模式位 Mode,N,Z,C,V,I,T,F,CPSR寄存器的格式,.,程序状态寄存器,条件位: N = 1-结果为负,0-结果为正或0 Z = 1-结果为0,0-结果不为0 C =1-进位,0-借位 V =1-结果溢出,0结果没溢出,Mode位(处理器模式位): 0b10000User 0b10001FIQ 0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号