您好,欢迎访问三七文档
嵌入式计算机系统朱松盛生物医学工程第2章ARM7体系结构21.ARM简介2.ARM7TDMI3.ARM的模块、内核和功能框图4.ARM处理器状态5.ARM处理器模式第2章ARM7体系结构6.ARM内部寄存器7.当前程序状态寄存器8.ARM体系的异常、中断及其向量表9.ARM体系的存储系统31.ARM简介2.ARM7TDMI3.ARM的模块、内核和功能框图4.ARM处理器状态5.ARM处理器模式第2章ARM7体系结构6.ARM内部寄存器7.当前程序状态寄存器8.ARM体系的异常、中断及其向量表9.ARM体系的存储系统4ARM公司简介ARM是AdvancedRISCMachines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。2.1ARM简介52.1ARM简介ARM公司简介将技术授权给其它芯片厂商形成各具特色的ARM芯片62.1ARM简介RISC结构特性RISC是精简指令集计算机的缩写,其目标是设计出在高时钟频率下单周期执行,简单而有效的指令集。ARM内核采用RISC体系结构,因此具有RISC的结构特点:具有大量的通用寄存器;独特的装载/保存(load-store)结构;简单的寻址模式;统一和固定长度的指令格式。72.1ARM简介为了使ARM能够更好地满足嵌入式应用的需要,ARM体系结构还有以下特点:每条数据处理指令可同时包含算术逻辑单元(ALU)的运算和移位处理,实现ALU和移位器的最大利用;使用地址自增和自减的寻址方式优化程序循环;装载/保存指令对数据的批量传输,实现最大数据吞吐量;大多数指令的条件执行,实现最快速的代码执行。ARM体系结构82.1ARM简介各ARM体系结构版本ARM体系结构从最初开发到现在有了巨大的改进,并仍在完善和发展。为了清楚的表达每个ARM应用实例(系列)所使用的指令集,ARM公司定义了多种主要的ARM指令集体系结构版本,以版本号V1~V7表示。其中V1~V3几乎没有进入商业用途。92.1ARM简介常用ARM处理器系列ARM公司开发了很多系列的ARM处理器核,目前最新的系列是Cortex,而ARM6核以及更早的系列(V1~V4)已经很罕见了。当前应用比较多的ARM处理器核系列有:ARM7ARM9ARM10EXscaleARM11CortexARM9E102.1ARM简介ARM7系列简介该系列包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle的ARM7EJ-S,使用V4架构。该系列处理器提供Thumb16位压缩指令集和EmbededICE软件调试方式,适用于更大规模的SoC设计中。ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。112.1ARM简介该系列包括ARM9TDMI、ARM920T和带有高速缓存处理器宏单元的ARM940T。除了兼容ARM7系列,而且能够更加灵活的设计。ARM9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒等领域。ARM9系列简介122.1ARM简介该系列为含有DSP指令集的综合处理器,包括ARM926EJ-S、带有高速缓存处理器宏单元的ARM966E-S/ARM946E-S。其内核在ARM7处理器内核的基础上使用了Jazelle增强技术,该技术支持一种新的Java操作状态,允许在硬件中执行Java字节码。ARM9E系列主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。ARM9E系列简介132.1ARM简介ARM10E系列简介该系列包括ARM1020E和ARM1020E处理器核,其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。可以用于视频游戏机和高性能打印机等场合。142.1ARM简介Xscale简介IntelXscale微控制器则提供全性能、高性价比、低功耗的解决方案,支持16位Thumb指令并集成数字信号处理(DSP)指令。主要应用于手提式通讯和消费电子类设备。152.1ARM简介ARMCortex系列简介基于ARMv7版本的ARMCortex系列产品由A、R、M三个系列组成,具体分类延续了一直以来ARM面向具体应用设计CPU的思路。ARMCortexA应用处理器(ApplicationProcessor)系列R实时控制处理(RealTimeControl)系列M微控制器(MicroController)系列162.1ARM简介CortexTM-M3处理器简介该处理器是首款基于ARMv7-M架构的处理器,采用了纯Thumb2指令的执行方式,具有极高的运算能力和中断相应能力。Cortex-M3主要应用于汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域。目前最便宜的基于该内核的ARM单片机售价为1美元。172.1ARM简介CortexTM-R4处理器简介该处理器是首款基于ARMv7架构的高级嵌入式处理器,其主要目标为产量巨大的高级嵌入式应用系统,如硬盘,喷墨式打印机,以及汽车安全系统等等。CortexTM-R4F处理器简介该处理器在CortexTM-R4处理器的基础上加入了代码错误校正(ECC)技术,浮点运算单元(FPU)以及DMA综合配置的能力,增强了处理器在存储器保护单元、缓存、紧密耦合存储器、DMA访问以及调试方面的能力。182.1ARM简介CortexTM-A8处理器简介该处理器是ARM公司所开发的基于ARMv7架构的首款应用级处理器,其特色是运用了可增加代码密度和加强性能的技术、可支持多媒体以及信号处理能力的NEONTM技术、以及能够支持Java和其他文字代码语言的提前和即时编译的Jazelle@RTC技术。众多先进的技术使其适用于家电以及电子行业等各种高端的应用领域。191.ARM简介2.ARM7TDMI3.ARM的模块、内核和功能框图4.ARM处理器状态5.ARM处理器模式第2章ARM7体系结构6.ARM内部寄存器7.当前程序状态寄存器8.ARM体系的异常、中断及其向量表9.ARM体系的存储系统202.2ARM7TDMI简介ARM7TDMI处理器是ARM通用32位微处理器家族的成员之一。它具有优异的性能,但功耗却很低,使用门的数量也很少。它属于精简指令集计算机(RISC),比复杂指令集计算机(CISC)要简单得多。这样的简化实现了:高的指令吞吐量;出色的实时中断响应;小的、高性价比的处理器宏单元。21ARM7TDMI-S2.2ARM7TDMI简介ARM7TDMI支持32位寻址范围,是基于ARM体系结构V4版本的低端ARM核。其弥补了ARM6很难在低于5V电压下稳定工作的不足,还增加了后缀所对应的功能:支持高密度16位的Thumb指令集;支持片上调试;支持64位乘法;支持EmbededICE观察硬件;ARM7TDMI的可综合(synthesizable)版本(软核),对应用工程师来说其编程模型与ARM7TDMI一致;22ARM7TDMI-S2.2ARM7TDMI简介支持高密度16位的Thumb指令集;支持片上调试;支持64位乘法;支持EmbededICE观察硬件;ARM7TDMI的可综合(synthesizable)版本(软核),对应用工程师来说其编程模型与ARM7TDMI一致;注意:“ARM核”并非芯片,ARM核与其它部件如RAM、ROM、片内外设组合在一起才能构成现实的芯片。232.2ARM7TDMI三级流水线ARM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供0.9MIPS/MHz的指令执行速度。ARM7TDMI的流水线分3级,分别为:取指译码执行取指译码执行处理指令并将结果写回寄存器识别将要被执行的指令从存储器装载一条指令242.2ARM7TDMI三级流水线取指译码执行取指译码执行处理指令并将结果写回寄存器识别将要被执行的指令从存储器装载一条指令正常操作过程中,在执行一条指令的同时对下一条(第二条)指令进行译码,并将第三条指令从存储器中取出。在ARM状态下,流水线上各指令的地址为:PCPC-4PC-8程序计数器,即当前的取指地址252.2ARM7TDMI三级流水线取指译码执行取指译码执行处理指令并将结果写回寄存器识别将要被执行的指令从存储器装载一条指令正常操作过程中,在执行一条指令的同时对下一条(第二条)指令进行译码,并将第三条指令从存储器中取出。在Thumb状态下,流水线上各指令的地址为:PCPC-2PC-4262.2ARM7TDMI三级流水线结构的指令执行顺序PC指令1指令2指令3指令4…………程序存储器周期1周期2周期3周期4周期5周期6取指译码执行取指译码执行取指译码执行取指译码执行周期1在第1个周期,PC指向指令1,此时指令1进入三级流水线的取指阶段。1处理器执行一条指令的三个阶段272.2ARM7TDMI三级流水线结构的指令执行顺序PC指令1指令2指令3指令4…………程序存储器周期1周期2周期3周期4周期5周期6取指译码执行取指译码执行取指译码执行取指译码执行周期2在第2个周期,PC指向指令2,此时指令1进入三级流水线的译码阶段,同时取出指令2。2282.2ARM7TDMI三级流水线结构的指令执行顺序PC指令1指令2指令3指令4…………程序存储器PC-4PC-8PC+4周期1周期2周期3周期4周期5周期6取指译码执行取指译码执行取指译码执行取指译码执行周期3在第3个周期,PC指向指令3,此时指令1进入三级流水线的执行阶段,指令2进入译码阶段,取出指令3。3292.2ARM7TDMI三级流水线结构的指令执行顺序PC指令1指令2指令3指令4…………程序存储器周期1周期2周期3周期4周期5周期6取指译码执行取指译码执行取指译码执行取指译码执行周期4在第4个周期,指令1执行完成,指令2和指令3流水线推进一级,同时开始指令4的取指处理。4302.2ARM7TDMI存储器访问ARM7TDMI处理器使用了冯·诺依曼(VonNeumann)结构,指令和数据共用一条32位总线。只有装载、存储和交换指令可以对存储器中的数据进行访问。数据可以是字节(8位)、半字(16位)或者字(32位)。312.2ARM7TDMI存储器访问计算机结构说明:“冯·诺依曼”结构:把代码作为一种特殊的数据来操作,指令总线和数据总线及其存储区域是统一的;“哈佛”结构:指令总线和数据总线及其存储区是分开、独立的。322.2ARM7TDMI存储器访问ARM7TDMI处理器的存储器接口可以使潜在的性能得以实现,这样减少了存储器的使用。对速度有严格要求的控制信号使用流水线,这样使系统控制功能以标准的低功耗逻辑实现。ARM7TDMI处理器的存储器周期有4个基本类型:内部周期;非连续的周期;连续的周期;协处理器寄存器的传输周期。33执行ADDPC,PC,#4指令后,PC的值为多少?2.2ARM7TDMI思考题ADDPC,PC,#4………………0x40000x40040x40080x400C地址指令342.2ARM7TDMI思考题ADDPC,PC,#4………………0x40000x40040x40080x400C地址指令取指译码执行PCPC-4PC-8ARM7的3级流水线程序计数器(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或“正在译码”的指令。352.2ARM7TDMI思考题ADDPC,PC,#4………………0x40000x40040x40080x400C地址指令取指译码执行PCPC-4PC-8ARM7的3级流水线一般来说,人们习惯性约定将“正在执行”的指令
本文标题:ARM7体系结构
链接地址:https://www.777doc.com/doc-7801214 .html