嵌入式系统应用与开发之ARM架构培训课件_第1页
嵌入式系统应用与开发之ARM架构培训课件_第2页
嵌入式系统应用与开发之ARM架构培训课件_第3页
嵌入式系统应用与开发之ARM架构培训课件_第4页
嵌入式系统应用与开发之ARM架构培训课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章ARM体系结构ARM企业是嵌入式RISC处理器知识产权IP供给商,它为ARM架构处理器提供了ARM处理器内核(如ARM7TDMI、ARM9TDMI、ARM10TDMI等)和ARM处理器核(ARM710T/720T/740T、ARM920T/922T/940T、ARM926E/966E及ARM1020E等)。

嵌入式系统应用与开发之ARM架构培训课件第1页2.1ARM架构发展ARM企业(AdvancedRISCMachinesLimited)正式成立于1990年。当前,ARM架构处理器已在高性能、低功耗、低成本嵌入式应用领域占据领先地位,已占有75%左右市场。

ARM架构自诞生至今,已经发生了很大演变,至今已定义5种不一样版本:

嵌入式系统应用与开发之ARM架构培训课件第2页1.V1版架构

该版架构只在原型机ARM1出现过,其基本性能:

·基本数据处理指令(无乘法)

·字节、半字和字LOAD/STORE指令

·转移指令,包含子程序调用及链接指令

·软件中止指令

·寻址空间:64M字节(226)嵌入式系统应用与开发之ARM架构培训课件第3页2.V2版架构

该版架构对V1版进行了扩展,如ARM2与ARM3(V2a版)架构,增加了以下功效:

·乘法和乘加指令

·支持协处理器操作指令

·快速中止模式

·SWP/SWPB最基本存放器与存放器交换指令

·寻址空间:64M字节嵌入式系统应用与开发之ARM架构培训课件第4页3.V3版架构V3版架构对ARM体系结构作为较大改动,把寻址空间增至32位(4G字节),增加了当前途序状态存放器CPSR(CurrentProgramStatusRegister)和程序状态保留存放器SPSR(SavedProgramStatusRegister)方便于异常(Exception)处理。增加了中止(Abort)和未定义二种处理器模式。ARM6就采取该版架构。指令集改变以下:

·增加了MRS/MSR指令,以访问新增CPSR/SPSR存放器

·增加了从异常处理返回指令功效。嵌入式系统应用与开发之ARM架构培训课件第5页4.V4版架构V4版架构是当前应用最广ARM体系结构,对V3版架构进行了深入扩充,有还引进了16位Thumb指令集,使ARM使用愈加灵活。ARM7、ARM8、ARM9和StrongARM都采取该版架构。指令集中增加了以下功效:

·符号化和非符号化半字及符号化字节存/取指令

·增加了16位Thumb指令集

·完善了软件中止SWI指令功效

·处理器系统模式引进特权方式时使用用户存放器操作

·把一些未使用指令空间捕捉为未定义指令嵌入式系统应用与开发之ARM架构培训课件第6页5.V5版架构

这是最近推出ARM架构,在V4版基本上增加了一些新指令,ARM10和XScale都采取该版架构,这些新增指令有:

·带有链接和交换转移BLX指令

·计数前导零CLZ指令

·BRK中止指令

·增加了信号处理指令(V5TE版)·为协处理器增加更多可选择指令嵌入式系统应用与开发之ARM架构培训课件第7页2.2ARM架构特点RISC(ReducedInstructionSetComputer)型处理器结构尽可能降低复杂功效指令每条指令在单机器周期内执行每条指令都是32bit,含有各种操作功效访问存放空间指令采取LOAD/STORE结构采取cache来提升存/取速度多存放器结构嵌入式系统应用与开发之ARM架构培训课件第8页小知识:RISC体系结构传统CISC(ComplexInstructionSetComputer,复杂指令集计算机)结构越来越复杂。在CISC指令集各种指令中,其使用频率却相差悬殊,大约有20%指令会被重复使用,占整个程序代码80%。而余下80%指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理。嵌入式系统应用与开发之ARM架构培训课件第9页指令类型使用指令使用频度数据传送类43%转/跳控制类23%算术运算类15%比较类13%逻辑运算类5%其它1%表2.1经典指令使用频度小知识:RISC体系结构(续二)嵌入式系统应用与开发之ARM架构培训课件第10页1979年美国加州大学伯克利分校提出了RISC(ReducedInstructionSetComputer,精简指令集计算机)概念,RISC并非只是简单地去降低指令,而是把着眼点放在了怎样使计算机结构愈加简单合理地提升运算速度上。RISC结构优先选取使用频最高简单指令,防止复杂指令;将指令长度固定,指令格式和寻地方式种类降低;以控制逻辑为主,不用或少用微码控制等办法来到达上述目标。小知识:RISC体系结构(续三)嵌入式系统应用与开发之ARM架构培训课件第11页RISC体系结构应含有以下特点:采取固定长度指令格式,指令归整、简单、基本寻址方式有2~3种。使用单周期指令,便于流水线操作执行。大量使用存放器,数据处理指令只对存放器进行操作,只有加载/存放指令能够访问存放器,以提升指令执行效率。当代CPU往往采取CISC外围,内部加入了RISC特征,如超长指令集CPU就是融合了RISC和CISC优势,成为未来CPU发展方向之一。小知识:RISC体系结构(续四)嵌入式系统应用与开发之ARM架构培训课件第12页2.Thumb指令集

