第2章ARM体系结构课件.ppt
《第2章ARM体系结构课件.ppt》由会员分享,可在线阅读,更多相关《第2章ARM体系结构课件.ppt(103页珍藏版)》请在三一办公上搜索。
1、第2章 ARM体系结构,第2章 ARM体系结构,ARM概述,ARMAdvanced RISC Machines ARM 公司从事基于RISC芯片技术开发的公司,是IP供应商。该企业设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。IP(Intellectual Property)知识产权。Fabless(无生产线)RISC(Reduced Instruction Set Computer)ARM:RISC处理器IP核Fabless,ARM概述 ARMAdvanced RISC Ma
2、chin,ARM公司成立于1981年,最初与英国广播公司合作为英国教育界设计小型机,当时采用的是美国的6502芯片。取得成功后,他们开始设计自己的芯片,受当时美国加洲大学伯克利分校提出的RISC思想的影响,他们设计的芯片也采用RISC体系结构,并命名为“Acorn RISC Machine”。ARM公司的第一款芯片ARM1在1985年被设计出来,次年又设计了真正实用的ARM2。ARM2具有32位数据总线和24位地址总线,带有16个寄存器。ARM2可能是当时最简化的32位微处理器,上面仅有30000个晶体管(4年前Motorola公司的68000则有68000个晶体管)。这种精简的结构使ARM2
3、具有优异的低功耗特性,而性能则超过了同期Intel公司的286(134K个晶体管)。1990年ARM公司另外组建了一个名为“Advanced RISC Machines”的公司,专门从事ARM系列微处理器的开发。1998年ARM公司在伦敦证券交易所和NASDAQ上市。,ARM公司成立于1981年,最初与英国广播公司合作为英国教育,ARM微处理器的特点,体积小、低功耗、低成本、高性能支持Thumb(16位)/ARM(32位)双指令集大量使用寄存器,指令执行速度更快大多数数据操作都在寄存器中完成寻址方式灵活简单,执行效率高指令长度固定,ARM微处理器的特点体积小、低功耗、低成本、高性能,2.1 R
4、ISC技术和流水线技术,2.1.1 计算机体系结构1.冯诺依曼体系结构 冯诺依曼机:将数据和指令都存储在存储器中的计算机。(延用至今)计算系统由一个中央处理单元(CPU)和一个存储器组成。存储器拥有数据和指令,并且可以根据所给的地址对它进行读或写。,冯诺依曼简化了十进制的第一台计算机,最大的贡献:提出了二进制的存储程序模式,2.1 RISC技术和流水线技术2.1.1 计算机体系结构冯,2.1.1 计算机体系结构(2),2.哈佛体系结构为数据和程序提供了各自独立的存储器。程序计数器只指向程序存储器而不指向数据存储器 两组数据线允许同时访问指令和数据(访问指令和数据互不干扰),2.1.1 计算机体
5、系结构(2)2.哈佛体系结构,2.1.2 RISC技术,CISC:复杂指令集计算机(Complex Instruction Set Computer)计算机性能的提高往往是通过增加硬件的复杂性来获得。随着集成电路技术,特别是 VLSI(超大规模集成电路)技术的迅速发展,为了软件编程方便和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式。甚至某些指令可支持高级语言语句归类后的复杂操作。至使硬件越来越复杂,造价也相应提高。为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器指令功能外CISC不适用于嵌入式系统,因为嵌入式要求精简指令。,2.1.2 R
6、ISC技术CISC:复杂指令集计算机(Comp,RISC:1979年美国加州大学伯克利分校提出精简指令集计算机(Reduced Instruction Set Computer,RISC)RISC的目标:设计出简单有效的指令集。(需要用软件降低硬件执行的指令的复杂度。)RISC能够精简指令集的复杂度,简化指令实现的硬件设计,硬件只执行很有限的最常用的的那部分指令,大部分复杂的操作则由简单指令合成。80%的程序只用到了20%的指令。,RISC:,编译器,处理器(复杂性高),编译器(复杂性高),处理器,CISC,RISC,CISC和RISC的不同,编译器处理器编译器处理器CISCRISCCISC和
7、RISC的,RISC体系结构特点:大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率(优点:大部分的操作可在寄存器内执行,不需经过处理器,提高了处理速度,寄存器的速度比存储器快。)在进行指令系统设计时,只选择使用频率很高的指令,在此基础上增加少量能有效支持操作系统和高级语言实现以及其他功能的指令,使指令条数大大减少简单的寻址模式采用固定长度的指令格式,指令归整、简单、基本寻址方式有23种使用单周期指令,便于流水线操作执行为提高指令执行速度,大部分指令直接采用硬件电路实现,少量采用微码实现,RISC体系结构特点:,RISC体系结构特点,ARM体
8、系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗。大多数的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率可用加载/存储指令批量传输数据,以提高数据的传输效率可在一条数据处理指令中同时完成逻辑处理和移位处理在循环处理中使用地址的自动增减来提高运行效率,RISC体系结构特点ARM体系结构还采用了一些特别的技术,,2.1.3 流水线技术,2.指令的二级流水,1.指令的串行执行,取指令 取指令部件 完成,总有一个部件 空闲,指令预取,若 取指 和 执行 阶段时间上 完全重叠,指令周期 减半 速度提高 1 倍,执行指令 执行指令部件 完成,取指令 3执行
9、指令 32.1.3 流水线技术2.指令的二,指令的三级流水线,取指,译码,执行,从存储器取指,指令译码,从寄存器组中读寄存器,移位和ALU操作,将寄存器写回到寄存器组,取指,译码,执行,取指,译码,执行,取指,译码,执行,t,指令,1,2,3,三级指令流水线功能段划分如下:,ARM单周期指令3级流水线操作,指令的三级流水线取指译码执行从存储器取指指令译码从寄存器组中,三级流水线如何在实际指令中体现?ADD R0,R1,R2SUB R3,R4,#2CMP R5,R1第一个周期:第二个周期:第三个周期:执行完上述指令需要几个周期?,三级流水线如何在实际指令中体现?,流水线技术(3),ARM7系列微
10、处理器采用3级流水线结构(取指、译码、执行)ARM9系列微处理器采用5级流水线结构(取指、译码、执行、存储器访问、回写)ARM10系列微处理器采用6级流水线结构PXA270微处理器采用7级超级流水线结构 注:流水线级数增加,每一段的工作量减小,处理器可工作在更高的频率,性能得到改善,流水线技术(3)ARM7系列微处理器采用3级流水线结构,2.2 ARM体系结构简介,ARM命名规则:ARM xyzTDMIEJFS x:系列 y:存储管理/保护单元 z:Cache(高速缓冲存储器),2.2 ARM体系结构简介ARM命名规则:ARM xyzTD,2.2.1 ARM体系结构的演变(V1、V2、V3、V
11、4、V5、V6、cortex)一、版本V1本版本包括下列指令:1、乘法指令之外的基本数据处理指令;2、基于字节、字和多字的存储器访问操作指令(Load/Sore);3、子程序调用指令BL在内的跳转指令;4、完成系统调用的软件中断指令SWI。,2.2.1 ARM体系结构的演变,二、版本V2它仍然26位地址的机器,但包含了对32位结果的乘法指令和协处理器的支持。与版本1相比,版本2(2a)增加了下列指令:1、乘和乘加指令;2、支持协处理器的指令;3、对于FIQ模式,提供了额外的影子寄存器;4、SWP指令及SWPB指令。,二、版本V2,三、版本V3版本3较以前的版本发生了大的变化,具体的改进如下:1
12、、地址空间扩展到了32位,但除了版本3G外的其他版本是向前兼容的,也支持26位的地址空间;2、分开的当前程序状态寄存器CPSR(Current Program Status Register)和备份的程序状态寄存器SPSR(Saved Program Status Register),SPSR用于在程序异常中断时保存被中断的程序状态;3、增加了两种异常模式,使操作系统代码可方便地使用数据访问中止异常、指令预取中止异常和未定义指令异常;4、增加MRS指令和MSR指令,用于完对CPSR和SPSR寄存器的读/写;5、修改了原来的从异常中返回的指令。,三、版本V3,四、版本V4与版本3相比,版本4增加
13、了下列指令:1、有符号、无符号的半字和有符号字节的Load和Store指令。2、增加了T变种,处理器可工作于Thumb状态,在该状态下的指令集是16位的Thumb指令集。3、增加了处理器的特权模式。在该模式下,使用的是用户模式下的寄存器。版本4不再强制要求与26位地址空间兼容,而且还明确了那些指令会引起未定义指令异常。,四、版本V4,五、版本V5ARM10处理器是最早支持版本5T的(很快也会支持5TE版本)处理器。与版本4相比,版本5的指令集有了如下变化:1、提高了T变种中ARM/Thumb混合使用的效率;2、增加前导零记数(CLZ)指令,该指令可使整数除法和中断优先级排队操作更为有效;3、增
14、加了BKPT(软件断点)指令;4、为协处理器设计提供了更多的可供选择的指令;5、更加严格地定义了乘法指令对条件码标志位的影响。,五、版本V5,六、版本V6ARM体系版本6是2001年发布的。新架构V6在降低耗电量的同时,还强化了图形处理性能。通过追加有效进行多媒体处理的SIMD功能,将语音及图象的处理功能提高到了原机型的4倍。V6还支持微处理器内核。七、版本V7-Cortex前所未有的低成本实现,六、版本V6,表 ARM体系结构总结 核 体系结构,第2章ARM体系结构课件,2.2.2 ARM体系结构的特征一些特定指令的周期数可变内嵌桶形移位寄存器产生了更为复杂的指令Thumb16位指令集条件执
15、行增强指令:DSP的应用,2.2.2 ARM体系结构的特征,2.2.3 ARM体系的变种 T变种:16位指令集 M变种:长乘法指令 E变种:增强型DSP指令 J变种:JAVA加速器 SIMD变种:媒体功能扩展,2.2.3 ARM体系的变种,2.2.4 ARM系列 ARM7 ARM9 ARM9E ARM10E ARM11 strongARM、XScale,2.2.4 ARM系列,2.2.5 ARM存储数据类型,字(Word)在ARM体系结构中,字的长度为32位 半字(Half-Word)在ARM体系结构中,半字的长度为16位 字节(Byte)在ARM体系结构中,字节的长度为8位。字对齐:四字节对
16、齐半字对齐:两字节对齐,2.2.5 ARM存储数据类型字(Word),练习:1.哈佛体系结构和冯诺依曼体系结构有何不同?,冯诺依曼机:将数据和指令都存储在存储器中的计算机。计算系统由一个中央处理单元(CPU)和一个存储器组成。存储器拥有数据和指令,并且可以根据所给的地址对它进行读或写。哈佛机:为数据和程序提供了各自独立的存储器。程序计数器只指向程序存储器而不指向数据存储器,练习:1.哈佛体系结构和冯诺依曼体系结构有何不同?,练习:,2.ARM7TDMI中的T、D、M、I的含义是什么?ARM7TDMI采用几级流水线?使用何种体系结构?高密度 16 位的Thumb指令机扩展(带T 后缀的)支持片上
17、调试(带D 后缀的)、64 位乘法指令(带M 后缀的)、嵌入式ICE,支持片上断点和调试点(带I 后缀的)三级流水线(取指 译码 执行);使用了冯诺依曼(Von Neumann)结构,指令和数据共用一条32 位总线。,练习:2.ARM7TDMI中的T、D、M、I的含义是什么?,2.3 ARM微处理器工作状态,2.3.1 两种工作状态:ARM状态:处理器执行32位的字对齐的ARM指令Thumb状态:处理器执行16位的、半字对齐的Thumb指令在程序的执行过程中,微处理器可以随时在上述两种状态之间切换。处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。,2.3 ARM微处理器工作状
18、态 2.3.1 两种工作状态:,2.3 ARM微处理器的工作状态(2),2.3.2 工作状态的切换:ARM指令集和Thumb指令集均有切换处理器状态的指令。通过这些指令就可以在两种工作状态之间切换。V4版本中,BX指令可以实现程序间处理器工作状态切换(BX:带状态切换的跳转指令)V5版本中,BLR、LDR、LDM指令可以实现程序间处理器工作状态切换(BLR:带返回和状态切换的跳转指令),2.3 ARM微处理器的工作状态(2)2.3.2 工作状态,ARM微处理器的工作状态(2),2.3.2 状态切换:BX 指令的条件码。忽略时无条件执行。寄存器中为跳转的目标地址当寄存器的bit0为0时,目标地址
19、处的指令为ARM指令当寄存器的bit0为1时,目标地址处的指令为Thumb指令。注意:ARM微处理器在复位或上电时处于ARM状态,发生异常时也处于ARM状态。如果处理器在Thumb状态进入异常,当异常处理返回时,处理器仍然处在Thumb状态,ARM微处理器的工作状态(2)2.3.2 状态切换:,2.4 ARM微处理器工作模式,ARM系统结构支持7种处理器模式:用户模式(usr):用户应用程序系统模式(sys):特权模式快速中断模式(fiq):用于快速数据传输中断模式(irq):通用的中断处理管理模式(svc):操作系统使用的保护模式终止模式(abt):数据访问中止或指令预取中止未定义指令模式(
20、und):未定义的指令执行时管理模式(svc)是系统复位后的默认模式特权模式(Privileged Modes)异常模式(Exception Modes),异常模式,特权模式,2.4 ARM微处理器工作模式ARM系统结构支持7种处理器模,ARM微处理器的运行模式可以通过两种方式改变:软件(特权模式)外部中断或异常处理大多数的应用程序运行在用户模式下,当处理器运行在用户模式下,某些被保护的系统资源不能被访问,也不能改变模式,除非异常发生 特权模式可以自由地访问系统资源和改变模式。,ARM微处理器的处理器模式(2),ARM微处理器的运行模式可以通过两种方式改变:ARM微处理器,2.5 ARM处理器
21、寄存器组织,ARM处理器共有37个32位的寄存器:31个通用寄存器,分为三类:未分组寄存器(Unbanked Register):R0R7分组寄存器(Banked Register):R8R14程序计数器R15(PC指针)6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,目前只使用了其中的一部分在每一种处理器模式下均有一组相应的寄存器与之对应。在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器,写汇编程序时都会用到,2.5 ARM处理器寄存器组织ARM处理器共有37个32位,2.5 ARM处理器寄存器组织,ARM处理
22、器共有37个32位的寄存器:31个通用寄存器,分为三类:未分组寄存器(Unbanked Register):R0R7分组寄存器(Banked Register):R8R14程序计数器R15(PC指针)6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,目前只使用了其中的一部分在每一种处理器模式下均有一组相应的寄存器与之对应。在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器,2.5 ARM处理器寄存器组织ARM处理器共有37个32位,2.5.1 ARM状态下的寄存器组织,未分组寄存器(Unbanked Register
23、)R0R7同一个寄存器名,在ARM微处理器内部只有一个独立的物理寄存器与之对应。在所有的运行模式下,未分组寄存器都指向同一个物理寄存器,他们未被系统用作特殊的用途。在中断或异常处理进行运行模式转换时,由于不同的处理器运行模式均使用相同的物理寄存器,可能会造成寄存器中数据的破坏,这一点在进行程序设计时应引起注意。任何可采用通用寄存器的应用场合都可以使用未分组寄存器。,2.5.1 ARM状态下的寄存器组织未分组寄存器(Unban,2.5.1 ARM状态下的寄存器组织(2),分组寄存器(Banked Register)R8R14同一个寄存器名,在ARM微处理器内部存在多个独立的物理寄存器对于分组寄存
24、器,他们每一次所访问的物理寄存器与处理器当前的运行模式有关。R8R12:对应两个不同的物理寄存器,有两种不同的模式:fiq模式(快速中断):R8_fiqR12_fiq非fiq模式:R8_usrR12_usr,2.5.1 ARM状态下的寄存器组织(2)分组寄存器(Ban,2.5.1 ARM状态下的寄存器组织(2),分组寄存器(Banked Register)R8R14(2)R13、R14:每个寄存器对应6个不同的物理寄存器用户模式与系统模式共用一个物理寄存器另外5个物理寄存器对应于其他5种不同的运行模式可用下面的方式区分不同的物理寄存器R13_R14_mode为模式:usr、fiq、irq、sv
25、c、abt、und,2.5.1 ARM状态下的寄存器组织(2)分组寄存器(Ban,未分组寄存器,分组寄存器,程序计数器PC,异常模式,System,特权模式,未分组寄存器分组寄存器程序计数器PC异常模式System特权,2.5.1 ARM状态下的寄存器组织(3),寄存器R13寄存器R13在ARM指令中常用作堆栈指针SP。在用户应用程序的初始化部分,一般都要初始化每种模式下的R13(R13_svc、R13_irq、R13_fiq、R13_abt和R13_und),使其指向该运行模式的栈空间。当程序的运行进入异常模式时,可以将需要保护的寄存器放入R13所指向的堆栈,而当程序从异常模式返回时,则从对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM 体系结构 课件

链接地址:https://www.31ppt.com/p-2108812.html