第2章ARM7体系结构-20130304.ppt

上传人:本田雅阁 文档编号:2523040 上传时间:2019-04-05 格式:PPT 页数:50 大小:1.50MB
返回 下载 相关 举报
第2章ARM7体系结构-20130304.ppt_第1页
第1页 / 共50页
第2章ARM7体系结构-20130304.ppt_第2页
第2页 / 共50页
第2章ARM7体系结构-20130304.ppt_第3页
第3页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第2章ARM7体系结构-20130304.ppt》由会员分享,可在线阅读,更多相关《第2章ARM7体系结构-20130304.ppt(50页珍藏版)》请在三一文库上搜索。

1、ARM7体系结构,1.ARM简介 2.ARM7TDMI 3.ARM的模块、内核和功能框图 4.ARM处理器状态 5.ARM处理器模式,6.ARM内部寄存器 7.当前程序状态寄存器 8.ARM体系的异常9.ARM体系的存储系统,2.1ARM简介,ARM公司简介,ARM是Advanced RISC Machines 的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、能耗低的RISC(精简指令集)处理器。 公司的特点是只设计芯片,而不产生。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。,2.1ARM简介,ARM公司简介,2.1ARM简介,RISC结构特性,R

2、ISC是精简指令集计算机的缩写,其目标是设计出在高时钟频率下单周期执行,简单而有效的指令集。ARM内核采用RISC体系结构,因此具有RISC的结构特点: 1.具有大量的通用存储器; 2.独特的装载/保存(load-store)结构; 3.简单的寻址模式; 4.统一和固定长度的指令格式。,2.1ARM简介,ARM体系结构,为了使ARM能够更好地满足嵌入式应用的需要,ARM体系结构还有以下特点: 1.每条数据处理指令可同时包含算术逻辑单元(ALU)的运算和移位处理,实现ALU和移位器的最大利用; 2.使用地址自增和自减的寻址方式优化程序循环; 3.装载/保存指令对数据的批量传输,实现最大数据吞吐量

3、; 4.大多数指令的条件执行,实现最快速的代码执行。,2.1ARM简介,常用ARM处理器系列,ARM公司开发了很多系列的ARM处理器核,目前最新的系列是Cortex,而ARM6核以及更早的系列已经很罕见了。当前应用比较多的ARM处理器核系列有:,2.1ARM简介,ARMCortex系列简介,基于ARMv7版本的ARM Cortex系列产品由A、R、M三个系列组成,具体分类延续了一直以来ARM面向具体应用设计CPU的思路。,2.1ARM简介, 处理器简介,该处理器是首款基于ARMv7-M构架的处理器,采用了纯Thumb2指令的执行方式,具有极高的运算能力和中断响应能力。 Cortex-M3主要应

4、用于汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域。目前最便宜的基于该内核的ARM单片机售价为1美元。,2.1ARM简介, Cortex-R4处理器简介,该处理器是首款基于ARMv7-M构架的高级嵌入式处理器,其主要目标为产量巨大的高级嵌入式应用系统,如硬盘、喷墨式打印机,以及汽车安全系统等。, Cortex-R4F处理器简介,该处理器是在Cortex-R4处理器的基础上加入了代码错误校正(ECC)技术,浮点运算单元(FPU)以及DMA综合配置的能力,增强了处理器在存储器保护单元、缓存、紧密耦合存储器、DMA访问以及调试方面的能力。,2.1ARM简介, Cortex-A

5、8处理器简介,该处理器是ARM公司开发的基于ARMv7-M构架的首款应用级处理器,其特色是运用了可增加代码密度和加强性能的技术、可支持多媒体以及信号处理能力的NEON技术、以及能够支持Java和其他文字代码语言的提前和即时编译的JazelleRTC技术。 众多先进的技术使其适用于家电以及电子行业等各种高端的应用领域。,2.1ARM简介, ARM7系列简介,该系列包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle的ARM7EJ-S。该系列处理器提供Thumb 16位压缩指令集合EmbededICE软件调试方式,适用于更大规模的SOC设计中。