因为RISC型处理器指令功效相对比较弱,ARM为了填补此不足,在新型ARM架构(V4T版以上)定义了16位Thumb指令集。Thumb指令集比通常8位和16位CISC/RISC处理器含有愈加好代码密度,而芯片面积只增加6%。能够使程序存放器愈加小。Thumb指令集为ARM指令集功效子集,但与等价ARM代码相比较,可节约30%~40%以上存放空间,同时具备32位代码全部优点。嵌入式系统应用与开发之ARM架构培训课件第13页3.多处理器状态模式ARM能够支持用户、快中止、中止、管理、中止、系统和未定义等七种处理器模式,除了用户模式外,其余均为特权模式。这也是ARM特色之一,能够大大提升ARM处理器效率。嵌入式系统应用与开发之ARM架构培训课件第14页表2.2ARMversion4processormodes嵌入式系统应用与开发之ARM架构培训课件第15页4.嵌入式在线仿真调试ARM架构处理器芯片都嵌入了在线仿真ICE—RT逻辑,便于经过了JTAG来仿真调试ARM架构芯片。另外,在处理器核中还能够嵌入跟踪宏单元ETM(EmbeddedTraceMacrocell),用于监控内部总线,实时跟踪指令和数据执行。

嵌入式系统应用与开发之ARM架构培训课件第16页5.灵活和方便接口ARM架构含有协处理器接口,允许接16个协处理器。ARM处理器核还含有片上总线OCBAMBA。AMBA定义了三组总线:先进高性能总线AHB、先进系统总线ASB和先进外围总线APB。经过AMBA来方便扩充各种处理器及I/O,能够把DSP、其它处理器和I/O(如VART、定时器和接口等)都集成在一块芯片中。

嵌入式系统应用与开发之ARM架构培训课件第17页6.低电压低功耗设计

ARM架构设计采取了以下一些办法:降低电源电压,可工作在3.0V以下。降低门翻转次数,当某个功效电路不需要时禁止门翻转。降低门数目,即降低芯片集成度。降低时钟频率嵌入式系统应用与开发之ARM架构培训课件第18页2.3ARM分类ARM微处理器当前包含下面几个系列,以及其它厂商基于ARM体系结构处理器,

-ARM7系列

-ARM9系列

-ARM9E系列

-ARM10E系列

-SecurCore系列

-IntelXscale

-IntelStrongARM嵌入式系统应用与开发之ARM架构培训课件第19页1.ARM7微处理器系列ARM7系列微处理器为低功耗32位RISC处理器,最适适用于对价位和功耗要求较高消费类应用。ARM7微处理器系列特点:含有嵌入式ICE-RT逻辑,调试开发方便。极低功耗,适合对功耗要求较高应用。能够提供0.9MIPS/MHz三级流水线结构。代码密度高并兼容16位Thumb指令集。嵌入式系统应用与开发之ARM架构培训课件第20页对操作系统支持广泛,包含WindowsCE、Linux、PalmOS等。指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户产品升级换代。主频最高可达130MIPS,高速运算处理能力能胜任绝大多数复杂应用。嵌入式系统应用与开发之ARM架构培训课件第21页ARM7系列微处理器主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等各种多媒体和嵌入式应用。

ARM7系列微处理器包含以下几个类型核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中ARM7TMDI是当前使用最广泛32位嵌入式RISC处理器,属低端ARM处理器核。嵌入式系统应用与开发之ARM架构培训课件第22页内核后缀TDMI基本含义为:

T:支持16为压缩指令集Thumb;

D:支持片上Debug;

M:内嵌硬件乘法器(Multiplier)

I:嵌入式ICE,支持片上断点和调试点;处理器后缀含义

S:可综合软核Softcore

E:含有DSP功效

