第2章 ARM技术及体系结构.ppt
《第2章 ARM技术及体系结构.ppt》由会员分享,可在线阅读,更多相关《第2章 ARM技术及体系结构.ppt(79页珍藏版)》请在三一办公上搜索。
1、1,第2章ARM技术及体系结构,2.1嵌入式ARM处理器概况2.2ARM处理器技术2.3ARM7处理器结构2.4ARM7TDMI的工作状态及模式2.5ARM7内部寄存器2.6ARM体系的异常处理2.7ARM体系的存储方式,2,2.1嵌入式ARM处理器概况,2.1.1 ARM体系的版本说明2.1.2 ARM内核的命名2.1.3 常用ARM处理器系列介绍,ARM公司简介,ARM 即Advanced RISC Machines的缩写,作为:公司的名字,一类微处理器的通称,一种技术的名称。,1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生。1991 年 ARM 公司成立于
2、英国剑桥,主要出售芯片设计技术的授权。,ARM公司设计了大量高性能、廉价、耗能低的RISC 处理器。目前已经成为市场上主流的处理器。,3,ARM,Partner,OEM Customer,ARM的业务模型,4,2.1.1 ARM体系的版本说明,ARM公司定义了7种ARM指令集体系结构版本。ARM版本:V1版架构,在原型机ARM1出现过,只有26位寻址空间,没有用于商业产品。ARM版本:V2版架构,对V1版进行了扩展,例如ARM2和ARM3(V2a)架构。包含了对32位乘法指令和协处理器指令的支持。ARM版本:V3版架构,在1990年设计ARM6中采用了版本3。具有片上高速缓存、MMU和写缓冲等
3、功能。寻址空间增至32位(4GB)。目前V1V3版本目前都已废弃。,5,2.1.1 ARM体系的版本说明,ARM版本:V4版架构,在V3版上作了进一步扩充,V4版架构是目前应用最广的ARM体系结构,ARM7、ARM8、ARM9和StrongARM都采用该架构。ARM版本:V5版架构,是在V4版基础上增加了一些新的指令,如:转移BLX指令、计数前导零CLZ指令、BRK中断指令,DSP指令集(E增强型)、在ARM10和Xscale都采用该版架构。ARM版本:V6版架构,V6版架构是2001年发布的,首先在2002年春季发布的ARM11处理器中使用。采用单指令多数据SIMD(Single Instr
4、uction,Multiple Data)技术,将语音及图像处理功能提高了4倍。,6,2.1.1 ARM体系的版本说明,ARM版本:V7版架构,ARMv7架构是ARMv6架构的基础上诞生的,该架构采用了Thumb-2技术。Thumb-2技术比纯32位代码少使用31的内存,减小了系统开销;同时能够比已有的基于Thumb技术的解决方案提高38的性能。V7版架构分为三类:Cortex-A系列,应用处理器,目前提供Cortex-A5、Cortex-A8、Cortex-A9、Cortex-A15等产品。Cortex-M系列,嵌入式控制器,目前提供Cortex-M4、Cortex-M3、Cortex-M1
5、 FPGA和 Cortex-M0处理器。Cortex-R系列,深嵌入式实时系统,目前,此系列包含 Cortex-R4 和 Cortex-R4F 处理器。,7,2.1.2 ARM内核的命名,ARM命名格式如下:ARMxyzTDMIEJF-Sx:系列号,例如ARM7中的“7”、ARM9中的“9”;y:内部存储管理/保护单元,例如ARM72中的“2”、ARM94中的“4”;z:内含有高速缓存Cache;T:支持16位的Thumb指令集;D:支持JTAG片上调试;M:支持长乘法操作(64位结果)的ARM指令,包含快速乘法器;I:带有嵌入式追踪宏单元ETM(Embedded Trace Macro),用
6、来设置断点和观察点;,8,2.1.2 ARM内核的命名,E:增强型DSP指令(基于TDMI);J:含有Java加速器Jazelle,与Java虚拟机相比,Java加速器Jazelle使Java代码运行速度提高了8倍,功耗降低到原来的80%;F:向量浮点运算单元;S:可综合版本,意味着处理器内核是以源代码形式提供的。,ARMxyzTDMIEJF-S,版本V7用字符串ARM Cortex开头,随后附加-A、-R、-M表示处理器的市场定位方向,其后跟有数字,表示该方向产品的序列号。,9,2.1.3 常用ARM处理器,10,2.1.3 常用ARM处理器介绍,ARM Cortex系列简介,基于ARMv7
7、版本的ARM Cortex系列产品由A、R、M三个系列组成,具体分类延续了一直以来ARM面向具体应用设计CPU的思路。,ARM Cortex,11,2.1.3 常用ARM处理器介绍,CortexTM-M3处理器简介(针对低端市场),该处理器是首款基于ARMv7-M架构的处理器,采用了纯Thumb2指令的执行方式,具有极高的运算能力和中断相应能力。Cortex-M3主要应用于汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域。,CortexTM-R4处理器简介,该处理器是首款基于ARMv7架构的高级嵌入式处理器,其主要目标为产量巨大的高级嵌入式应用系统,如硬盘,喷墨式打印机,
8、以及汽车安全系统等等。,CortexTM-R4F处理器简介,该处理器在CortexTM-R4处理器的基础上加入了代码错误校正(ECC)技术,浮点运算单元(FPU)以及DMA综合配置的能力,增强了处理器在存储器保护单元、缓存、紧密耦合存储器、DMA访问以及调试方面的能力。,12,2.1.3 常用ARM处理器介绍,CortexTM-A8处理器简介,该处理器是ARM公司所开发的基于ARMv7架构的首款应用级处理器,其特色是运用了可增加代码密度和加强性能的技术、可支持多媒体以及信号处理能力的NEONTM技术、以及能够支持Java和其他文字代码语言的提前和即时编译的JazelleRTC技术。众多先进的技
9、术使其适用于家电以及电子行业等各种高端的应用领域。,ARM7系列简介,该系列包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle(Java加速器)的ARM7EJ-S。该系列处理器提供Thumb 16位压缩指令集和EmbededICE软件调试方式,适用于更大规模的SoC设计中。ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。,13,2.1.3 常用ARM处理器介绍,该系列包括ARM9TDMI、ARM920T和带有高速缓存处理器宏单元的ARM940T。除了兼容ARM7系列
10、,而且能够更加灵活的设计。ARM9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒等领域。,ARM9系列简介,该系列为含有DSP指令集的综合处理器,包括ARM926EJ-S、带有高速缓存处理器宏单元的ARM966E-S/ARM946E-S。其内核在ARM7处理器内核的基础上使用了Jazelle增强技术,该技术支持一种新的Java操作状态,允许在硬件中执行Java字节码。ARM9E系列主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。,ARM9E系列简介,14,2.1.3 常用ARM处理器介绍,ARM10E系列简介,该系列包括ARM1020E和ARM1020E
11、处理器核,其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。可以用于视频游戏机和高性能打印机等场合。,Xscale简介,Intel Xscale微控制器则提供全性能、高性价比、低功耗的解决方案,支持16位Thumb指令并集成数字信号处理(DSP)指令。主要应用于手提式通讯和消费电子类设备。,15,ARM公司目前的产品分类及特性,16,2.2ARM处理器技术,2.2.1RISC技术2.2.2流水线技术2.2.3哈佛结构2.2.4AMBA总线技术2.2.5ARM处理器的调试跟踪技术,17,2.2.1RISC技术,CISC:复杂指令集(
12、Complex Instruction Set Computer)具有大量的指令和寻址方式8/2原则:80%的程序只使用20%的指令大多数程序只使用少量的指令就能够运行。,RISC:精简指令集(Reduced Instruction Set Computer)在通道中只包含最有用的指令确保数据通道快速执行每一条指令使CPU硬件结构设计变得更为简单,18,2.2.1RISC技术,RISC的结构的特点如下:简化指令集,只保留常用的基本指令;设计大量的通用存储器,减少访存的次数;采用装载/保存(load-store)结构,支持流水线技术,使每个周期时间相等;采用简单的指令格式、规整的指令字长和简单的
13、寻址方式。单机器周期指令,即大多数的指令都可以在一个机器周期内完成。,除以上特点之外,ARM增加:数据处理指令可同时包含ALU运算和移位处理功能;地址自增和自减功能;装载/保存指令中具有数据的批量传输;大多数指令提供条件执行。,19,2.2.2流水线技术,CPU中的流水线技术是一种将指令分解为多步,并让不同指令的各步操作重叠执行,从而实现几条指令并行处理,以加速程序运行过程的技术。ARM7采用三级流水线、ARM9采用五级流水线,ARM10采用六级流水线、ARM11采用八级流水线。以ARM7三级流水线为例,由三个独立的部件分别执行:取指,从存储器中装载一条指令到CPU中;解码,识别并解释将要被执
14、行的指令;执行,将解码识别的指令进行计算处理并将结果写回寄存器。,20,2.2.2流水线技术,21,2.2 ARM7TDMI,三级流水线结构的指令执行顺序,周期2,周期1,周期3,周期4,处理器执行一条指令的三个阶段,22,执行ADD PC,PC,#4指令后,PC的值为多少?,2.2.2流水线技术,思考题,ADD,程序计数器R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或“正在译码”的指令。,一般来说,人们习惯性约定将“正在执行”的指令作为参考点,则:PC值当前程序执行位置8 注:ARM状态时,每条指令为4字节长。,PC指向0 x4000地址,取指ADD指令。,PC指向
15、0 x4004地址,译码ADD指令。,PC指向0 x4008地址,执行ADD指令,所以指令执行的结果为:PC=PC+40 x400840 x400C。,23,2.2.3哈佛结构,哈佛结构是一种将程序中指令和数据分开存储的存储器结构。它是一种并行存储体系结构,程序存储器和数据存储器采用不同的总线,从而提供了较大的存储器带宽。冯诺伊曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置。ARM7采用了普林斯顿结构,在随后的ARM9、ARM10、ARM11、ARM Cortex等处理器采用了哈佛结构,,24,冯诺
16、依曼体系结构模型,指令寄存器,控制器,数据通道,输入,输出,中央处理器,存储器,程序,指令0,指令1,指令2,指令3,指令4,数据,数据0,数据1,数据2,25,哈佛体系结构,指令寄存器,控制器,数据通道,输入,输出,中央处理器,程序存储器,指令0,指令1,指令2,数据存储器,数据0,数据1,数据2,地址,指令,地址,数据,26,2.2.4AMBA总线技术,AMBA(Advanced Microcontroller Bus Architec-ture)总线规范:是ARM公司设计的一种用于高性能嵌入式系统的总线标准。AMBA 2.0规范中定义了三种可以组合使用的不同类型的总线:AHB(Advan
17、ced High-performance Bus)、ASB(Advanced System Bus)和APB(Advanced Perpheral Bus)。AHB总线适用于连接高性能和高时钟频率的系统模块;ASB总线适用于连接高性能的系统模块。它的读/写数据总线采用的是同一条双向数据总线;APB总线适用于连接低功耗的外部设备模块;,27,2.2.4AMBA总线技术,测试接口控制器TIC(Test Interface Controller),向外部设备提供了模块测试接口。,28,2.2.5ARM处理器的调试跟踪技术,ARM处理器内部嵌入了一个实时的在线仿真器模块EmbeddedICE-RT,一
18、般还带有嵌入式宏跟踪单元模块ETM(Embedded Trace Macrocell),实现ARM处理器的在线调试和运行过程的跟踪功能。,29,2.2.5ARM处理器的调试跟踪技术,EmbeddedICE具有诸多ICE功能,例如实时寻址、断点、单步、对ARM CPU的完全控制、对ASIC系统其余部分的访问,以及对主机显示器外设访问、键盘输入和磁盘存储。ETM能捕获指令和数据序列,访问并把它们的记录发送给芯片上或芯片外的缓冲器,ARM的ETM既可设置成允许触发器工作也可设置成允许跟踪结果被滤出。ETM由如下两部分组成:(1)跟踪端口,用于实时执行的跟踪。代码执行时,CPU发送串行、经过编码、压缩
19、的分支目标地址、管线状态、读写数据给ETM。(2)触发装置,指定特定应用所需的触发源的准确集合。包括地址和数据比较器、计数器和定序器。,30,2.3ARM7处理器结构,2.3.1ARM7TDMI内部构成2.3.2ARM7TDMI内核结构2.3.3ARM7TDMI处理器模块接口信号2.3.4ARM7xxT模块功能图,31,2.3.1 ARM7TDMI内部构成,CPU协处理接口信号,EmbedICE硬件仿真功能模块,片上调试系统,读写总线,32,2.3.2ARM7TDMI内核结构,33,2.3.3 ARM7TDMI处理器接口信号,总线控制,34,2.3.3 ARM7TDMI处理器接口信号,中断信号
20、:nIRQ:外部中断异常产生nFIQ:外部快速中断产生nRESET:复位信号或者开机产生ABORT由中止异常产生 SIZE1:0:数据传输宽度,00:字节,01:半字,10:字,11:保留 PROT1:0:存储器访问允许机制,00:用户模式下操作码,01:用户模式下数据,10:特权模式下操作码,11:特权模式下的数据。TRANS1:0:总线周期类型,00:I周期(内部周期),正在执行内部操作,不请求对存储器访问;01:C周期,为协处理器寄存器传输周期;10:N周期,非连续周期,11:S周期,连续周期,访问地址与前一周期使用的地址有关。,35,2.3.4ARM7xxT模块功能图,ARM710T,
21、ARM710T支持虚拟内存,可以运行Linux 和 Symbian 的 EPOC32操作系统。有8K 统一的 cache,完整的内存管理单元(mmu)和写缓冲。ARM720T,ARM720T是ARM710T的超集,还可以运行WindowsCE操作系统。ARM740T中也包含8K 统一的 cache,内存管理单元和写缓冲。,36,2.4 ARM7的工作状态及模式,2.4.1 ARM7处理器工作状态2.4.2 ARM7处理器模式,37,2.4 ARM7的工作状态及模式,ARM7工作状态,ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令,并且各自对应1种处理器的状态:A
22、RM状态:32位,处理器执行字方式的ARM指令,处理器默认为此状态;Thumb状态:16位,处理器执行半字方式的Thumb指令。,注意:两个状态之间的切换并不影响处理器模式或寄存器内容。,38,2.4.1 ARM7处理器工作状态,状态切换的一个例子,使用BX指令将ARM内核的操作状态在ARM状态和Thumb状态之间进行切换。,ARM指令集,Thumb指令集,CODE32LDRR0,=Lable+1BX R0CODE16Lable MOV R1,#12,CODE16LDR R0,=LableBX R0CODE32LableMOV R1,#10,执行完BX指令,处理器切换到Thumb状态,开始执行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 ARM技术及体系结构 ARM 技术 体系结构
链接地址:https://www.31ppt.com/p-2341594.html