6、 ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。,2.1ARM简介, ARM9系列简介,该系列包括ARM9TDMI、ARM920T和带有高速缓存处理器宏单元的ARM940T。除了兼容ARM7系列,而且能够更加灵活的设计。 ARM9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒等领域,2.1ARM简介, ARM10系列简介,该系列为包括ARM1020E和ARM1020E处理器核,其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。 可以用于视频游戏机和高性

7、能打印机等场合。,2.1ARM简介, Xscale简介,Intel Xscale微控制器则提供全性能、高性价比、低功耗的解决方案,支持16位Thumb指令并集成数字信号处理(DSP)指令。 主要应用于手提式通讯和消费电子类设备。,ARM7体系结构,1.ARM简介 2.ARM7TDMI 3.ARM的模块、内核和功能框图 4.ARM处理器状态 5.ARM处理器模式,6.ARM内部寄存器 7.当前程序状态寄存器 8.ARM体系的异常9.ARM体系的存储系统,2.2ARM7TDMI,简介,ARM7TDMI是基于ARM体系结构v4版本的低端ARM核。弥补了ARM6很难在低于5V的电源电压下工作的不足,还

8、增加了后缀所对应的功能: 注意:ARM核并非芯片,ARM核与其他部件如RAM、ROM、片内外设组合在一起才能构成现实的芯片。,2.2ARM7TDMI,存储器的字与半字,从偶地址开始的连续2个字节构成一个半字; 以能被4整除的地址开始的连续4个字节构成一个字; ARM指令的长度刚好是一个字,Thumb指令的长度干好是一个半字。,2.2ARM7TDMI,存储器的存储方式,如果一个数据是从偶地址开始的连续存储,那么它就是半字对齐,否则就是非半字对齐; 如果一个数据是以能被4整除的地址开始的连续存储,那么它就是字对齐,否则就是非字对齐。,2.2ARM7TDMI,三级流水线,ARM处理器使用流水线来增加

9、处理器指令流的速度,这样可使几个操作同时进行,并使处理器和存储器系统之间的操作更加流畅、连续,能提供0.9MIPS/MHz的指令执行速度。 ARM7TDMI的流水线分为3级,分别为:,正常操作过程中,在执行一条指令的同时对下一条(第二条)指令进行译码,并将第三条指令从存储器中取出。,在ARM状态下,流水线上个指令的地址为: PC PC-4 PC-8,在Thumb状态下,流水线上个指令的地址为: PC PC-2 PC-4,2.2ARM7TDMI,三级流水线结构的指令执行顺序,1.在第一个周期,PC指向指令1,此时指令1进入三级流水线的取指阶段。 2.在第二个周期,PC指向指令2,此时指令1进入三

10、级流水线的译码阶段,同时取出指令2。,3.在第3个周期,PC指向指令3,此时指令1进入三级流水线的执行阶段,指令2进入译码阶段,取出指令3。 4.在第4个周期,指令1执行完成,指令2和指令3流水线推进一级,同时开始指令4的取指处理。,2.2ARM7TDMI,思考题,执行ADDPC,PC,#4指令后,PC的值为多少?,程序计数器R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或“正在译码”的指令。,一般来说,人们习惯性约定将“正在执行”的指令作为参考点,则 PC值= 当前程序执行位置 + 8 注: ARM状态时,每条指令为4字节长,PC指向0x4000地址,取指ADD指令。

11、,PC指向0x4004地址,译码ADD指令。,PC指向0x4008地址,执行ADD指令,所以指令执行的结果为: PC = PC+4 = 0x4008+4 = 0x400C,ARM7体系结构,1.ARM简介 2.ARM7TDMI 3.ARM的模块、内核和功能框图 4.ARM处理器状态 5.ARM处理器模式,6.ARM内部寄存器 7.当前程序状态寄存器 8.ARM体系的异常9.ARM体系的存储系统,2.3 ARM模块框图,2.3 ARM 功能框图,ARM7体系结构,1.ARM简介 2.ARM7TDMI 3.ARM的模块、内核和功能框图 4.ARM处理器状态 5.ARM处理器模式,6.ARM内部寄存

