




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章ARM体系结构ARM公司是嵌入式RISC处理器的知识产权IP供应商,它为ARM架构处理器提供了ARM处理器内核(如ARM7TDMI、ARM9TDMI、ARM10TDMI等)和ARM处理器核(ARM710T/720T/740T、ARM920T/922T/940T、ARM926E/966E及ARM1020E等)。
第二章ARM体系结构ARM公司是12.1ARM架构的发展ARM公司(AdvancedRISCMachinesLimited)正式成立于1990年。目前,ARM架构处理器已在高性能、低功耗、低成本的嵌入式应用领域占据领先地位,已占有75%左右的市场。
ARM架构自诞生至今,已经发生了很大的演变,至今已定义5种不同的版本:
2.1ARM架构的发展ARM公司21.V1版架构
该版架构只在原型机ARM1出现过,其基本性能:
·基本的数据处理指令(无乘法)
·字节、半字和字的LOAD/STORE指令
·转移指令,包括子程序调用及链接指令
·软件中断指令
·寻址空间:64M字节(226)1.V1版架构32.V2版架构
该版架构对V1版进行了扩展,如ARM2与ARM3(V2a版)架构,增加了以下功能:
·乘法和乘加指令
·支持协处理器操作指令
·快速中断模式
·SWP/SWPB的最基本存储器与寄存器交换指令
·寻址空间:64M字节2.V2版架构43.V3版架构V3版架构对ARM体系结构作为较大的改动,把寻址空间增至32位(4G字节),增加了当前程序状态寄存器CPSR(CurrentProgramStatusRegister)和程序状态保存寄存器SPSR(SavedProgramStatusRegister)以便于异常(Exception)的处理。增加了中止(Abort)和未定义二种处理器模式。ARM6就采用该版架构。指令集变化如下:
·增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存器
·增加了从异常处理返回的指令功能。3.V3版架构54.V4版架构V4版架构是目前应用最广的ARM体系结构,对V3版架构进行了进一步扩充,有的还引进了16位的Thumb指令集,使ARM使用更加灵活。ARM7、ARM8、ARM9和StrongARM都采用该版架构。指令集中增加了以下功能:
·符号化和非符号化半字及符号化字节的存/取指令
·增加了16位Thumb指令集
·完善了软件中断SWI指令的功能
·处理器系统模式引进特权方式时使用用户寄存器操作
·把一些未使用的指令空间捕获为未定义指令4.V4版架构65.V5版架构
这是最近推出ARM架构,在V4版基本上增加了一些新的指令,ARM10和XScale都采用该版架构,这些新增指令有:
·带有链接和交换的转移BLX指令
·计数前导零CLZ指令
·BRK中断指令
·增加了信号处理指令(V5TE版)·为协处理器增加更多可选择的指令5.V5版架构72.2ARM架构的特点RISC(ReducedInstructionSetComputer)型处理器结构尽量减少复杂功能指令每条指令在单机器周期内执行每条指令都是32bit,具有多种操作功能访问存储空间指令采用LOAD/STORE结构采用cache来提高存/取速度多寄存器结构2.2ARM架构的特点RISC(ReducedInstr8小知识:RISC体系结构传统的CISC(ComplexInstructionSetComputer,复杂指令集计算机)结构越来越复杂。在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。小知识:RISC体系结构传统的CISC9指令类型使用指令使用频度数据传送类43%转/跳控制类23%算术运算类15%比较类13%逻辑运算类5%其他1%表2.1典型指令使用频度小知识:RISC体系结构(续二)指令类型使用指令使用频度数据传送类43%转/101979年美国加州大学伯克利分校提出了RISC(ReducedInstructionSetComputer,精简指令集计算机)的概念,RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。RISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。小知识:RISC体系结构(续三)1979年美国加州大学伯克利分校提出11RISC体系结构应具有如下特点:采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。使用单周期指令,便于流水线操作执行。大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。现代的CPU往往采用CISC的外围,内部加入了RISC的特性,如超长指令集CPU就是融合了RISC和CISC的优势,成为未来的CPU发展方向之一。小知识:RISC体系结构(续四)RISC体系结构应具有如下特点:小知识:RISC体系结构(续122.Thumb指令集
由于RISC型处理器的指令功能相对比较弱,ARM为了弥补此不足,在新型ARM架构(V4T版以上)定义了16位的Thumb指令集。Thumb指令集比通常的8位和16位CISC/RISC处理器具有更好的代码密度,而芯片面积只增加6%。可以使程序存储器更加小。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。2.Thumb指令集133.多处理器状态模式ARM可以支持用户、快中断、中断、管理、中止、系统和未定义等七种处理器模式,除了用户模式外,其余的均为特权模式。这也是ARM的特色之一,可以大大提高ARM处理器的效率。3.多处理器状态模式14表2.2ARMversion4processormodes表2.2ARMversion4processormo154.嵌入式在线仿真调试ARM架构的处理器芯片都嵌入了在线仿真ICE—RT逻辑,便于通过了JTAG来仿真调试ARM架构芯片。另外,在处理器核中还可以嵌入跟踪宏单元ETM(EmbeddedTraceMacrocell),用于监控内部总线,实时跟踪指令和数据的执行。
4.嵌入式在线仿真调试165.灵活和方便的接口ARM架构具有协处理器接口,允许接16个协处理器。ARM处理器核还具有片上总线OCB的AMBA。AMBA定义了三组总线:先进高性能总线AHB、先进系统总线ASB和先进外围总线APB。通过AMBA来方便扩充各种处理器及I/O,可以把DSP、其他处理器和I/O(如VART、定时器和接口等)都集成在一块芯片中。
5.灵活和方便的接口176.低电压低功耗的设计
ARM架构的设计采用了以下一些措施:降低电源电压,可工作在3.0V以下。减少门的翻转次数,当某个功能电路不需要时禁止门翻转。减少门的数目,即降低芯片的集成度。降低时钟频率6.低电压低功耗的设计182.3ARM的分类ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,
-ARM7系列
-ARM9系列
-ARM9E系列
-ARM10E系列
-SecurCore系列
-Intel的Xscale
-Intel的StrongARM2.3ARM的分类ARM微处理器目前包括下面几191.ARM7微处理器系列ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列特点:具有嵌入式ICE-RT逻辑,调试开发方便。极低的功耗,适合对功耗要求较高的应用。能够提供0.9MIPS/MHz的三级流水线结构。代码密度高并兼容16位的Thumb指令集。1.ARM7微处理器系列ARM7系列微处理器为低功耗的20对操作系统的支持广泛,包括WindowsCE、Linux、PalmOS等。指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。对操作系统的支持广泛,包括WindowsCE、Linux、21ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。
ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。ARM7系列微处理器的主要应用领域为22内核后缀TDMI的基本含义为:
T:支持16为压缩指令集Thumb;
D:支持片上Debug;
M:内嵌硬件乘法器(Multiplier)
I:嵌入式ICE,支持片上断点和调试点;处理器后缀的含义
S:可综合的软核Softcore
E:具有DSP的功能
J:Jazeller,允许直接执行Java字节码内核后缀TDMI的基本含义为:
T:支持16为压缩指令232.ARM9微处理器系列ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:5级整数流水线,指令执行效率更高。提供1.1MIPS/MHz的哈佛结构。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口。全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统。MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。2.ARM9微处理器系列ARM9系列微处理器在高性能24ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。
ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。ARM9系列微处理器主要应用于无线设253.ARM9E微处理器系列ARM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。
ARM9系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S三种类型。3.ARM9E微处理器系列ARM9E系列微处理器为可26ARM9E系列微处理器的主要特点如下:支持DSP指令集,适合于需要高速数字信号处理的场合。5级整数流水线,指令执行效率更高。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口
ARM9E系列微处理器的主要特点如下:27支持VFP9浮点处理协处理器。全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统。MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。主频最高可达300MIPS。支持VFP9浮点处理协处理器。284.ARM10E微处理器系列ARM10E系列具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50%,同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低。
ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型。
4.ARM10E微处理器系列ARM29ARM10E系列微处理器的主要特点如下:支持DSP指令集,适合于需要高速数字信号处理的场合。6级整数流水线,指令执行效率更高。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口。支持VFP10浮点处理协处理器。全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力主频最高可达400MIPS。内嵌并行读/写操作部件。ARM10E系列微处理器的主要特点如下:302.4ARM架构ARM架构由32位ALU、31个32位通用寄存器及6位状态寄存器、32×8位乘法器、32×32位桶形移位寄存器、指令译码及控制逻辑、指令流水线和数据/地址寄存器组成。
2.4ARM架构ARM架构由32位ALU、3131图2.1ARM架构图
图2.1ARM架构图321.ALU算术逻辑运算单元ALU是处理器核心的中心处理部分,实现对数据进行运算处理。由二个操作数锁存器、加法器、逻辑功能、结果及零检测逻辑构成。
1.ALU算术逻辑运算单元ALU是处理器核心的中33图2.2ALU逻辑框图
图2.2ALU逻辑框图342.Barrelshifter桶形移位寄存器
为了减少移位的延迟时间,ARM采用了32×32位的桶形移位寄存器。这样,可以使左移/右移n位、环移n位和算术右移n位等都可以一次完成。
2.Barrelshifter桶形移位寄存器35图2.34×4位桶形移位寄存器示意图
图2.34×4位桶形移位寄存器示意图363.Multiplicator高速乘法器
ARM的高速乘法器采用32×8位的结构,这样,可以降低集成度,(其相应芯片面积不到并行乘法器的1/3),完成32×32位乘法也只需5个时钟周期。
3.Multiplicator高速乘法器AR37图2.4高速乘法器逻辑框图
图2.4高速乘法器逻辑框图384.FloatPoint浮点部件浮点部件是作为选件为ARM架构选用,FPA10浮点加速器是作为协处理器方式与ARM相连,并通过协处理器指令的解释来执行。浮点的LOAD/STORE指令使用频度要达到67%,故FPA10内部也采用LOAD/STORE结构,有八个80位浮点寄存器组,指令执行也采用流水线结构。4.FloatPoint浮点部件浮点部件是39图2.5FPA10浮点加速器内部结构框图
图2.5FPA10浮点加速器内部结构框图405.Controller控制器ARM的控制器采用硬接线的可编程逻辑阵列PLA,其输入端14根,输出40根,分散控制LOAD/STORE多路、乘法器、协处理器以及地址、寄存器、ALU和移位器的控制。新型的ARM采用了二块PLA,一块小的快速PLA,用来产生与时间相关的输出;一块大的慢速PLA用来产生其他输出。5.Controller控制器ARM的控制器41图2.6ARM控制逻辑结构图
图2.6ARM控制逻辑结构图426.Registers寄存器
ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:通用寄存器包括程序计数器(PC指针),共31个,均为32位的寄存器。分为:i.R0-R7:与所有处理器模式无关的寄存器,可以用作任何用途。6.Registers寄存器ARM处理器共有43ii.R8-R14:与处理器模式有关的寄存器,在不同的模式下,对应到不同的物理寄存器。其中R13又叫做sp,一般用于堆栈指针。R14又叫做lr,一般用于保存返回地址。这两个寄存器在每种异常模式下都对应到不同的物理寄存器上,例如lr_irq、lr_svc、lr_fiq等。iii.R15:又叫做程序计数器,即pc,所有的模式下都使用同一个pc。
嵌入式系统应用与开发第二章ARM架构(一)课件44b)状态寄存器用以标识CPU的工作状态及程序的运行状态。共6个,均为32位。CPSR:当前程序状态寄存器(CurrentProgramStatusRegister),所有的模式下都使用同一个CPSR。SPSR:保存程序状态寄存器(SavedProgramStatusRegister)。每种异常模式下都有自己的SPSR,一共有5种SPSR,即SPSR_irq、SPSR_fiq、SPSR_svc、SPSR_abt、SPSR_und。usr和sys态下没有SPSR。
b)状态寄存器45条件码标识N:负数标识Z:结果为零标识C:进位位标识V:溢出标识*Q:DSP的溢出/饱和(选用)控制位I:IRQ中断禁止位F:FIQ快中断禁止位T:Thumb位M[4:0]:处理器工作模式条件码标识控制位46ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、一至二个状态寄存器和程序计数器。在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。ARM处理器又有7种不同的处理器模式,在每一种处47嵌入式系统应用与开发第二章ARM架构(一)课件482.5ARM流水线结构LaundryExampleAnn,Brian,Cathy,Dave
eachhaveoneloadofclothes
towash,dry,andfoldWashertakes30minutesDryertakes40minutes“Folder”takes20minutesABCD2.5ARM流水线结构LaundryExampleABC49SequentialLaundrySequentiallaundrytakes6hoursfor4loadsIftheylearnedpipelining,howlongwouldlaundrytake?ABCD3040203040203040203040206PM7891011MidnightTaskOrderTimeSequentialLaundrySequentiall50PipelinedLaundry:StartworkASAPPipelinedlaundrytakes3.5hoursfor4loadsABCD6PM7891011MidnightTaskOrderTime304040404020PipelinedLaundry:Startwork51Pipeliningdoesn’thelplatencyofsingletask,ithelpsthroughputofentireworkloadPipelineratelimitedbyslowestpipelinestageMultipletasksoperatingsimultaneouslyusingdifferentresourcesPotentialspeedup=NumberpipestagesUnbalancedlengthsofpipestagesreducesspeedupTimeto“fill”pipelineandtimeto“drain”itreducesspeedupStallforDependencesPipeliningdoesn’thelplatenc52计算机中的一条指令的执行可以分若干个阶段:1.取指,从存储器中取出指令(fetch)2.译码,指令译码(dec)3.取操作数,假定操作数从寄存器组中取(reg)4.执行运算(ALU)5.存储器访问,操作数与存储器有关(mem)6.结果写回寄存器(res)计算机中的一条指令的执行可以分若干个阶段:53图2.8指令执行流水线
图2.8指令执行流水线54图2.9流水线的停顿
图2.9流水线的停顿55图2.10流水线的转移指令的情况
图2.10流水线的转移指令的情况561.ARM三级流水线结构ARM7架构采用了三级流水线,分为取指,译码和执行。图2.11ARM单周期三级流水线
1.ARM三级流水线结构ARM7架构采用了三级57图2.12ARM多周期三级流水线
图2.12ARM多周期三级流水线582.ARM五级流水线结构三级流水线阻塞主要产生在存储器访问和数据通路的占用上。因此ARM9及StrongARM架构都采用了五级流水线。把存储器的取指与数据存取分开,同时,还增加了I-Cache和D-Cache以提高存储器存取的效率;其次,增加了数据写回的专门通路和寄存器,以减少数据通路冲突,这样,五级流水线分为:取指、指令译码、执行、数据缓存和写回等。2.ARM五级流水线结构三级流水线阻塞主要产59TheFiveStagesofLoadIfetch:InstructionFetchFetchtheinstructionfromtheInstructionMemoryReg/Dec:RegistersFetchandInstructionDecodeExec:CalculatethememoryaddressMem:ReadthedatafromtheDataMemoryWr:WritethedatabacktotheregistersStage1Stage2Stage3Stage4Stage5IfetchReg/DecExecMemWrLoadTheFiveStagesofLoadIfetch:60嵌入式系统应用与开发第二章ARM架构(一)课件613.ARM流水线设计流水线除了加深流水线的深度和加快时钟频率来提高流水线的效率和吞吐率,还需要解决流水线中的结构冲突、数据冲突和控制冲突等流水线冲突问题。3.ARM流水线设计流水线除了加深流水线的深62结构冲突解决方法:采用分离式指令Cache和数据Cache。使取指和存储器的数据访问不再发生冲突。同时也解决了相应的数据通路问题。ALU中采用单独加法器来完成地址计算。使执行周期的运算不再产生资源冲突。结构冲突63b)数据冲突
有“写后读RAW”、“写后写WAW”和“读后写WAR”等几种,主要是RAW。解决方法:定向Forwarding流水线互锁PipelineInterlock编译器的指令调度b)数据冲突64c)控制冲突流水线遇到跳转指令或者其它更改PC值的指令就会产生控制冲突。解决方法:指令预测。
尽早判断分支转移是否成功,从而采取相应的预测转移和延迟转移,以降低分支转移的损失。尽早计算出分支转移成功时的PC值(即分支的目标地址)。有些ARM架构处理器流水线的译码阶段增加了一个专用加法器来计算分支的目标地址。c)控制冲突65第二章ARM体系结构ARM公司是嵌入式RISC处理器的知识产权IP供应商,它为ARM架构处理器提供了ARM处理器内核(如ARM7TDMI、ARM9TDMI、ARM10TDMI等)和ARM处理器核(ARM710T/720T/740T、ARM920T/922T/940T、ARM926E/966E及ARM1020E等)。
第二章ARM体系结构ARM公司是662.1ARM架构的发展ARM公司(AdvancedRISCMachinesLimited)正式成立于1990年。目前,ARM架构处理器已在高性能、低功耗、低成本的嵌入式应用领域占据领先地位,已占有75%左右的市场。
ARM架构自诞生至今,已经发生了很大的演变,至今已定义5种不同的版本:
2.1ARM架构的发展ARM公司671.V1版架构
该版架构只在原型机ARM1出现过,其基本性能:
·基本的数据处理指令(无乘法)
·字节、半字和字的LOAD/STORE指令
·转移指令,包括子程序调用及链接指令
·软件中断指令
·寻址空间:64M字节(226)1.V1版架构682.V2版架构
该版架构对V1版进行了扩展,如ARM2与ARM3(V2a版)架构,增加了以下功能:
·乘法和乘加指令
·支持协处理器操作指令
·快速中断模式
·SWP/SWPB的最基本存储器与寄存器交换指令
·寻址空间:64M字节2.V2版架构693.V3版架构V3版架构对ARM体系结构作为较大的改动,把寻址空间增至32位(4G字节),增加了当前程序状态寄存器CPSR(CurrentProgramStatusRegister)和程序状态保存寄存器SPSR(SavedProgramStatusRegister)以便于异常(Exception)的处理。增加了中止(Abort)和未定义二种处理器模式。ARM6就采用该版架构。指令集变化如下:
·增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存器
·增加了从异常处理返回的指令功能。3.V3版架构704.V4版架构V4版架构是目前应用最广的ARM体系结构,对V3版架构进行了进一步扩充,有的还引进了16位的Thumb指令集,使ARM使用更加灵活。ARM7、ARM8、ARM9和StrongARM都采用该版架构。指令集中增加了以下功能:
·符号化和非符号化半字及符号化字节的存/取指令
·增加了16位Thumb指令集
·完善了软件中断SWI指令的功能
·处理器系统模式引进特权方式时使用用户寄存器操作
·把一些未使用的指令空间捕获为未定义指令4.V4版架构715.V5版架构
这是最近推出ARM架构,在V4版基本上增加了一些新的指令,ARM10和XScale都采用该版架构,这些新增指令有:
·带有链接和交换的转移BLX指令
·计数前导零CLZ指令
·BRK中断指令
·增加了信号处理指令(V5TE版)·为协处理器增加更多可选择的指令5.V5版架构722.2ARM架构的特点RISC(ReducedInstructionSetComputer)型处理器结构尽量减少复杂功能指令每条指令在单机器周期内执行每条指令都是32bit,具有多种操作功能访问存储空间指令采用LOAD/STORE结构采用cache来提高存/取速度多寄存器结构2.2ARM架构的特点RISC(ReducedInstr73小知识:RISC体系结构传统的CISC(ComplexInstructionSetComputer,复杂指令集计算机)结构越来越复杂。在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。小知识:RISC体系结构传统的CISC74指令类型使用指令使用频度数据传送类43%转/跳控制类23%算术运算类15%比较类13%逻辑运算类5%其他1%表2.1典型指令使用频度小知识:RISC体系结构(续二)指令类型使用指令使用频度数据传送类43%转/751979年美国加州大学伯克利分校提出了RISC(ReducedInstructionSetComputer,精简指令集计算机)的概念,RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。RISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。小知识:RISC体系结构(续三)1979年美国加州大学伯克利分校提出76RISC体系结构应具有如下特点:采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。使用单周期指令,便于流水线操作执行。大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。现代的CPU往往采用CISC的外围,内部加入了RISC的特性,如超长指令集CPU就是融合了RISC和CISC的优势,成为未来的CPU发展方向之一。小知识:RISC体系结构(续四)RISC体系结构应具有如下特点:小知识:RISC体系结构(续772.Thumb指令集
由于RISC型处理器的指令功能相对比较弱,ARM为了弥补此不足,在新型ARM架构(V4T版以上)定义了16位的Thumb指令集。Thumb指令集比通常的8位和16位CISC/RISC处理器具有更好的代码密度,而芯片面积只增加6%。可以使程序存储器更加小。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。2.Thumb指令集783.多处理器状态模式ARM可以支持用户、快中断、中断、管理、中止、系统和未定义等七种处理器模式,除了用户模式外,其余的均为特权模式。这也是ARM的特色之一,可以大大提高ARM处理器的效率。3.多处理器状态模式79表2.2ARMversion4processormodes表2.2ARMversion4processormo804.嵌入式在线仿真调试ARM架构的处理器芯片都嵌入了在线仿真ICE—RT逻辑,便于通过了JTAG来仿真调试ARM架构芯片。另外,在处理器核中还可以嵌入跟踪宏单元ETM(EmbeddedTraceMacrocell),用于监控内部总线,实时跟踪指令和数据的执行。
4.嵌入式在线仿真调试815.灵活和方便的接口ARM架构具有协处理器接口,允许接16个协处理器。ARM处理器核还具有片上总线OCB的AMBA。AMBA定义了三组总线:先进高性能总线AHB、先进系统总线ASB和先进外围总线APB。通过AMBA来方便扩充各种处理器及I/O,可以把DSP、其他处理器和I/O(如VART、定时器和接口等)都集成在一块芯片中。
5.灵活和方便的接口826.低电压低功耗的设计
ARM架构的设计采用了以下一些措施:降低电源电压,可工作在3.0V以下。减少门的翻转次数,当某个功能电路不需要时禁止门翻转。减少门的数目,即降低芯片的集成度。降低时钟频率6.低电压低功耗的设计832.3ARM的分类ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,
-ARM7系列
-ARM9系列
-ARM9E系列
-ARM10E系列
-SecurCore系列
-Intel的Xscale
-Intel的StrongARM2.3ARM的分类ARM微处理器目前包括下面几841.ARM7微处理器系列ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列特点:具有嵌入式ICE-RT逻辑,调试开发方便。极低的功耗,适合对功耗要求较高的应用。能够提供0.9MIPS/MHz的三级流水线结构。代码密度高并兼容16位的Thumb指令集。1.ARM7微处理器系列ARM7系列微处理器为低功耗的85对操作系统的支持广泛,包括WindowsCE、Linux、PalmOS等。指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。对操作系统的支持广泛,包括WindowsCE、Linux、86ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。
ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。ARM7系列微处理器的主要应用领域为87内核后缀TDMI的基本含义为:
T:支持16为压缩指令集Thumb;
D:支持片上Debug;
M:内嵌硬件乘法器(Multiplier)
I:嵌入式ICE,支持片上断点和调试点;处理器后缀的含义
S:可综合的软核Softcore
E:具有DSP的功能
J:Jazeller,允许直接执行Java字节码内核后缀TDMI的基本含义为:
T:支持16为压缩指令882.ARM9微处理器系列ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:5级整数流水线,指令执行效率更高。提供1.1MIPS/MHz的哈佛结构。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口。全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统。MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。2.ARM9微处理器系列ARM9系列微处理器在高性能89ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。
ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。ARM9系列微处理器主要应用于无线设903.ARM9E微处理器系列ARM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。
ARM9系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S三种类型。3.ARM9E微处理器系列ARM9E系列微处理器为可91ARM9E系列微处理器的主要特点如下:支持DSP指令集,适合于需要高速数字信号处理的场合。5级整数流水线,指令执行效率更高。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口
ARM9E系列微处理器的主要特点如下:92支持VFP9浮点处理协处理器。全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统。MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。主频最高可达300MIPS。支持VFP9浮点处理协处理器。934.ARM10E微处理器系列ARM10E系列具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50%,同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低。
ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型。
4.ARM10E微处理器系列ARM94ARM10E系列微处理器的主要特点如下:支持DSP指令集,适合于需要高速数字信号处理的场合。6级整数流水线,指令执行效率更高。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口。支持VFP10浮点处理协处理器。全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力主频最高可达400MIPS。内嵌并行读/写操作部件。ARM10E系列微处理器的主要特点如下:952.4ARM架构ARM架构由32位ALU、31个32位通用寄存器及6位状态寄存器、32×8位乘法器、32×32位桶形移位寄存器、指令译码及控制逻辑、指令流水线和数据/地址寄存器组成。
2.4ARM架构ARM架构由32位ALU、3196图2.1ARM架构图
图2.1ARM架构图971.ALU算术逻辑运算单元ALU是处理器核心的中心处理部分,实现对数据进行运算处理。由二个操作数锁存器、加法器、逻辑功能、结果及零检测逻辑构成。
1.ALU算术逻辑运算单元ALU是处理器核心的中98图2.2ALU逻辑框图
图2.2ALU逻辑框图992.Barrelshifter桶形移位寄存器
为了减少移位的延迟时间,ARM采用了32×32位的桶形移位寄存器。这样,可以使左移/右移n位、环移n位和算术右移n位等都可以一次完成。
2.Barrelshifter桶形移位寄存器100图2.34×4位桶形移位寄存器示意图
图2.34×4位桶形移位寄存器示意图1013.Multiplicator高速乘法器
ARM的高速乘法器采用32×8位的结构,这样,可以降低集成度,(其相应芯片面积不到并行乘法器的1/3),完成32×32位乘法也只需5个时钟周期。
3.Multiplicator高速乘法器AR102图2.4高速乘法器逻辑框图
图2.4高速乘法器逻辑框图1034.FloatPoint浮点部件浮点部件是作为选件为ARM架构选用,FPA10浮点加速器是作为协处理器方式与ARM相连,并通过协处理器指令的解释来执行。浮点的LOAD/STORE指令使用频度要达到67%,故FPA10内部也采用LOAD/STORE结构,有八个80位浮点寄存器组,指令执行也采用流水线结构。4.FloatPoint浮点部件浮点部件是104图2.5FPA10浮点加速器内部结构框图
图2.5FPA10浮点加速器内部结构框图1055.Controller控制器ARM的控制器采用硬接线的可编程逻辑阵列PLA,其输入端14根,输出40根,分散控制LOAD/STORE多路、乘法器、协处理器以及地址、寄存器、ALU和移位器的控制。新型的ARM采用了二块PLA,一块小的快速PLA,用来产生与时间相关的输出;一块大的慢速PLA用来产生其他输出。5.Controller控制器ARM的控制器106图2.6ARM控制逻辑结构图
图2.6ARM控制逻辑结构图1076.Registers寄存器
ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:通用寄存器包括程序计数器(PC指针),共31个,均为32位的寄存器。分为:i.R0-R7:与所有处理器模式无关的寄存器,可以用作任何用途。6.Registers寄存器ARM处理器共有108ii.R8-R14:与处理器模式有关的寄存器,在不同的模式下,对应到不同的物理寄存器。其中R13又叫做sp,一般用于堆栈指针。R14又叫做lr,一般用于保存返回地址。这两个寄存器在每种异常模式下都对应到不同的物理寄存器上,例如lr_irq、lr_svc、lr_fiq等。iii.R15:又叫做程序计数器,即pc,所有的模式下都使用同一个pc。
嵌入式系统应用与开发第二章ARM架构(一)课件109b)状态寄存器用以标识CPU的工作状态及程序的运行状态。共6个,均为32位。CPSR:当前程序状态寄存器(CurrentProgramStatusRegister),所有的模式下都使用同一个CPSR。SPSR:保存程序状态寄存器(SavedProgramStatusRegister)。每种异常模式下都有自己的SPSR,一共有5种SPSR,即SPSR_irq、SPSR_fiq、SPSR_svc、SPSR_abt、SPSR_und。usr和sys态下没有SPSR。
b)状态寄存器110条件码标识N:负数标识Z:结果为零标识C:进位位标识V:溢出标识*Q:DSP的溢出/饱和(选用)控制位I:IRQ中断禁止位F:FIQ快中断禁止位T:Thumb位M[4:0]:处理器工作模式条件码标识控制位111ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、一至二个状态寄存器和程序计数器。在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。ARM处理器又有7种不同的处理器模式,在每一种处112嵌入式系统应用与开发第二章ARM架构(一)课件1132.5ARM流水线结构LaundryExampleAnn,Brian,Cathy,Dave
eachhaveoneloadofclothes
towash,dry,andfoldWashertakes30minutesDryertakes40minutes“Folder”takes20minutesABCD2.5ARM流水线结构LaundryExampleABC114SequentialLaundrySequentiallaundrytakes6hoursfor4loadsIftheylearnedpipelining,howlongwouldlaundrytake?ABCD3040203040203040203040206PM7891011MidnightTaskOrderTimeSequentialLaundrySequentiall115Pipelined
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业与劳动者签订劳动合同的保密协议与竞业限制条款
- 离婚双方股份分割与共同财产分割合同
- 物业管理公司员工劳动争议调解及仲裁协议
- 广告创意落地执行代理合同
- 注重团队建设提升团队执行力
- 促进话叫员工团队协同
- UML理论概述方案
- 零售业销售策略制定方案
- 2025重庆市万州区沙河街道办事处公益性岗位招聘1人笔试备考试题及答案解析
- 供给侧改革下农业企业融资策略研究-以江苏省农垦集团有限公司为例
- 心电图质量管理制度
- 2025年全国新高考英语II卷试题解析及复习备考策略(课件)
- 儿童上呼吸道健康管理
- 数字成瘾机制研究-洞察及研究
- 海事英语阅读 课件Unit 9 Text A Types of Maritime Vessels
- 2025科技公司研发部门劳动合同范本
- DB32-T 4264-2022 金属冶炼企业中频炉使用安全技术规范
- 2024-2025学年统编版(2024)初中历史七年级下册(全册)教学设计(附目录P162)
- 统编版高中政治选择性必修3《逻辑与思维》期末综合测试卷(含答案解析)
- 国网安规培训课件
- 干部教育培训工作条例解读
评论
0/150
提交评论