ARM技术与ARM体系结构PPT教学课件_第1页
ARM技术与ARM体系结构PPT教学课件_第2页
ARM技术与ARM体系结构PPT教学课件_第3页
ARM技术与ARM体系结构PPT教学课件_第4页
ARM技术与ARM体系结构PPT教学课件_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、内容提要内容提要21 ARM体系结构版本与内核22 ARM内核模块23 ARM处理器的工作模式24 ARM内部寄存器25 ARM异常处理26 存储方式与存储器映射机制27 ARM流水线技术分析第1页/共43页21 ARM体系结构版本与内核体系结构版本与内核第一片ARM处理器是1983年10月到1985年4月 间在位于英国剑桥的Acorn Computer公司开发 1990年,ARM公司成立20世纪90年代, ARM快速进入世界市场1995年 StrongARM 问世 XScale是下一代StrongARM芯片的发展基础 ARM10TDMI是ARM处理器核中的高端产品 ARM11是ARM家族中性

2、能最强的一个系列第2页/共43页211ARM体系结构版本体系结构版本ARM7TDMI4T1支持Halfword 和signed halfword / byte 和System mode支持Thumb指令集24ARM9TDMIARM720TARM940T改良的ARM/Thumb 交互作用以及CLZ 指令5TESaturated mathsDSP multiply-accumulate instructionsXScaleARM1020EARM9E-SARM966E-S3早期的ARMsARM9EJ-S5TEJARM7EJ-SARM926EJ-SJazelle支持Java字节码6ARM11SIMDS

3、ISIMDMDSSIMD7ARM Cotex第3页/共43页 第一阶段: 版本V1、V2、V3这3个早期ARM版本功能单一,没有大范围占领市场,主要是处于开发和实验阶段 第二阶段: 从ARM4开始,ARM体系结构处于完善和提高阶段 第4页/共43页 版本4与以前版本相比增加了下列指令: 有符号、无符号的半字和有符号字节的load和store指令。增加了T变种,处理器可以工作于Thumb状态,在该状态下的指令集是16位的Thumb指令集。增加了处理器的特权模式。在该模式下,使用的是用户模式下的寄存器。 第5页/共43页 版本5主要由两个变型版本5T、5TE组成 相比与版本4,版本5的指令集有了如

4、下的变化: 提高了T变种中ARM/Thumb混合使用的效率。增加前导零记数(CLZ)指令,该指令可使整数除法和中断优先级排队操作更为有效;增加了BKPT(软件断点)指令;为协处理器设计提供了更多的可供选择的指令;更加严格地定义了乘法指令对条件码标志位的影响。 第6页/共43页 ARM体系版本6是2001年发布的。新架构v6在降低耗电量的同时还强化了图形处理性能。通过追加有效进行多媒体处理的SIMD功能,将语音及图像的处理功能提高到了原机型的4倍。ARM体系版本6首先在2002年春季发布的ARM11处理器中使用。 第7页/共43页2.1.2 ARM体系结构的基本版本命名体系结构的基本版本命名规则

5、规则ARMxyzTDMIEJF-S 大括号内的字母是可选的,各个字母的含义如下: x系列号,例如ARM7中的“7”、ARM9中的“9”; y内部存储管理/保护单元,例如ARM72中的“2”、ARM94中的“4”; z内含有高速缓存Cache; T技持16位的Thumb指令集; D支持JTAG片上调试; M支持用于长乘法操作(64位结果)的ARM指令,包含快速乘法器; I带有嵌入式追踪宏单元ETM(Embedded Trace Macro),用来设置断点和观察点的调试硬件;第8页/共43页续续 E增强型DSP指令(基于TDMI); J含有Java加速器Jazelle,与Java虚拟机相比,Jav

6、a加速器Jazelle使Java代码运行速度提高了8倍,功耗降低到原来的80%; F向量浮点单元; S可综合版本,意味着处理器内核是以源代码形式提供的。这种源代码形式又可以被编译成一种易于EDA工具使用的形式。第9页/共43页 ARM体系结构的基本版本体系结构的基本版本版本版本版本变版本变种种系列号系列号处理器核处理器核V1V1ARM1ARM1V2V2ARM2ARM2V2aARM2aSARM3ARM3V3V3ARM6ARM6、ARM600、ARM610ARM7ARM7、ARM700、ARM710V4V4TARM7TDMI、ARM710T、ARM720T、ARM740TV4ARM8StrongA

7、RM、ARM8、ARM810V4TARM9ARM9TDMI、ARM920T、ARM940TV5V5TEARM9E-SARM10ARM10TDMI、ARM1020EV6V6ARM11ARM11、ARM11562-S、ARM1156T2F-S、ARM11JZF-SV7V7ARM CotexARM Cotex-A8、ARM Cotex-R4、ARM Cotex-M3第10页/共43页2.2ARM内核模块内核模块 ARM处理器一般都带有嵌入式追踪宏单元ETM(Embedded Trace Macro),它是ARM公司自己推出的调试工具 第11页/共43页ARM调试结构调试结构 第12页/共43页221