J:Jazeller,允许直接执行Java字节码嵌入式系统应用与开发之ARM架构培训课件第23页2.ARM9微处理器系列ARM9系列微处理器在高性能和低功耗特征方面提供最正确性能。含有以下特点:5级整数流水线,指令执行效率更高。提供1.1MIPS/MHz哈佛结构。支持32位ARM指令集和16位Thumb指令集。支持32位高速AMBA总线接口。全性能MMU,支持WindowsCE、Linux、PalmOS等各种主流嵌入式操作系统。MPU支持实时操作系统。支持数据Cache和指令Cache,含有更高指令和数据处理能力。嵌入式系统应用与开发之ARM架构培训课件第24页ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字摄影机和数字摄像机等。

ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适合用于不一样应用场所。嵌入式系统应用与开发之ARM架构培训课件第25页3.ARM9E微处理器系列ARM9E系列微处理器为可综合处理器,使用单一处理器内核提供了微控制器、DSP、Java应用系统处理方案,极大降低了芯片面积和系统复杂程度。ARM9E系列微处理器提供了增强DSP处理能力,很适合于那些需要同时使用DSP和微控制器应用场所。

ARM9系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存放设备和网络设备等领域。ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S三种类型。嵌入式系统应用与开发之ARM架构培训课件第26页ARM9E系列微处理器主要特点以下:支持DSP指令集,适合于需要高速数字信号处理场所。5级整数流水线,指令执行效率更高。支持32位ARM指令集和16位Thumb指令集。支持32位高速AMBA总线接口

嵌入式系统应用与开发之ARM架构培训课件第27页支持VFP9浮点处理协处理器。全性能MMU,支持WindowsCE、Linux、PalmOS等各种主流嵌入式操作系统。MPU支持实时操作系统。支持数据Cache和指令Cache,含有更高指令和数据处理能力。主频最高可达300MIPS。嵌入式系统应用与开发之ARM架构培训课件第28页4.ARM10E微处理器系列ARM10E系列含有高性能、低功耗特点,因为采取了新体系结构,与同等ARM9器件相比较,在一样时钟频率下,性能提升了近50%,同时,ARM10E系列微处理器采取了两种先进节能方式,使其功耗极低。

ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型。

嵌入式系统应用与开发之ARM架构培训课件第29页ARM10E系列微处理器主要特点以下:支持DSP指令集,适合于需要高速数字信号处理场所。6级整数流水线,指令执行效率更高。支持32位ARM指令集和16位Thumb指令集。支持32位高速AMBA总线接口。支持VFP10浮点处理协处理器。全性能MMU,支持WindowsCE、Linux、PalmOS等各种主流嵌入式操作系统。支持数据Cache和指令Cache,含有更高指令和数据处理能力主频最高可达400MIPS。内嵌并行读/写操作部件。嵌入式系统应用与开发之ARM架构培训课件第30页2.4ARM架构ARM架构由32位ALU、31个32位通用存放器及6位状态存放器、32×8位乘法器、32×32位桶形移位存放器、指令译码及控制逻辑、指令流水线和数据/地址存放器组成。

嵌入式系统应用与开发之ARM架构培训课件第31页图2.1ARM架构图

嵌入式系统应用与开发之ARM架构培训课件第32页1.ALU算术逻辑运算单元ALU是处理器关键中心处理部分,实现对数据进行运算处理。由二个操作数锁存器、加法器、逻辑功效、结果及零检测逻辑组成。

嵌入式系统应用与开发之ARM架构培训课件第33页图2.2ALU逻辑框图

嵌入式系统应用与开发之ARM架构培训课件第34页2.Barrelshifter桶形移位存放器

为了降低移位延迟时间,ARM采取了32×32位桶形移位存放器。这么,能够使左移/右移n位、环移n位和算术右移n位等都能够一次完成。

嵌入式系统应用与开发之ARM架构培训课件第35页图2.34×4位桶形移位存放器示意图

嵌入式系统应用与开发之ARM架构培训课件第36页3.Multiplicator高速乘法器

ARM高速乘法器采取32×8位结构,这么,能够降低集成度,(其对应芯片面积不到并行乘法器1/3),完成32×32位乘法也只需5个时钟周期。

嵌入式系统应用与开发之ARM架构培训课件第37页图2.4高速乘法器逻辑框图

嵌入式系统应用与开发之ARM架构培训课件第38页4.FloatPoint浮点部件浮点部件是作为选件为ARM架构选取,FPA10浮点加速器是作为协处理器方式与ARM相连,并经过协处理器指令解释来执行。浮点LOAD/STORE指令使用频度要到达67%,故FPA10内部也采取LOAD/STORE结构,有八个80位浮点存放器组,指令执行也采取流水线结构。嵌入式系统应用与开发之ARM架构培训课件第39页图2.5FPA10浮点加速器内部结构框图

嵌入式系统应用与开发之ARM架构培训课件第40页5.Controller控制器ARM控制器采取硬接线可编程逻辑阵列PLA,其输入端14根,输出40根,分散控制LOAD/STORE多路、乘法器、协处理器以及地址、存放器、ALU和移位器控制。新型ARM采取了二块PLA,一块小快速PLA,用来产生与时间相关输出;一块大慢速PLA用来产生其它输出。嵌入式系统应用与开发之ARM架构培训课件第41页图2.6ARM控制逻辑结构图

