ARM9体系结构(1).ppt
《ARM9体系结构(1).ppt》由会员分享,可在线阅读,更多相关《ARM9体系结构(1).ppt(111页珍藏版)》请在三一办公上搜索。
1、嵌入式系统讲义第2章 ARM9体系结构,周国运2007.3,第2章 ARM9体系结构,主要内容2.1 ARM处理器简介2.2 ARM9结构2.3 ARM数据类型和存储格式2.4 处理器状态和工作模式2.5 ARM寄存器2.6 ARM异常2.7 ARM调试接口,2.1 ARM处理器简介,2.1.1 ARM公司简介ARM是Advance RISC Machine 的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM公司于1990年11月在英国剑桥成立,前身为Acorn计算机公司。ARM公司是全球领先的16/32位嵌入式RISC微处理器解决方案供应
2、商。ARM公司是知识产权(IP)公司,本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。目前,全世界有几十家著名的半导体公司都使用ARM公司的授权,其中包括MOTOROLA、IBM、Intel、LG、SONY、NEC、ATMEL等,从而保证了大量的开发工具和丰富的第三方资源,它们共同保证了基于ARM处理器核的设计可以很快投入市场。ARM公司已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。,2.1.2 ARM体系结构的特点,总体思想:在不牺牲性能的同时,尽量简化处理器。同时从体系结构的层面上灵活支持处理器扩展。这种简化和开放的思路使得ARM处理器采用了很简
3、单的结构来实现。ARM处理器是最先进的:目前,ARM32位体系结构被公认为业界领先的32位嵌入式RISC微处理器核,所有ARM处理器都共享这一体系结构。,2.1.2 ARM体系结构的特点(2),一、RISC型处理器结构ARM采用RISC结构,在简化处理器结构,减少复杂功能指令的同时,提高了处理器的速度。考虑到处理器与存储器打交道的指令执行时间远远大于在寄存器内操作的指令执行时间,RISC型处理器采用了Load/Store(加载/存储)结构,即只有Load/Store指令可与存储器打交道,其余指令都不允许进行存储器操作。同时,为了进一步提高指令和数据的存取速度,RISC型处理器增加了指令高速缓冲
4、I-Cache和数据高速缓冲D-Cache及多处理器结构,使指令的操作尽可能在寄存器之间进行。,2.1.2 ARM体系结构的特点(3),只能对寄存器执行算术和逻辑操作,Load/Store体系结构,2.1.2 ARM体系结构的特点(4),二、Thumb指令集虽然ARM处理器本身是32位设计,但考虑到RISC型处理器的指令功能相对较弱,新型的ARM体系结构中定义了16位的Thumb指令集。Thumb指令集比通常的8/16位CISC/RISC处理器有更好的代码密度,而芯片面积只增加6%,却可以使程序存储器更小。三、多处理器状态模式ARM体系结构定义了7种处理器模式:用户、快中断、中断、管理、终止、
5、未定义和系统模式,大大提高了ARM处理器的效率。四、两种处理器工作状态(执行32位ARM指令)ARM状态和Thumb状态。(执行16位Thumb指令),2.1.2 ARM体系结构的特点(5),五、嵌入式在线仿真调试ARM体系结构的处理器芯片都嵌入了在线仿真ICE-RT逻辑,便于通过JTAG来仿真调试芯片,省去了价格昂贵的在线仿真器。六、灵活方便的接口ARM体系结构具有协处理器接口,允许接16个协处理器。既可以使基本的ARM处理器内核尽可能小,方便地扩充ARM指令集,也可以通过未定义指令来支持协处理器的软件仿真。七、低电压功耗的设计考虑到ARM处理器主要用于手持式嵌入式系统中,在设计中就十分注意
6、功耗的设计。,2.1.3 ARM指令系统版本,ARM公司从最初的开发到现在,ARM指令集结构有了巨大的改进,并在不断完善和发展。为了清楚地表达每个ARM内核所使用的指令集,ARM公司定义了一系列的指令集体系结构版本,以vx表示某种版本。下面对版本v1v5做一介绍。一、版本1(v1)v1在ARM1中使用,但从未商业化。26位寻址空间,其指令主要有:基本的数据处理指令(无乘法指令)字、字节和半字存储器访问指令分支指令(包括带链接的分支指令)软件中断指令,2.1.3 ARM指令系统版本(2),二、版本2(v2)仍是26位寻址空间,在v1的基础上增加的内容有:乘法和乘法加指令支持协处理器快速中断模式中
7、的分组寄存器交换式加载/存储指令。三、版本3(v3)将寻址范围扩展到32位,但兼容26位寻址。在v2的基础上增加的内容有:设置了专用的当前程序状态寄存器CPSR、增加了程序状态保存寄存器增加了中止异常和未定义指令异常两种处理器模式增加了访问CPSR、SPSR的指令MRS和MSR修改了异常返回指令的功能,2.1.3 ARM指令系统版本(3),四、版本4(v4)32位寻址方式,但不再兼容26位寻址,在v3的基础上增加的内容有:半字加载/存储指令在T变量中转换到Thumb状态的指令增加了在使用用户模式寄存器的特权处理器模式五、版本5(v5)对v4指令做了必要的修改和扩展,并且增加了指令,具体变化为:
8、改进在T变量中ARM/Thumb状态之间的切换效率对于T和非T变量使用相同的代码生成技术增加了计数前导零指令增加了软件断点指令对乘法指令设置标志做了严格定义。将流水线的级数从3级(如ARM7TDMI使用的)增加到5级;并改变存储器接口来使用分开的指令与数据存储器。,2.1.3 ARM指令系统版本(4),六、版本6(v6)对v5指令做了必要的修改和扩展,并且增加了指令,2001年发布,首先在ARM11处理器中使用(2002年春季发布),具体变化为:ARM体系版本6的新架构在降低耗电量的同时,还强化了图形处理性能。增加了多媒体处理功能:通过追加有效进行多媒体处理的SIMD功能,将语音及图像的处理功
9、能提高到了原机型的4倍。V6版本还支持多微处理器内核。,2.1.3 ARM指令系统版本(5),2.1.4 ARM 体系结构的演变,一、Thumb指令集(T变种)支持Thumb指令的ARM体系版本,一般加字符T来表示(如V4T)。目前Thumb指令集有以下两个版本:Thumb 指令集版本1,此版本作为ARM体系版本4的T变种;Thumb指令集版本2,此版本作为ARM体系版本5的T变种。与版本1相比,Thumb指令集的版本2具有以下特点:通过增加新的指令和对已有指令的修改,来提高ARM指令和Thumb指令混合使用时的效率。增加了软件断点(BKPT)指令和更严格地定义了Thumb乘法指令对条件码标志
10、位的影响。,2.1.4 ARM 体系结构的演变(2),二、长乘指令(M变种)M变种增加了两条这样的长乘指令:其中一条指令完成32位整数乘以32位整数,生成64位整数的长乘操作;另一条指令完成32位整数乘以32位整数,然后在加上一个32位整数,生成64位整数的长乘加操作。这种长乘的应用场合M变种很适合。,2.1.4 ARM 体系结构的演变(3),三、增强型DSP指令(E变种)E变种的ARM体系增加了一些增强处理器对典型DSP算法处理能力的附加指令:几条新的完成16位数据乘法和乘加操作的指令;实现饱和的带符号数的加减法操作的指令。Cache预取指令PLD;E变种首先在ARM体系版本5T中使用,用字
11、符E表示。在早期的一些E变种中,未包含双字读取指令LDRD,双字写入指令STRD,协处理器的寄存器传输指令MCRR/MRRC以及Cache预取指令PLD。这种E变种记作ExP,其中x表示缺少,P代表上述的几种指令,2.1.4 ARM 体系结构的演变(4),四、Java加速器Jazelle(J变种)ARM的Jazelle技术是Java语言和先进的32位RISC芯片完美结合的产物。Jazelle技术使得Java代码的运行速度比普通的Java虚拟机提高了8倍,这是因为Jazelle技术提供了Java加速功能,大幅的提高了机器的运行性能,而功耗反而降低了80%。Jazelle技术使得在一个单独的处理器
12、上同时运行Java应用程序、已经建立好的操作系统和中间件以及其他的应用程序成为可能。Jazelle技术的诞生使得一些必须用到协处理器和双处理器的场合可以用单处理器代替,这样,既保证了机器的性能,又降低了功耗和成本。ARM体系版本4TEJ是最早包含了J变种。用字符J表示J变种,2.1.4 ARM 体系结构的演变(5),五、ARM媒体功能扩展(SIMD变种)ARM的SIMD媒体功能扩展为这些应用系统提供了解决方案。它为包括音频视频处理在内的应用系统提供了优化功能。其主要特点如下:使处理器的音频视频处理的性能提高了24倍。可同时进行两个16位操作数或者4个8位操作数的运算。用户可以自定义饱和运算的模
13、式。可进行两个16位操作数的乘加乘减运算及32位乘以32位的小数乘加运算。同时8位/16位选择操作。,2.1.4 ARM 体系结构的演变(6),2.1.4 ARM 体系结构的演变(7),2.1.4 ARM系列处理器简介,ARM有以下系列处理器:ARM7系列ARM9系列ARM9E系列 ARM10系列ARM11系列SecurCore系列Inter的StrongARM和Xscale系列 其中,ARM7、ARM9、ARM9E、ARM10和ARM11为5个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。,2.1.4 ARM系
14、列处理器简介(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:支持
15、片上Debug,称为D变种M:内嵌硬件乘法器 Multiplier,称为M变种I:嵌入式ICE,支持片上断点和调试,称为I变种,2.1.4 ARM系列处理器简介(3),表2-1 ARM7系列产品,2.1.4 ARM系列处理器简介(4),二、ARM9系列ARM7采用的Neumann结构,取指令和取操作数都是通过一条总线分时进行,这样,在高速运算时,不但不能同时取指令和取操作数,而且还会造成传输通道上的瓶颈现象。ARM9采用哈佛(Harvard)结构,程序存储器与数据存储器分开,提供了较大的存储器带宽。同时,大多数DSP都采用此结构。ARM9为五级流水(取指,译码,执行,缓冲/数据,回写),平均功
16、耗为0.7mW/MHz。时钟速度为120MHz-200MHz,每条指令平均执行1.5个时钟周期。ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,主要应用在手持产品、视频电话、PDA、数字消费产品、机顶盒、家用网关等方面。,2.1.4 ARM系列处理器简介(5),表2-2 ARM9系列产品,2.1.4 ARM系列处理器简介(6),三、ARM9E系列ARM9E系列微处理器包括如下4种类型的核:ARM926EJ-S、ARM946E-S和ARM966E-S,见表2-3。ARM9E系列是一种包含有微控制器、DSP、Java功能的综合处理器,强化了数字信号处理能力,适用于需
17、要DSP和微控制器结合使用的情况,并且把Thumb技术和DSP都扩展到了ARM指令中,并且具有EmbededICE-RT逻辑,更好地适应了实时系统开发的需要。同时ARM9E使用了Jazelle增强技术,该技术支持一种新的Java操作状态,在硬件中执行Java字节码。,2.1.4 ARM系列处理器简介(7),表2-3 ARM9E系列产品,2.1.4 ARM系列处理器简介(8),四、ARM10系列 ARM10系列微处理器包括:ARM1020E和ARM1022E等型号,见表2-4。ARM10系列采用了新的体系结构,其核心为使用了向量浮点单元,有强大的浮点运算能力,并且增加了Cache容量和总线宽度,
18、并且具有低功耗的特点。ARM10系列微处理器主要应用于下一代无线设备、视频消费品等。,表2-4 ARM10系列产品,2.1.4 ARM系列处理器简介(9),五、ARMStrong/Xscale系列 StrongARM是采用ARM体系结构高度集成的32位RISC微处理器。它融合了Intrl公司的设计技术,以及ARM体系结构的电源效率,其体系结构在软件上兼容ARMv4,同时又具有Intel技术优点。StrongARM是Intrl公司为手持消费类电子和移动计算与通信设备生产的嵌入式处理器。采用StrongARM架构的处理器有:SA-1、SA-110、SA-1100、SA1110和IXP1200。Xs
19、cale是基于ARMv5体系结构的解决方案,是一款性能全、性价比高、功耗低的处理器,支持16位的Thumb和DSP指令集,主要应用于数字移动电话、个人数字助理和网络产品等。Xscale架构的处理器有:PXA250、PXA255和PXA270等。,2.1.4 ARM系列处理器简介(10),六、ARM微处理器应用1、工业控制领域:作为32的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。2、无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM技术
20、,ARM以其高性能和低成本,在该领域的地位日益巩固。3、网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上进行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。ADSL(非对称数字用户线路)4、消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。5、成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM智能卡也采用了ARM技术。,ARM系列产品命名规则,2.2 ARM9体系结构,2.2.1ARM9体系结构框图对于ARM9系列,其基本内核是ARM9TDMI,下页图
21、给出了ARM9TDMI结构框图。主要有7部分构成。比较最常用的是ARM920T内核,后页图给出了ARM920T结构框图。ARM920T结构主要部分有:ARM9TDMI内核CPU、MMU、Cache、协处理器接口、运行跟踪信息接口(ETM)、JTAG调试接口、总线接口等7部分构成。,一、ARM9TDMI体系结构框图,二、ARM920T体系结构框图,二、ARM920T体系结构框图,ARM9TDMI核性能,0.25微米的ARM9TDMI核在执行32位ARM代码时的特性综述于下表3。核的版图示于下页图。,2.2.2 ARM流水线结构,一、流水线技术概述 流水线方式:是把一个重复的过程分解为若干个子过程
22、,每个子过程可以与其他子过程同时进行。由于这种工作方式与工厂中的生产流水线十分相似,因此,把它称为流水线工作方式。处理器按照一系列步骤来执行每一条指令。典型的步骤为:1)从存储器读取指令(fetch)2)译码以鉴别它是哪一类指令(dec)3)从寄存器组取得所需的操作数(reg)4)将操作数进行组合以得到结果或存储器地址(exe)5)如果需要,则访问存储器存取数据(mem)6)将结果回写到寄存器组(res),二、ARM7的三级流水线1取指:从程序存储器中取指令,放入指令流水线。(占用存储器访问操作)2译码:指令译码。(占用译码逻辑)3执行:执行指令/读写REG。(占用ALU及数据路径),2.2.
23、2 ARM流水线结构(2),下图为3个单周期指令在流水线上的情况。一条指令有3个时钟周期的执行时间,但吞吐量是每个周期1条指令。,t,123,PC值如何计算?,PC 指向处于读取级的指令地址,而不是处于执行级的指令地址PC=当前执行指令地址+8,ARM单周期指令的3级流水线操作,2.2.2 ARM流水线结构(3),优秀的流水线结构,Operation,Cycle,1 2 3 45 6,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,D
24、ecode,Execute,Fetch,Decode,Fetch,Fetch,本例中 6 个时钟周期内一共完成了?条指令全部对寄存器进行操作(单周期执行)指令周期数(CPI)=1,2.2.2 ARM流水线结构(4),多周期指令的3级流水线操作,1 2 3 4 5 6 7 8,1 ADD,2 STB,3 ADD,4 ADD,5 ADD,指令流水线出现了中断,2.2.2 ARM流水线结构(5),T4周期:指令2地址计算产生下一周期数据路 径需要的控制信号。指令3译码产生下一周期数据路径需要 的控制信号。二者都产生下一周期数据路径控制信号,数据路径控制冲突,因此断流。T5周期:指令2 STB访问数据
25、存储器 指令5取指访问程序存储器 二者都访问存储器,造成访问存储器冲突,在此断流。指令3译码 指令4的译码则不得不推迟一个周期。,2.2.2 ARM流水线结构(6),三、ARM9TDMI的五级流水线,ARM7TDMI与ARM9TDMI流水线比较,2.2.2 ARM流水线结构(7),四、ARM7和ARM9流水线比较 5级流水线的ARM9内核是哈佛架构,拥有独立的指令和数据总线;指令和数据的读取可以在同一周期进行;3级流水的ARM7内核是指令和数据总线复用的冯.诺依曼架构,指令和数据的读取不能在同一周期进行;5级流水线设计把寄存器读取、逻辑运算、结果回写分散在不同的流水当中,每一级流水的操作简洁,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM9 体系结构
链接地址:https://www.31ppt.com/p-2242154.html