您好,欢迎访问三七文档
嵌入式系统讲义第2章ARM9体系结构张志斌2013.3第2章ARM9体系结构主要内容2.1ARM处理器简介2.2ARM9结构2.3ARM数据类型和存储格式2.4处理器状态和工作模式2.5ARM寄存器2.6ARM异常2.7ARM调试接口2.1ARM处理器简介2.1.1ARM公司简介ARM是AdvanceRISCMachine的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。•ARM公司于1990年11月在英国剑桥成立,前身为Acorn计算机公司。•ARM公司是全球领先的16/32位嵌入式RISC微处理器解决方案供应商。•ARM公司是知识产权(IP)公司,本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。目前,全世界有几十家著名的半导体公司都使用ARM公司的授权,其中包括MOTOROLA、IBM、Intel、LG、SONY、NEC、ATMEL等,从而保证了大量的开发工具和丰富的第三方资源,它们共同保证了基于ARM处理器核的设计可以很快投入市场。ARM公司已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。2.1.2ARM体系结构的特点•总体思想:在不牺牲性能的同时,尽量简化处理器。同时从体系结构的层面上灵活支持处理器扩展。这种简化和开放的思路使得ARM处理器采用了很简单的结构来实现。•ARM处理器是最先进的:目前,ARM32位体系结构被公认为业界领先的32位嵌入式RISC微处理器核,所有ARM处理器都共享这一体系结构。2.1.2ARM体系结构的特点(2)一、RISC型处理器结构ARM采用RISC结构,在简化处理器结构,减少复杂功能指令的同时,提高了处理器的速度。考虑到处理器与存储器打交道的指令执行时间远远大于在寄存器内操作的指令执行时间,RISC型处理器采用了Load/Store(加载/存储)结构,即只有Load/Store指令可与存储器打交道,其余指令都不允许进行存储器操作。同时,为了进一步提高指令和数据的存取速度,RISC型处理器增加了指令高速缓冲I-Cache和数据高速缓冲D-Cache及多处理器结构,使指令的操作尽可能在寄存器之间进行。2.1.2ARM体系结构的特点(3)只能对寄存器执行算术和逻辑操作,Load/Store体系结构2.1.2ARM体系结构的特点(4)二、Thumb指令集虽然ARM处理器本身是32位设计,但考虑到RISC型处理器的指令功能相对较弱,新型的ARM体系结构中定义了16位的Thumb指令集。Thumb指令集比通常的8/16位CISC/RISC处理器有更好的代码密度,而芯片面积只增加6%,却可以使程序存储器更小。三、多处理器状态模式ARM体系结构定义了7种处理器模式:用户、快中断、中断、管理、终止、未定义和系统模式,大大提高了ARM处理器的效率。四、两种处理器工作状态(执行32位ARM指令)ARM状态和Thumb状态。(执行16位Thumb指令)2.1.2ARM体系结构的特点(5)五、嵌入式在线仿真调试ARM体系结构的处理器芯片都嵌入了在线仿真ICE-RT逻辑,便于通过JTAG来仿真调试芯片,省去了价格昂贵的在线仿真器。六、灵活方便的接口ARM体系结构具有协处理器接口,允许接16个协处理器。既可以使基本的ARM处理器内核尽可能小,方便地扩充ARM指令集,也可以通过未定义指令来支持协处理器的软件仿真。七、低电压功耗的设计考虑到ARM处理器主要用于手持式嵌入式系统中,在设计中就十分注意功耗的设计。2.1.3ARM指令系统版本ARM公司从最初的开发到现在,ARM指令集结构有了巨大的改进,并在不断完善和发展。为了清楚地表达每个ARM内核所使用的指令集,ARM公司定义了一系列的指令集体系结构版本,以vx表示某种版本。下面对版本v1~v5做一介绍。一、版本1(v1)v1在ARM1中使用,但从未商业化。26位寻址空间,其指令主要有:•基本的数据处理指令(无乘法指令)•字、字节和半字存储器访问指令•分支指令(包括带链接的分支指令)•软件中断指令2.1.3ARM指令系统版本(2)二、版本2(v2)仍是26位寻址空间,在v1的基础上增加的内容有:•乘法和乘法加指令•支持协处理器•快速中断模式中的分组寄存器•交换式加载/存储指令。三、版本3(v3)将寻址范围扩展到32位,但兼容26位寻址。在v2的基础上增加的内容有:•设置了专用的当前程序状态寄存器CPSR、增加了程序状态保存寄存器•增加了中止异常和未定义指令异常两种处理器模式•增加了访问CPSR、SPSR的指令MRS和MSR•修改了异常返回指令的功能2.1.3ARM指令系统版本(3)四、版本4(v4)32位寻址方式,但不再兼容26位寻址,在v3的基础上增加的内容有:•半字加载/存储指令•在T变量中转换到Thumb状态的指令•增加了在使用用户模式寄存器的特权处理器模式五、版本5(v5)对v4指令做了必要的修改和扩展,并且增加了指令,具体变化为:•改进在T变量中ARM/Thumb状态之间的切换效率•对于T和非T变量使用相同的代码生成技术•增加了计数前导零指令•增加了软件断点指令•对乘法指令设置标志做了严格定义。•将流水线的级数从3级(如ARM7TDMI使用的)增加到5级;•并改变存储器接口来使用分开的指令与数据存储器。2.1.3ARM指令系统版本(4)六、版本6(v6)对v5指令做了必要的修改和扩展,并且增加了指令,2001年发布,首先在ARM11处理器中使用(2002年春季发布),具体变化为:ARM体系版本6的新架构在降低耗电量的同时,还强化了图形处理性能。增加了多媒体处理功能:通过追加有效进行多媒体处理的SIMD功能,将语音及图像的处理功能提高到了原机型的4倍。V6版本还支持多微处理器内核。2.1.3ARM指令系统版本(5)ARM核体系结构ARM1V1ARM2V2ARM2aS,ARM3V2aARM6,ARM600,ARM610V3ARM7,ARM700,ARM710V3ARM7TDMI,ARM710T,ARM720TARM740TV4TStrongARM,ARM8,ARM810V4ARM9TDMI,ARM920T,ARM940TV4TARM9E-SV5TEARM10TDMI,ARM1020EV5TEARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S,ARM11JZF-SV62.1.4ARM体系结构的演变一、Thumb指令集(T变种)支持Thumb指令的ARM体系版本,一般加字符T来表示(如V4T)。目前Thumb指令集有以下两个版本:Thumb指令集版本1,此版本作为ARM体系版本4的T变种;Thumb指令集版本2,此版本作为ARM体系版本5的T变种。与版本1相比,Thumb指令集的版本2具有以下特点:通过增加新的指令和对已有指令的修改,来提高ARM指令和Thumb指令混合使用时的效率。增加了软件断点(BKPT)指令和更严格地定义了Thumb乘法指令对条件码标志位的影响。2.1.4ARM体系结构的演变(2)二、长乘指令(M变种)M变种增加了两条这样的长乘指令:其中一条指令完成32位整数乘以32位整数,生成64位整数的长乘操作;另一条指令完成32位整数乘以32位整数,然后在加上一个32位整数,生成64位整数的长乘加操作。这种长乘的应用场合M变种很适合。2.1.4ARM体系结构的演变(3)三、增强型DSP指令(E变种)•E变种的ARM体系增加了一些增强处理器对典型DSP算法处理能力的附加指令:•几条新的完成16位数据乘法和乘加操作的指令;•实现饱和的带符号数的加减法操作的指令。•Cache预取指令PLD;•E变种首先在ARM体系版本5T中使用,用字符E表示。•在早期的一些E变种中,未包含双字读取指令LDRD,双字写入指令STRD,协处理器的寄存器传输指令MCRR/MRRC以及Cache预取指令PLD。这种E变种记作ExP,其中x表示缺少,P代表上述的几种指令2.1.4ARM体系结构的演变(4)四、Java加速器Jazelle(J变种)ARM的Jazelle技术是Java语言和先进的32位RISC芯片完美结合的产物。Jazelle技术使得Java代码的运行速度比普通的Java虚拟机提高了8倍,这是因为Jazelle技术提供了Java加速功能,大幅的提高了机器的运行性能,而功耗反而降低了80%。Jazelle技术使得在一个单独的处理器上同时运行Java应用程序、已经建立好的操作系统和中间件以及其他的应用程序成为可能。Jazelle技术的诞生使得一些必须用到协处理器和双处理器的场合可以用单处理器代替,这样,既保证了机器的性能,又降低了功耗和成本。ARM体系版本4TEJ是最早包含了J变种。用字符J表示J变种2.1.4ARM体系结构的演变(5)五、ARM媒体功能扩展(SIMD变种)ARM的SIMD媒体功能扩展为这些应用系统提供了解决方案。它为包括音频/视频处理在内的应用系统提供了优化功能。其主要特点如下:使处理器的音频/视频处理的性能提高了2~4倍。可同时进行两个16位操作数或者4个8位操作数的运算。用户可以自定义饱和运算的模式。可进行两个16位操作数的乘加/乘减运算及32位乘以32位的小数乘加运算。同时8位/16位选择操作。2.1.4ARM体系结构的演变(6)2.1.4ARM系列处理器简介ARM有以下系列处理器:ARM7系列ARM9系列ARM9E系列ARM10系列ARM11系列SecurCore系列Inter的StrongARM和Xscale系列其中,ARM7、ARM9、ARM9E、ARM10和ARM11为5个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。2.1.4ARM系列处理器简介(2)一、ARM7系列•ARM7采用冯·诺依曼(Von-Neumann)结构,数据存储器和程序存储器使用同一存储空间,用相同的指令访问。此结构也被大多数计算机所采用。•ARM7为三级流水线结构(取指,译码,执行),平均功耗为0.6mW/MHz,时钟速度为66MHz,每条指令平均执行1.9个时钟周期。•ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。•ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为(对其它系列也适用):T:支持16为压缩指令集Thumb,称为T变种D:支持片上Debug,称为D变种M:内嵌硬件乘法器Multiplier,称为M变种I:嵌入式ICE,支持片上断点和调试,称为I变种2.1.4ARM系列处理器简介(3)表2-1ARM7系列产品项目型号Cache(Ins/Data)MemoryMgtBusThumbDSPJazelle指令版本ARM7TDMINoNoAHBYesNoNov4TARM7TDMI-SNoNoAHBYesNoNov4TARM720T8KBMMUAHBYesNoNov4TARM7EJNoNoAHBYesYesYesv5TEJ2.1.4ARM系列处理器简介(4)二、ARM9系列•ARM7采用的Neumann结构,取指令和取操作数都是通过一条总线分时进行,这样,在高速运算时,不但不能同时取指令和取操作数,而且还会造成传输通道上的瓶颈现象。•ARM9采用哈佛(Harvard)结构,程序存储器与数据存储器分开,提供了较大的存储器带宽。同时,大多数DSP都采用此结构。•ARM9为五级流水(取指,译码,执行,缓冲/数据,回写),平均功耗为0.7mW/MHz。时钟速度为120MHz-200MHz,每条指令平均执行1.5个时钟周期。•ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,主要应用在手持产品、视频电话、PDA、数字消费产品、机顶盒、家用网关等方面。2.1.4ARM系列处理器简介
本文标题:ARM9体系结构
链接地址:https://www.777doc.com/doc-23608 .html