8、ARM7TDMI-S内核结构内核结构 ARM7TDMI-S是一款32位嵌入式RISC处理器。它作为优化的硬核是性能、功耗和面积特性的最佳组合。使用ARM7TDMI核使得系统设计师能够设计出小尺寸、低功耗以及高性能的嵌入式设备。 第13页/共43页ARM7TDMI ARM7TDMI 是基于 ARM7 内核3 级流水线-0.9MIPS/MHz冯.诺依曼架构CPI(Cycle Per Instruction) 约为1.9 T - Thumb 架构扩展, 提供两个独立的指令集:ARM 指令,均为 32位Thumb指令,均为 16位两种运行状态,用来选择哪个指令集被执行D - 内核具有Debug扩展结构

9、M - 增强乘法器 支持64位结果.I - EmbeddedICE-RT逻辑-提供片上断点和调试点支持第14页/共43页ARM7TDMI 内核信号内核信号ARM7TDMI内核MCLKnIRQnFIQnRESETBUSENBIGENDISYNCnWAITVDDVSSAPEDBE协处理器接口存储器管理存储器接口ABORTnOPCCPBCPAnCPInTRANSnM4:0MAS1:0nRWnMREQLOCKSEQnENOUTA31:0DOUT31:0DIN31:0D31:0电源总线控制时钟配置中断第15页/共43页ARM7TDMI 方框图方框图ARM7TDMI内核TAP 控制器JTAG 接口数据总线

10、控制信号D31:0地址总线A31:0DIN31:0DOUT31:0BUSSplitterEmbeddedICE逻辑第16页/共43页乘法器ARM7TDMI 内核内核指令解码地址自增器nRESETnMREQSEQABORTnIRQnFIQnRWMAS1:0LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM4:0D31:0桶形移位器32 位 ALUDBE写数据 寄存器读数据 寄存器地址寄存器寄存器A31:0ABE及控制 逻辑PC Update解码站指令 解码IncrementerPCABusBBusALUBus第17页/共43页外部地址产生外部地址产生PC

11、31:2 ARM StatePC31:1 Thumb StateALU31:0INC自增器A31:0向量0 x1C0 x00地址寄存器第18页/共43页 特 点: 32/16 位RISC架构(ARM v4T)。 具有最高性能和灵活性的32位ARM指令集。 代码紧凑的16位Thumb指令集。 统一的总线接口,指令与数据都在32位总线上传输。 3级流水线。 32位算术逻辑单元(ALU)。 极小的核心尺寸以及低功耗。 完全的静态操作。 协处理器接口。 扩展的调试设备:第19页/共43页T标志位的作用标志位的作用161632-bit data16A1MuxThumb指令解码MuxMuxT标志ARM指令

12、解码阶段 1阶段 2D31:00110FetchDecodeExecute第20页/共43页带带Cache的的ARM7TDMI ARM710T 8K 统一的 cache 完整的内存管理单元(mmu),支持虚拟地址和存储器保护 写缓冲ARM720T同ARM710T,但支持 WinCEARM740T8K 统一的 cache内存管理单元写缓冲ARM7TDMI内核地址地址数据读AMBA接口写缓冲MMU数据写数据ARM7xxT控制逻辑CacheAMBA总线接口JTAG 和非 AMBA 信号CP15第21页/共43页 ARM7系列内核采用了三条流水线的内核结构,三级流水线分别为取指(Fetch)、译码(D

13、ecode)、执行(Execute) 第22页/共43页 取指:将指令从存储器中取出,放入指令Cache中。 译码:由译码逻辑单元完成,是将在上一步指令Cache中的指令进行解释,告诉CPU将如何操作。 执行:这阶段包括移位操作、读通用寄存器内容、输出结果、写通用寄存器等。第23页/共43页 需要注意的是,PC指向正被取指的指令而不是正在执行的指令:第24页/共43页 详细信息见教材ARM嵌入式系统结构与编程第16页第25页/共43页222 ARM9内核结构内核结构ARM920是一款32位嵌入式RISC处理器内核。在指令操作上采用5级流水线 .取指:从指令Cache中读取指令。译码:对指令进行

14、译码,识别出是对哪个寄存器进行操作并从通用寄存器中读取操作数。执行:进行ALU运算和移位操作,如果是对存储器操作的指令,则在ALU中计算出要访问的存储器地址。存储器访问:如果是对存储器访问的指令,用来实现数据缓冲功能(通过数据Cache)。寄存器回写:将指令运算或操作结果写回到目标寄存器中。第26页/共43页ARM920 的的5级流水线操作级流水线操作 第27页/共43页2.3ARM处理器的工作模式处理器的工作模式 ARM技术的设计者将ARM处理器在应用中可能产生的状态进行了分类,并针对同一类型的异常状态设定了一个固定的入口点,当异常产生时,程序会自动跳转到对应异常入口处进行异常服务。 第28

