嵌入式系统原理与应用 第2章-ARM7体系结构.ppt
《嵌入式系统原理与应用 第2章-ARM7体系结构.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统原理与应用 第2章-ARM7体系结构.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.ARM简介2.ARM7TDMI3.ARM的模块、内核和功能框图4.ARM处理器状态5.ARM处理器模式ARM7体系结构6.ARM内部寄存器7.当前程序状态寄存器8.ARM体系的异常、中断及其向量表9.ARM体系的存储系统1冯冯诺依曼体系结构模型诺依曼体系结构模型指令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器存储器存储器程序程序指令指令0 0指令指令1 1指令指令2 2指令指令3 3指令指令4 4数据数据数据数据0 0数据数据1 1数据数据2 22哈佛体系结构哈佛体系结构指令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器
2、程序存储器程序存储器指令指令0指令指令1指令指令2数据存储器数据存储器数据数据0数据数据1数据数据2地址地址指令指令地址地址数据数据3CISC和和RISCCISCCISC:复杂指令集(:复杂指令集(Complex Instruction Set ComputerComplex Instruction Set Computer)具有大量的指令和寻址方式具有大量的指令和寻址方式8/28/2原则:原则:80%80%的程序只使用的程序只使用20%20%的指令的指令大多数程序只使用少量的指令就能够运行。大多数程序只使用少量的指令就能够运行。RISCRISC:精简指令集(:精简指令集(Reduced In
3、struction Set Computer)Reduced Instruction Set Computer)在通道中只包含最有用的指令在通道中只包含最有用的指令确保数据通道快速执行每一条指令确保数据通道快速执行每一条指令使使CPUCPU硬件结构设计变得更为简单硬件结构设计变得更为简单 42.1ARM简介lARM公司简介ARM是AdvancedRISCMachines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC处理器。ARM公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM(OriginalEquipmentManu
4、facturer,原始设备生产商)厂商,并提供服务。OEM:定牌生产合作,俗称“贴牌”。这种委托他人生产的合作方式即为OEM,承接这加工任务的制造商就被称为OEM厂商,其生产的产品就是OEM产品。5授权费IPARM创造和设计IP产品,例如:芯片Partner把ARMIP和其他IP集成进产品版权费单价OEM用来自ARMPartner的芯片设计制造最终用户产品业务拓展/市场格局ARMARM的业务模型的业务模型62.1ARM简介lARM公司简介将技术授权给其它芯片厂商形成各具特色的形成各具特色的ARMARM芯片芯片.72.1ARM简介lRISC结构特性两种体系结构:CISC(ComplexInstr
5、uctionSetComputer),即“复杂指令系统计算机PC机系列;RISCRISC(reducedinstructionsetcomputer)是精简指令集计算机的缩写,其目标是设计出在高时钟频率下设计出在高时钟频率下单周期执行,简单而有效的指令集单周期执行,简单而有效的指令集。ARM内核采用RISC体系结构,因此具有RISC的结构特点:具有大量的通用存储器;具有大量的通用存储器;独特的装载独特的装载/保存(保存(load-storeload-store)结构;)结构;简单的寻址模式简单的寻址模式;统一和固定长度的指令格式。统一和固定长度的指令格式。82.1ARM简介 为了使ARM能够更
6、好地满足嵌入式应用的需要,ARM体系结构还有以下特点:每条数据处理指令可同时包含算术逻辑单元(ALU)的运算和移位处理,实现ALU和移位器的最大利用;使用地址自增和自减地址自增和自减的寻址方式优化程序循环;装载装载/保存保存指令对数据的批量传输,实现最大数据吞吐量;多数指令的依条件执行,实现最快速的代码执行。lARM体系结构92.1ARM简介l常用ARM处理器系列 ARM公司开发了很多系列的ARM处理器核,目前最新的系列是Cortex,而ARM6核以及更早的系列已经很罕见了。当前应用比较多的ARM处理器核系列有:ARM7ARM9ARM10EXscaleARM11CortexARM9E本课程主要
7、介绍ARM7系列。10ARM内核分类与系列1994-2004年发布的年发布的ARM内核内核112.1ARM简介分类处理器内核处理器内核 内核分类内核分类ARM7 ARM7DMI(-S)ARM720T ARM7EJ-SARM9 ARM920T ARM922TARM9E ARM926EJ-S ARM946E-S ARM966E-S ARM968E-SARM10E ARM1020E ARM1022E ARM1026EJ-S处理器内核处理器内核内核分类内核分类ARM11 ARM1136J(F)-S ARM1156T2(F)-S ARM1176JZ(F)-SSecurCore SC100 SC110 S
8、C200 SC210Strong ARMXscale122.1ARM简介lARMCortex系列简介 基于ARMv7版本的ARM Cortex系列产品由A、R、M三个系列组成,具体分类延续了一直以来ARM面向具体应用设计CPU的思路。ARMCortexA应用处理器(Application Processor)系列 R实时控制处理(Real Time Control)系列M微控制器(Micro Controller)系列132.1ARM简介lCortexTM-M3处理器简介(针对低端市场)该处理器是首款基于ARMv7-M架构的处理器,采用了纯Thumb2指令的执行方式,具有极高的运算能力和中断相
9、应能力。Cortex-M3主要应用于汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域。lCortexTM-R4处理器简介 该处理器是首款基于ARMv7架构的高级嵌入式处理器,其主要目标为产量巨大的高级嵌入式应用系统,如硬盘,喷墨式打印机,以及汽车安全系统等等。lCortexTM-R4F处理器简介 该处理器在CortexTM-R4处理器的基础上加入了代码错误校正(ECC)技术,浮点运算单元(FPU)以及DMA综合配置的能力,增强了处理器在存储器保护单元、缓存、紧密耦合存储器、DMA访问以及调试方面的能力。142.1ARM简介lCortexTM-A8处理器简介 该处理器是AR
10、M公司所开发的基于基于ARMv7ARMv7架构架构的首款应用级处理器,其特色是运用了可增加代码密度和加强性能的技术、可支持多媒体以及信号处理能力的NEONTM技术、以及能够支持Java和其他文字代码语言的提前和即时编译的JazelleRTC技术。众多先进的技术使其适用于家电以及电子行业等各种高端的应用领域。lARM7系列简介 该系列包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle(Java加速器)的ARM7EJ-S。该系列处理器提供Thumb 16位压缩指令集和EmbededICE软件调试方式,适用于更大规模的SoC设计中。ARM7系列
11、广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。152.1ARM简介 该系列包括ARM9TDMI、ARM920T和带有高速缓存处理器宏单元的ARM940T。除了兼容ARM7系列,而且能够更加灵活的设计。ARM9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒等领域。lARM9系列简介 该系列为含有DSP指令集的综合处理器,包括ARM926EJ-S、带有高速缓存处理器宏单元的ARM966E-S/ARM946E-S。其内核在ARM7处理器内核的基础上使用了Jazelle增强技术,该技术支持一种新的Java操作状态,允许在硬件中执行Ja
12、va字节码。ARM9E系列主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。lARM9E系列简介162.1ARM简介lARM10E系列简介 该系列包括ARM1020E和ARM1020E处理器核,其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。可以用于视频游戏机和高性能打印机等场合。lXscale简介 Intel Xscale微控制器则提供全性能、高性价比、低功耗的解决方案,支持16位Thumb指令并集成数字信号处理(DSP)指令。主要应用于手提式通讯和消费电子类设备。171.ARM简介2.ARM
13、7TDMI3.ARM的模块、内核和功能框图4.ARM处理器状态5.ARM处理器模式ARM7体系结构6.ARM内部寄存器7.当前程序状态寄存器8.ARM体系的异常、中断及其向量表9.ARM体系的存储系统182.2ARM7TDMIl简介 ARM7TDMI是基于ARM体系结构V4版本的低端ARM核。其弥补了ARM6很难在低于5V电压下稳定工作的不足,还增加了后缀所对应的功能:注意:“ARM核”并非芯片,ARM核与其它部件如RAM、ROM、片内外设组合在一起才能构成现实的芯片。ARM7TDMI-S支持高密度16位的Thumb指令集;支持片上调试;支持64位乘法;支持EmbededICE观察硬件;ARM
14、7TDMI 的可综合(synthesizable)版本(软核),对应用工程师来说其编程模型与ARM7TDMI 一致;19命名的含义标志含义说明T支持Thumb指令集Thumb指令集版本1:ARMv4TThumb指令集版本2:ARMv5TThumb-2:ARMv6TD片上调试M支持长乘法32位乘32位得到64位,32位的乘加得到64位IEmbeddedICEEDSP指令增加了DSP算法处理器指令:16位乘加指令,饱和的带符号数的加减法,双字数据操作,cache预取指令JJava加速器Jazelle提高java代码的运行速度S可综合提供VHDL或Verilog语言设计文件202.2ARM7TDMI
15、l存储器的字与半字从偶数地址开始的连续2个字节构成一个半字;以能被4整除的地址开始的连续4个字节构成一个字;ARM指令的长度刚好是一个字,Thumb指令的长度刚好是一个半字。212.2ARM7TDMI 如果一个数据是从偶地址开始的连续存储,那么它就是半字对齐,否则就是非半字对齐;如果一个数据是以能被4整除的地址开始的连续存储,那么它就是字对齐,否则就是非字对齐。方式方式半字对齐半字对齐字对齐字对齐地址地址0 x40020 x40020 x40040 x40040 x40040 x40040 x40080 x4008特征特征Bit0=0Bit0=0其他位为任意值其他位为任意值Bit1=0,Bit
16、0=0Bit1=0,Bit0=0其他位为任意值其他位为任意值l存储器的存储方式222.2ARM7TDMIl三级流水线 ARM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供0.9MIPS/MHz的指令执行速度。ARM7TDMI的流水线分3级,分别为:取指译码执行取指译码执行处理指令并将结果写回寄存器识别将要被执行的指令从寄存器装载一条指令正常操作过程中,在执行一条指令的同时对下一条(第二条)指令进行译码,并将第三条指令从存储器中取出。在ARM状态下,流水线上各指令的地址为:在Thumb状态下,流水线上各指令的地址为:PCPC-4PC-8P
17、CPC-2PC-4232.2ARM7TDMIl三级流水线结构的指令执行顺序PC指令1指令2指令3指令4程序存储器PC-4PC-8PC+4周期1周期2周期3周期4周期5周期6取指译码执行取指译码执行取指译码执行取指译码执行周期周期2周期周期1周期周期3周期周期4 在第1个周期,PC指向指令1,此时指令1进入三级流水线的取指阶段。1 在第2个周期,PC指向指令2,此时指令1进入三级流水线的译码阶段,同时取出指令2。2 在第3个周期,PC指向指令3,此时指令1进入三级流水线的执行阶段,指令2进入译码阶段,取出指令3。3 在第4个周期,指令1执行完成,指令2和指令3流水线推进一级,同时开始指令4的取指
18、处理。4处理器执行一条指令的三个阶段24 执行ADD PC,PC,#4指令后,PC的值为多少?2.2ARM7TDMIl思考题ADDPC,PC,#40 x40000 x40040 x40080 x400C地址指令PC取指译码执行PCPC-4PC-8ARM7的3级流水线ADD 程序计数器R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或“正在译码”的指令。一般来说,人们习惯性约定将“正在执行”的指令作为参考点,则:PC值当前程序执行位置8 注:ARM状态时,每条指令为4字节长。PC指向0 x4000地址,取指ADD指令。PC指向0 x4004地址,译码ADD指令。PC指向0
19、x4008地址,执行ADD指令,所以指令执行的结果为:PC=PC+40 x400840 x400C。251.ARM简介2.ARM7TDMI3.ARM的模块、内核和功能框图4.ARM处理器状态5.ARM处理器模式ARM7体系结构6.ARM内部寄存器7.当前程序状态寄存器8.ARM体系的异常、中断及其向量表9.ARM体系的存储系统26CPU扫描链1扫描链1数据总线数据总线扫描链1扫描链2协处理器信号接口EmbeddedICE-RTTAP控制器EmbeddedICE-RT宏单元DBGTCKENDBGTMSDBGnTRSTDBGTDIDBGTDORDATA31:0WDATA31:0ADDR31:0TR
20、ANS1:0PROT1:0SIZE1:0WRITELOCKDBGRNG(0)DBGRNG(1)DBGEXT(1)DBGEXT(0)2.3ARM模块框图CPU协处理接口信号EmbedICE硬件仿真功能模块片上调试系统读写总线272.3ARM内核框图地址寄存器寄存器组31*32位寄存器(6个状态寄存器)地址增加器乘法器桶形移位器32位ALU写数据寄存器指令管线读数据寄存器Thumb指令译码器指令译码和控制逻辑ADDR31:0CLKCLENCFGBIGENDnIRQnFIQnRESETABORTLOCKWRITESIZE1:0PROT1:0TRANS1:0DBG输出DBG输入CP控制CP握手WDAT
21、A31:0RDATA31:0扫描调试控制282.3ARM功能框图ARM7TDMI-S处理器LOCKCLKCLKENnIRQnFIQnRESETCFGBIGENDDBGRQDMOREDBGINSTRVAILDDBGBREAKDBGACKDBGnEXECDBGEXT1DBGEXT0DBGENDBGCOMMTXDBGCOMMRXDBGRNG0DBGRNG1DBGTCKENDBGTMSDBGTDIDBGnTRSTDBGTDODBGnTDOENADDR31:0WDATA31:0RDATA31:0ABORTWRITESIZE1:0PROT1:0TRANS1:0CPnTRANSCPnOPCCPnMREQCP
22、SEQCPTBITCPnICPACPB同步的扫描调试访问接口存储器接口存储器管理接口协处理器接口时钟中断总线控制仲裁调试291.ARM简介2.ARM7TDMI3.ARM的模块、内核和功能框图4.ARM处理器状态5.ARM处理器模式ARM7体系结构6.ARM内部寄存器7.当前程序状态寄存器8.ARM体系的异常、中断及其向量表9.ARM体系的存储系统302.4ARM处理器状态l处理器状态 ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令,并且各自对应1种处理器的状态:ARM状态:32位,处理器执行字方式的ARM指令,处理器默认为此状态;Thumb状态:16位,处理器执
23、行半字方式的Thumb指令。注意:注意:两个状态之间的切换并不影响处理器模式或寄存器内容。312.4ARM处理器状态l状态切换的一个例子地址最低位为0,表示切换到ARM状态 使用BX指令将ARM内核的操作状态在ARM状态和Thumb状态之间进行切换。ARM指令集Thumb指令集CODE32LDRR0,=Lable+1BXR0CODE16LableMOVR1,#12CODE16LDRR0,=LableBXR0CODE32LableMOVR1,#10地址最低位为1,表示切换到Thumb状态跳转地址标号执行完BX指令,处理器切换到Thumb状态,开始执行Thumb指令程序代码指令集关系 从ARM状态
24、切换到Thumb状态的程序代码如下:从Thumb状态切换到ARM状态的程序代码如下:执行完BX指令,处理器切换到ARM状态,开始执行ARM指令321.ARM简介2.ARM7TDMI3.ARM的模块、内核和功能框图4.ARM处理器状态5.ARM处理器模式ARM7体系结构6.ARM内部寄存器7.当前程序状态寄存器8.ARM体系的异常、中断及其向量表9.ARM体系的存储系统332.5ARM处理器模式l简介ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。中止模式、未定义模式和系统模式。这样的好
25、处是可以更好的支持操作系统并提高工作效率。ARM7TDMI完全支持这七种模式。34 除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。处理器模式处理器模式说明说明备注备注用户(usr)正常程序运行的工作模式不能直接从用户模式切换到其它模式特权模式系统(sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权异常模式快中断(fiq)快速中断请求处理只有在FIQ异常响应时,才进入此模式中断(irq)中断请求处理只有在IRQ异常
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统原理与应用 第2章-ARM7体系结构 嵌入式 系统 原理 应用 ARM7 体系结构
限制150内