嵌入式系统应用与开发之ARM架构培训课件第42页6.Registers存放器

ARM处理器共有37个存放器,被分为若干个组(BANK),这些存放器包含:通用存放器包含程序计数器(PC指针),共31个,均为32位存放器。分为:i.R0-R7:与全部处理器模式无关存放器,能够用作任何用途。嵌入式系统应用与开发之ARM架构培训课件第43页ii.R8-R14:与处理器模式相关存放器,在不一样模式下,对应到不一样物理存放器。其中R13又叫做sp,普通用于堆栈指针。R14又叫做lr,普通用于保留返回地址。这两个存放器在每种异常模式下都对应到不一样物理存放器上,比如lr_irq、lr_svc、lr_fiq等。iii.R15:又叫做程序计数器,即pc,全部模式下都使用同一个pc。

嵌入式系统应用与开发之ARM架构培训课件第44页b)状态存放器用以标识CPU工作状态及程序运行状态。共6个,均为32位。CPSR:当前途序状态存放器(CurrentProgramStatusRegister),全部模式下都使用同一个CPSR。SPSR:保留程序状态存放器(SavedProgramStatusRegister)。每种异常模式下都有自己SPSR,一共有5种SPSR,即SPSR_irq、SPSR_fiq、SPSR_svc、SPSR_abt、SPSR_und。usr和sys态下没有SPSR。

嵌入式系统应用与开发之ARM架构培训课件第45页条件码标识N:负数标识Z:结果为零标识C:进位位标识V:溢出标识*Q:DSP溢出/饱和(选取)控制位I:IRQ中止禁止位F:FIQ快中止禁止位T:Thumb位M[4:0]:处理器工作模式嵌入式系统应用与开发之ARM架构培训课件第46页ARM处理器又有7种不一样处理器模式,在每一个处理器模式下都有一组对应存放器与之对应。即在任意一个处理器模式下,可访问存放器包含15个通用存放器(R0~R14)、一至二个状态存放器和程序计数器。在全部存放器中,有些是在7种处理器模式下共用同一个物理存放器,而有些存放器则是在不一样处理器模式下有不一样物理存放器。嵌入式系统应用与开发之ARM架构培训课件第47页嵌入式系统应用与开发之ARM架构培训课件第48页2.5ARM流水线结构LaundryExampleAnn,Brian,Cathy,Dave

eachhaveoneloadofclothes

towash,dry,andfoldWashertakes30minutesDryertakes40minutes“Folder”takes20minutesABCD嵌入式系统应用与开发之ARM架构培训课件第49页SequentialLaundrySequentiallaundrytakes6hoursfor4loadsIftheylearnedpipelining,howlongwouldlaundrytake?ABCD3040203040203040203040206PM7891011MidnightTaskOrderTime嵌入式系统应用与开发之ARM架构培训课件第50页PipelinedLaundry:StartworkASAPPipelinedlaundrytakes3.5hoursfor4loadsABCD6PM7891011MidnightTaskOrderTime304040404020嵌入式系统应用与开发之ARM架构培训课件第51页Pipeliningdoesn’thelplatencyofsingletask,ithelpsthroughputofentireworkloadPipelineratelimitedbyslowestpipelinestageMultipletasksoperatingsimultaneouslyusingdifferentresourcesPotentialspeedup=NumberpipestagesUnbalancedlengthsofpipestagesreducesspeedupTimeto“fill”pipelineandtimeto“drain”itreducesspeedupStallforDependences嵌入式系统应用与开发之ARM架构培训课件第52页计算机中一条指令执行能够分若干个阶段:1.取指,从存放器中取出指令(fetch)2.译码,指令译码(dec)3.取操作数,假定操作数从存放器组中取(reg)4.执行运算(ALU)5.存放器访问,操作数与存放器相关(mem)6.结果写回存放器(res)嵌入式系统应用与开发之ARM架构培训课件第53页图2.8指令执行流水线

嵌入式系统应用与开发之ARM架构培训课件第54页图2.9流水线停顿

嵌入式系统应用与开发之ARM架构培训课件第55页图2.10流水线转移指令情况

嵌入式系统应用与开发之ARM架构培训课件第56页1.ARM三级流水线结构ARM7架构采取了三级流水线,分为取指,译码和执行。图2.11ARM单周期三级流水线

嵌入式系统应用与开发之ARM架构培训课件第57页图2.12ARM多周期三级流水线

嵌入式系统应用与开发之ARM架构培训课件第58页2.ARM五级流水线结构三级流水线阻塞主要产生在存放器访问和数据通路占用上。所以ARM9及StrongARM架构都采取了五级流水

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论