15、页/共43页ARM处理器共有处理器共有7种工作模式种工作模式 1用户模式:非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。在用户模式下,如果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器会自动切换工作模式 2FIQ模式:也称为快速中断模式,支持高速数据传输和通道处理,当一个高优先级(fast)中断产生时将会进入这种模式。第29页/共43页 3IRQ模式:也称为普通中断模式,:当一个低优先级(normal)中断产生时将会进入这种模式。在这模式下按中断的处理器方式又分为向量中断和非向量中断两种。通常的中断处理都在IRQ模式下进行。 4SVC模式:称之为

16、管理模式,它是一种操作系统保护模式。当复位或软中断指令执行时处理器将进入这种模式。第30页/共43页 5中止模式:当存取异常时将会进入这种模式,用来处理存储器故障、实现虚拟存储或存储保护。 6未定义指令异常模式:当执行未定义指令时会进入这种模式,主要是用来处理未定义的指令陷阱,支持硬件协处理器的软件仿真,因为未定义指令多发生在对协处理器的操作上。 7系统模式:使用和User模式相同寄存器组的特权模式,用来运行特权级的操作系统任务。第31页/共43页 在这7种工作模式中,除了用户模式以外,其他6种处理器模式可以称为特权模式,在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切

17、换。 在这6种特权模式中,除了系统模式外的其他5种特权模式又称为异常模式,每种异常都对应有自己的异常处理入口点。 第32页/共43页2.4内部寄存器内部寄存器 ARM处理器共有37个寄存器,这些寄存器包括以下两类寄存器。 (1)31个通用寄存器:包括程序计数器PC等,这些寄存器都是32位寄存器。 (2)6个状态寄存器:状态寄存器也是32位的寄存器,但是目前只使用了其中的14位。第33页/共43页r0r1r2r3r4r5r6r7r8r9r10r11r12r13 (sp)r14 (lr)r15 (pc)cpsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13

18、(sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr8r9r10r11r12r13 (sp)r14 (lr)spsrFIQIRQSVCUndefAbortUser Moder0r1r2r3r4r5r6r7r8r9r10r11r12r13 (sp)r14 (lr)r15 (pc)cpsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr8r9r10r11r12r13 (sp)r14 (lr)spsrCurrent Visible RegistersBanked o

19、ut RegistersFIQIRQSVCUndefAbortr0r1r2r3r4r5r6r7r15 (pc)cpsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr8r9r10r11r12r13 (sp)r14 (lr)spsrCurrent Visible RegistersBanked out RegistersUserIRQSVCUndefAbortr8r9r10r11r12r13 (sp)r14 (lr)FIQ ModeIRQ Moder0r1r2r3r4r5r6r7r8

20、r9r10r11r12r15 (pc)cpsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr8r9r10r11r12r13 (sp)r14 (lr)spsrCurrent Visible RegistersBanked out RegistersUserFIQSVCUndefAbortr13 (sp)r14 (lr)Undef Moder0r1r2r3r4r5r6r7r8r9r10r11r12r15 (pc)cpsrr13 (sp)r14 (lr)spsrr13 (sp)r14

21、(lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr8r9r10r11r12r13 (sp)r14 (lr)spsrCurrent Visible RegistersBanked out RegistersUserFIQIRQSVCAbortr13 (sp)r14 (lr)SVC Moder0r1r2r3r4r5r6r7r8r9r10r11r12r15 (pc)cpsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr8r9r10r11r

22、12r13 (sp)r14 (lr)spsrCurrent Visible RegistersBanked out RegistersUserFIQIRQUndefAbortr13 (sp)r14 (lr)Abort Moder0r1r2r3r4r5r6r7r8r9r10r11r12r15 (pc)cpsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr8r9r10r11r12r13 (sp)r14 (lr)spsr当前可见寄存器备用寄存器UserFIQIRQSVCUndefr13

23、 (sp)r14 (lr)ARM 寄存器寄存器第34页/共43页寄存器组织概要寄存器组织概要Usermoder0-r7,r15,andcpsrr8r9r10r11r12r13 (sp)r14 (lr)spsrFIQr8r9r10r11r12r13 (sp)r14 (lr)r15 (pc)cpsrr0r1r2r3r4r5r6r7Userr13 (sp)r14 (lr)spsrIRQUsermoder0-r12,r15,andcpsrr13 (sp)r14 (lr)spsrUndefUsermoder0-r12,r15,andcpsrr13 (sp)r14 (lr)spsrSVCUsermoder

24、0-r12,r15,andcpsrr13 (sp)r14 (lr)spsrAbortUsermoder0-r12,r15,andcpsrThumb stateLow registersThumb stateHigh registersNote: System模式使用user模式寄存器集第35页/共43页ARM 寄存器寄存器 ARM 有37个32-Bits长的寄存器. 1 个用作PC( program counter) 1个用作CPSR(current program status register) 5个用作SPSR(saved program status registers) 30 个通用寄存器第36页/共43页 当前处理器的模式决定着哪组寄存器可操作. 任何模式都可以存取: 相应的r0-r12子集 相应的 r13 (the stack pointer, sp) and r14 (the link register, lr) 相应的 r15 ( the program counter, pc) 相应的CPSR(current program status register, cpsr) 特权模式 (除system模式) 还可以存取; 相应的 spsr (saved pr

温馨提示

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

评论

0/150

提交评论