12、器 7.当前程序状态寄存器 8.ARM体系的异常、中断及其向量表 9.ARM体系的存储系统,2.4ARM处理器状态,存储器状态,ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令,并且各自对应1种处理器的状态: 1.ARM状态:32位,处理器执行字方式的ARM指令,处理器默认为此状态; 2.Thumb状态: 16位,处理器执行半字方式的Thumb指令。,注意: 两个状态之间的切换并不影响处理器模式或寄存器内容。,2.4ARM处理器状态,状态切换的一个例子,使用BX指令将ARM内核的操作状态在ARM状态和Thumb状态之间进行切换。,从ARM状态切换到Thumb状态下

13、的程序代码如下:,从Thumb状态切换到ARM状态下的程序代码如下:,ARM7体系结构,1.ARM简介 2.ARM7TDMI 3.ARM的模块、内核和功能框图 4.ARM处理器状态 5.ARM处理器模式,6.ARM内部寄存器 7.当前程序状态寄存器 8.ARM体系的异常9.ARM体系的存储系统,2.5 ARM处理器模式,简介,ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。这样的好处是可以更好的支持操作系统并提高工作效率。ARM7TDMI完全支持这七种模式。,处理器模式,除用户模式外,其它模式均为特权模式。ARM内部寄存器和一

14、些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。,ARM7体系结构,1.ARM简介 2.ARM7TDMI 3.ARM的模块、内核和功能框图 4.ARM处理器状态 5.ARM处理器模式,6.ARM内部寄存器 7.当前程序状态寄存器 8.ARM体系的异常9.ARM体系的存储系统,2.6 ARM内部寄存器,简介,在ARM处理器内部共有37个用户可访问的寄存器,分别为31个通用32位寄存器和6个状态寄存器。,2.6 ARM内部寄存器,在Thumb状态各模式下实际访问的寄存器,Thumb状态寄存器集是ARM状态集的

15、子集,其包括: 1. 8个通用寄存器R0R7; 2. 程序计数器(PC); 3. 堆栈指针(SP); 4. 链接寄存器(LR); 5. 当前程序状态寄存器(CPSR)。,Thumb寄存器在ARM状态寄存器上的映射,低端寄存器,高端寄存器,1. Thumb状态R0R7与ARM状态R0R7相同;,2. Thumb状态SP映射到ARM状态R13;,3. Thumb状态LR映射到ARM状态R14;,4. Thumb状态PC映射到ARM状态R15(PC);,5. Thumb状态CPSR(无SPSR)与ARM状态CPSR相同;,在Thumb状态中,高端寄存器的访问是受到限制的,只有MOV,CMP和ADD指

16、令可以对其访问,可以用于数据的快速暂存。,状态切换过程,程序在正常的运行过程中,复位事件产生,导致相同复位。,1. 系统复位,自动切换到ARM状态。,2. 通过BX和BLX指令改变当前处理器模式,使之ARM 状态切换到Thumb状态,3.在Thumb状态下,正常程序执行时产生中断异常。,4.处理器进入中断异常,自动的将模式切换到ARM状态,5.异常处理完毕,返回正常程序,此时处理器自动地将模式切换到Thumb状态。,6.再次通过BX和BLX指令改变当前处理器模式,使之从Thumb状态切换到ARM状态,ARM7体系结构,1.ARM简介 2.ARM7TDMI 3.ARM的模块、内核和功能框图 4.

17、ARM处理器状态 5.ARM处理器模式,6.ARM内部寄存器 7.当前程序状态寄存器 8.ARM体系的异常9.ARM体系的存储系统,2.7 当前程序状态寄存器,简介,ARM内核包含1个CPSR和5个仅供异常处理程序使用的SPSR。 CPSR反映当前处理器的状态,监视和控制所有内部操作。 SPSR程序状态保护寄存器:保护任务在异常发生之前的CPSR的当前值。,ARM7体系结构,1.ARM简介 2.ARM7TDMI 3.ARM的模块、内核和功能框图 4.ARM处理器状态 5.ARM处理器模式,6.ARM内部寄存器 7.当前程序状态寄存器 8.ARM体系的异常9.ARM体系的存储系统,2.8 ARM

18、体系的异常,异常简介,只要正常的程序流被暂时中止,处理器就进入异常模式。例如在用户模式下执行程序时,当外设向处理器内核发出中断请求导致内核从用户模式切换到异常中断模式。 如果同时发生两个或更多异常,那么将按照固定的顺序来处理异常。,2.8 ARM体系的异常,异常的进入,程序代码正常运行在用户模式下。,当一个异常导致模式切换时,内核自动的做如下处理:,将异常处理程序的返回地址(加固定的偏移量)保存到相应异常模式下的LR;,将CPSR的当前值保存到相应异常模式下的SPSR;,设置CPSR为相应的异常模式;,设置PC为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行;,2.8 A

19、RM体系的异常,异常的进入,当一个异常导致模式切换时,内核自动的做如下处理:,将异常处理程序的返回地址(加固定的偏移量)保存到相应异常模式下的LR; 将CPSR的当前值保存到相应异常模式下的SPSR; 设置CPSR为相应的异常模式; 设置PC为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行;,2.8 ARM体系的异常,异常的退出,当异常处理程序结束时,异常处理程序必须:,返回到发生异常中断的指令下一条指令处执行,即就是说将LR中的值减去偏移量后移入PC;,将SPSR的值复制回CPSR;,2.8 ARM体系的异常,异常的退出,当异常处理程序结束时,异常处理程序必须:,返回到

20、发生异常中断的指令的下一条指令处执行,即就是说将LR中的值减去偏移量后移入PC; 将SPSR的值复制回CPSR; 清零在入口处置位的中断禁止标志。,ARM7体系结构,1.ARM简介 2.ARM7TDMI 3.ARM的模块、内核和功能框图 4.ARM处理器状态 5.ARM处理器模式,6.ARM内部寄存器 7.当前程序状态寄存器 8.ARM体系的异常9.ARM体系的存储系统,2.9 ARM体系的存储系统,简介,ARM处理器采用冯诺依曼(Von Neumann)结构,指令、数据和I/O统一编址(即存在同一个空间)。只有装载、保存和交换指令可访问存储器中的数据。,ARM芯片一般在处理器核和外部存储器之

21、间有一个存储器管理部件将局部总线的信号和时序转换为现实的外部总线信号和时序。,2.9 ARM体系的存储系统,地址空间,ARM结构使用单个平面的232 个8位字节地址空间。地址空间可以看作是包含230 个32位字,或231 个16位半字。如果地址向上或向下溢出地址空间,通常会发生翻转。 注意:如果在取指操作时地址发生溢出,只要没有执行预取的无效指令,就不会导致异常。,2.9 ARM体系的存储系统,存储器格式,地址空间的规则要求地址A: 1. 位于地址A的字包含的字节位于地址A,A+1,A+2和A+3; 2. 位于地址A的半字包含的字节位于地址A和A+1; 3. 位于地址A+2的半字包含的字节位于

22、地址A+2和A+3; 4. 位于地址A的字包含的半字位于地址A和A+2;,2.9 ARM体系的存储系统,存储器格式,存储器系统有两种映射机制: 1. 小端存储器系统: 在小端格式中,数据的高字节存放在高地址中。 2. 大端存储器系统: 在大端格式中,数据的高字节存放在低地址中。,1. 小端存储模式下,0x12345678在A地址开始的一个字空间的存储,1. 大端存储模式下,0x12345678在A地址开始的一个字空间的存储,2.9 ARM体系的存储系统,非对齐的存储器访问,ARM结构通常希望所有的存储器访问都合理的对齐,具体来说就是字访问的地址通常是字对齐的,而半字访问使用的地址是半字对齐的。不按这种方式对齐的存储器访问称为非对齐的存储器访问。 1. 将一个非字(半字)对齐的地址写入ARM(Thumb)状态的R15寄存器,将引起非对齐的指令取指。 2. 在一个非字(半字)对齐的地址读写一个字(半字),将引起非对齐的数据访问。,作业:一篇1000字左右的小论文,谈谈自己对嵌入式系统特别是ARM的认识。 下次上课开始时10分钟抽点两名同学讲一讲。,课程成绩:20%平时成绩+80%考试成绩(闭卷),邮箱:,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1