ARM体系结构-ARM微处理器及其硬件体系结构#高级教育

上传人:pu****.1 文档编号:567897818 上传时间:2024-07-22 格式:PPT 页数:33 大小:1.34MB
返回 下载 相关 举报
ARM体系结构-ARM微处理器及其硬件体系结构#高级教育_第1页
第1页 / 共33页
ARM体系结构-ARM微处理器及其硬件体系结构#高级教育_第2页
第2页 / 共33页
ARM体系结构-ARM微处理器及其硬件体系结构#高级教育_第3页
第3页 / 共33页
ARM体系结构-ARM微处理器及其硬件体系结构#高级教育_第4页
第4页 / 共33页
ARM体系结构-ARM微处理器及其硬件体系结构#高级教育_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《ARM体系结构-ARM微处理器及其硬件体系结构#高级教育》由会员分享,可在线阅读,更多相关《ARM体系结构-ARM微处理器及其硬件体系结构#高级教育(33页珍藏版)》请在金锄头文库上搜索。

1、ARM微处理器及其硬件体系结构微处理器及其硬件体系结构1.1 硬件基础硬件基础1、冯、冯诺依曼体系结构模型诺依曼体系结构模型指令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器存储器存储器程序程序指令指令0指令指令1指令指令2指令指令3指令指令4数据数据数据数据0数据数据1数据数据21优选内容2、冯、冯诺依曼体系的特点诺依曼体系的特点1)数据与指令都存储在存储器中)数据与指令都存储在存储器中2)被大多数计算机所采用)被大多数计算机所采用3)ARM7冯诺依曼体系冯诺依曼体系2优选内容3、哈佛体系结构、哈佛体系结构指令寄存器指令寄存器控制器控制器数据通数据通道道输入

2、输入输出输出中央处理中央处理器器程序存储程序存储器器指令指令0指令指令1指令指令2数据存储数据存储器器数据数据0数据数据1数据数据2地址地址指令指令地址地址数据数据3优选内容4、哈佛体系结构的特点、哈佛体系结构的特点1)程序存储器与数据存储器分开)程序存储器与数据存储器分开2)提供了较大的数存储器带宽)提供了较大的数存储器带宽3)适合于数字信号处理)适合于数字信号处理4)大多数)大多数DSP都是哈佛结构都是哈佛结构5)ARM9是哈佛结构是哈佛结构4优选内容5 5、CISCCISC:复杂指令集(:复杂指令集(Complex Instruction Set Complex Instruction

3、Set ComputerComputer)具有大量的指令和寻址方式具有大量的指令和寻址方式8/28/2原则:原则:80%80%的程序只使用的程序只使用20%20%的指令的指令大多数程序只使用少量的指令就能够运行。大多数程序只使用少量的指令就能够运行。6 6、RISCRISC:精简指令集(:精简指令集(Reduced Instruction Set Computer)Reduced Instruction Set Computer)在通道中只包含最有用的指令在通道中只包含最有用的指令确保数据通道快速执行每一条指令确保数据通道快速执行每一条指令使使CPUCPU硬件结构设计变得更为简单硬件结构设计变

4、得更为简单5优选内容n为增加处理器指令流的速度,为增加处理器指令流的速度,ARM7 系列使用系列使用3级流水线级流水线.u允许多个操作同时处理,而非顺序执行。允许多个操作同时处理,而非顺序执行。DecodeFetchExecute从存储器中读取指令从存储器中读取指令解码指令中用到的寄存器解码指令中用到的寄存器寄存器读(从寄存器寄存器读(从寄存器Bank)移位及移位及ALU操作操作寄存器写(到寄存器寄存器写(到寄存器Bank )PCPCPC - 4 PC-2PC - 8 PC - 4ARMThumb!PC指向正被取指的指令,而非正在执行的指令!指向正被取指的指令,而非正在执行的指令!7、流水线技

5、术:、流水线技术: 几个指令可以并行执行几个指令可以并行执行 提高了提高了CPU的运行效率的运行效率 内部信息流要求通畅流动内部信息流要求通畅流动 6优选内容n该例中用该例中用6个时钟周期执行了个时钟周期执行了6条指令条指令n所有的操作都在寄存器中(单周期执行)所有的操作都在寄存器中(单周期执行)n指令周期指令周期数数 (CPI) = 1CycleOperationADDSUBORRANDEORORR123456789FDEFDEFEFDEFDEDFDEWF 取指取指 D 解码解码E 执行执行M8 8、最佳流水线、最佳流水线7优选内容9、超标量执行、超标量执行超标量超标量CPUCPU采用多条流

6、水线结构采用多条流水线结构执行执行1预取预取指令指令CACHE译码译码2译码译码1执行执行2执行执行1预取预取译码译码2译码译码1执行执行2流流水水线线1流流水水线线2数据数据8优选内容10、高速缓存(、高速缓存(CACHE)1、为什么采用高速缓存、为什么采用高速缓存 微处理器的时钟频率比内存速度提高快得多,高速缓存可以微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。提高内存的平均性能。2、高速缓存的工作原理、高速缓存的工作原理 高速缓存是一种小型、快速的存储器,它保存部分主存内容高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。的拷贝。 CPU高速缓存控制器

7、CACHE主存数据数据地址9优选内容11、总线和总线桥总线和总线桥CPU低速设备桥数据高速总线存储器高速设备高速设备低速总线10优选内容12、存储器系统、存储器系统RAM:随机存取存储器:随机存取存储器 SRAM:静态随机存储器:静态随机存储器DRAM:动态随机存储器:动态随机存储器 1)SRAM比比DRAM快快2)SRAM比比DRAM耗电多耗电多3)DRAM存储密度比存储密度比SRAM高得多高得多4)DRAM需要周期性刷新需要周期性刷新ROM:只读存储器:只读存储器FLASH:闪存:闪存CSR/WAddrDataSRAMCSR/WCASDataRASAddrDRAM11优选内容1.2 ARM

8、7处理器内核处理器内核nARM7TDMI 特性特性n3 级流水线级流水线n冯冯.诺依曼架构诺依曼架构nCPI(Cycle Per Instruction) 约为约为1.9 nT-Thumb 架构扩展架构扩展, 提供两个独立指提供两个独立指令集:令集:nARM 指令,均为指令,均为 32位位nThumb指令,均为指令,均为 16位位nD - 内核具有内核具有Debug扩展结构扩展结构nM 增强乘法器增强乘法器 (32x8) 支持支持64位结果位结果.nI - EmbeddedICE 逻辑逻辑1、ARM7TDMI处理器处理器12优选内容1.3 ARM 架构架构1、数据和指令类型、数据和指令类型nA

9、RM 采用的是采用的是32位架构位架构.n ARM 约定约定:Byte : 8 bitsHalfword :16 bits (2 byte)Word :32 bits (4 byte)n大部分大部分ARM core 提供:提供:ARM 指令集(32-bit) Thumb 指令集(16-bit )nJazelle cores 支持支持 Java bytecode13优选内容2、处理器工作模式(、处理器工作模式(ARM 有有7个)个)User(用户模式用户模式): 非特权模式,大部分任务执行在这种模式非特权模式,大部分任务执行在这种模式FIQ(快速中断模式快速中断模式): 高优先级(高优先级(fa

10、st) 中断产生时将会进入这种模式中断产生时将会进入这种模式IRQ(中断模式中断模式): 低优先级(低优先级(normal) 中断产生时将会进入这种模式中断产生时将会进入这种模式Supervisor(管理员模式管理员模式): 当复位或软中断指令执行时将会进入这种模式当复位或软中断指令执行时将会进入这种模式Abort(中止模式中止模式): 当存取(数据和指令)异常时将会进入这种模式当存取(数据和指令)异常时将会进入这种模式Undef(未定义模式未定义模式): 当执行未定义指令时会进入这种模式当执行未定义指令时会进入这种模式System(系统模式系统模式): 使用和使用和User模式相同寄存器集的

11、特权模式模式相同寄存器集的特权模式特权模式特权模式=异常模式异常模式+ System异异常常模模式式14优选内容3、ARM 寄存器寄存器(37)USRr0r1r2r3r4r5r6r7r8r9r10r11r12r15(pc)cpsrr13(sp)r14(lr)当前可见寄存器当前可见寄存器spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr8r9r10r11r12r13(sp)r14(lr)spsr备用寄存器备用寄存器ABORTFIQIRQSVCUndefr13(sp)r14(lr)3 30 0 个通用个通用3232位寄存器,位寄存

12、器,1 1 个程序计数器个程序计数器PCPC6 6 个状态寄存器个状态寄存器215优选内容Thumb stateLow registersThumb stateHigh registersNote: System模式使用模式使用user模式寄存器集模式寄存器集FIQUsermoder0-r7,r15,andcpsrr8r9r10r11r12r13(sp)r14(lr)spsrUser&Sysr8r9r10r11r12r13(sp)r14(lr)r15(pc)cpsrr0r1r2r3r4r5r6r7IRQr13(sp)r14(lr)spsrUsermoder0-r12r15,andcpsrSVC

13、r13(sp)r14(lr)spsrUsermoder0-r12r15,andcpsrUndefr13(sp)r14(lr)spsrUsermoder0-r12r15,andcpsrAbortr13(sp)r14(lr)spsrUsermoder0-r12r15,andcpsr寄存器组织寄存器组织16优选内容ARM 寄存器名称寄存器名称nARM 有有37个个32-Bits长的寄存器长的寄存器.n1 个用作个用作PC( program counter)(r15)n1个用作个用作CPSR(current program status register)n5个用作个用作SPSR(saved prog

14、ram status registers)n30 个通用寄存器个通用寄存器n当前处理器的模式决定着哪组寄存器可操作当前处理器的模式决定着哪组寄存器可操作. 任何模式都可以存取:任何模式都可以存取: n相应的相应的r0-r12子集子集n相应的相应的 r13 (the stack pointer, sp) and r14 (the link register, lr)n相应的相应的 r15 ( the program counter, pc)n相应的相应的CPSR(current program status register, cpsr)n特权模式特权模式 (除除system模式的异常模式模式的

15、异常模式) 还可以存取;还可以存取;n相应的相应的 spsr (saved program status register)17优选内容4、程序状态寄存器、程序状态寄存器n 条件位:条件位:uN = Negative result from ALU uZ = Zero result from ALUuC = ALU operation Carried outuV = ALU operation oVerflowednQ 位:位:u仅仅ARM 5TE/J架构支持架构支持u指示饱和状态指示饱和状态nJ 位位u仅仅ARM 5TE/J架构支持架构支持uJ = 1: 处理器处于处理器处于Jazelle状

16、态状态n中断禁止位:中断禁止位:uI = 1: 禁止禁止 IRQ.uF = 1: 禁止禁止 FIQ.nT Bitu仅仅ARM xT架构支持架构支持uT = 0: 处理器处于处理器处于 ARM 状态状态uT = 1: 处理器处于处理器处于 Thumb 状状态态nMode位:位:u处理器模式位处理器模式位2731N Z C V Q2867I F T mode1623 815 54024fsxc U n d e f i n e dJ说明说明18优选内容5、程序指针、程序指针PC (r15)n当处理器执行在当处理器执行在ARM状态状态:所有指令所有指令 32 bits 宽宽所有指令必须所有指令必须 w

17、ord 对齐对齐所以所以 pc值由值由bits 31:2决定决定, bits 1:0 未定义未定义 (所以指令不能所以指令不能halfword / byte对齐对齐).n当处理器执行在当处理器执行在Thumb状态状态:所有指令所有指令 16 bits 宽宽所有指令必须所有指令必须 halfword 对齐对齐所以所以 pc值由值由bits 31:1决定决定, bits 0 未定义未定义 (所以指令不能所以指令不能 byte对齐对齐).n当处理器执行在当处理器执行在Jazelle状态状态:所有指令所有指令 8 bits 宽宽处理器执行处理器执行 word 存取一次取存取一次取4条指令条指令19优选

18、内容6 6、存储器模式、存储器模式l大端模式大端模式( (高对低)高对低)u最高位最高位字节保存在字节保存在最低位地址最低位地址u字由最低位字节的字节地址寻址字由最低位字节的字节地址寻址3124 2316 158 70 字地址字地址89101184567401230 低地址低地址 高地址高地址l小端模式(低对低)小端模式(低对低)u最低位最低位字节保存在字节保存在最低位地址最低位地址u字由最低位字节的字节地址寻址字由最低位字节的字节地址寻址3124 2316 158 70字地址字地址11109887654432100 低地址低地址 高地址高地址20优选内容1.4 异常异常1、什么是异常?、什么

19、是异常? 内部或外部中断源产生并引起处理器处理一个事件,如外部内部或外部中断源产生并引起处理器处理一个事件,如外部中断或试图执行未定义指令都会引起异常。中断或试图执行未定义指令都会引起异常。 处理异常之前必须保留处理器的状态处理异常之前必须保留处理器的状态2 2、异常类型、异常类型 FIQ (FIQ (Fast Fast Interrupt ReQuest)Interrupt ReQuest) IRQ(Interrupt ReQuest)IRQ(Interrupt ReQuest) 未定义指令未定义指令 预取中止预取中止 数据中止数据中止 复位复位 软件中断软件中断Software inter

20、ruptSoftware interrupt 通过软件中断产生通过软件中断产生 进行管理员模式中获得进行管理员模式中获得 通常要求特殊的管理功能,如操作系统支持通常要求特殊的管理功能,如操作系统支持21优选内容3 3、异常优先级、异常优先级(1)(1)Reset (highest priority)Reset (highest priority)(2) Data abort(2) Data abort(3) FIQ(3) FIQ(4) IRQ(4) IRQ(5) Prefetch abort(5) Prefetch abort(6) (6) 未定义指令未定义指令, Software inter

21、rupt , Software interrupt ( (最低优先级最低优先级) )l只要产生异常就会导致正常的程序流程被临时停止只要产生异常就会导致正常的程序流程被临时停止, ,例如外围例如外围中断服务程序中断服务程序l在异常被处理前在异常被处理前, ,当前的处理器状态必须被保存当前的处理器状态必须被保存, ,以便处理程以便处理程序完成后序完成后, ,最后的程序可以被恢复最后的程序可以被恢复. .22优选内容4 4、异常向量、异常向量23优选内容5、进入异常的操作进入异常的操作l在相应的链接寄存器在相应的链接寄存器LR LR (r14)(r14)中保存下一条指令的地址中保存下一条指令的地址l

22、将将CPSRCPSR复制到相应的复制到相应的SPSRSPSR中中l强制使强制使CPSRCPSR模式位置成对应异常类型的值模式位置成对应异常类型的值l强制使程序计数器指向相应异常向量强制使程序计数器指向相应异常向量, ,取下一条指令取下一条指令24优选内容例子例子: : 用户模式到用户模式到 I IR RQ Q模式再到模式再到FIQFIQ模式模式FIQUsermoder0-r7,r15,andcpsrr8r9r10r11r12r13(sp)r14(lr)spsrUser&Sysr8r9r10r11r12r13(sp)r14(lr)r15(pc)cpsrr0r1r2r3r4r5r6r7IRQr13

23、(sp)r14(lr)spsrUsermoder0-r12r15,andcpsr发生异常发生异常发生异常发生异常从异常返回从异常返回从异常返回从异常返回从异常返回时从异常返回时需要手动恢复需要手动恢复PC和和CPSR产生异常时自产生异常时自动保存动保存PC和和CPSR25优选内容6、退出异常的操作退出异常的操作l将将LRLR寄存器中的值减去相应的偏移量送到寄存器中的值减去相应的偏移量送到PCPC中中l将将 SPSR SPSR 复制回复制回 CPSRCPSRl清除禁止中断标志清除禁止中断标志, ,如果它被设置成使能如果它被设置成使能26优选内容1)取指令()取指令(Instruction Fet

24、ch):TF2)指令译码()指令译码(Instruction Decode):):TD3)执行指令()执行指令(Instruction Execute):):TE4)存储()存储(Storage):):TS一般指令的执行周期一般指令的执行周期T每条指令的执行周期:每条指令的执行周期:T= TF+TD+TE+TS27优选内容程序状态寄存器程序状态寄存器PSRPSR的模式位的模式位28优选内容字节访问字节访问(字节对齐字节对齐)半字访问半字访问(半字对齐半字对齐)字访问字访问(字对齐字对齐)3210765402468ace089abcdef48c对齐对齐29优选内容1) 说出说出ARM可以工作的模

25、式名字。可以工作的模式名字。2) ARM核有多少个寄存器?核有多少个寄存器?3) 什么寄存器用于存储什么寄存器用于存储PC和连接寄存器?和连接寄存器?4) R13通常用来存储什么?通常用来存储什么?7) CPSR的哪一位反映了处理器的状态?的哪一位反映了处理器的状态?9) ARM有哪几个异常类型。有哪几个异常类型。11) 在复位后,在复位后,ARM处理器处于何种模式、何种状态?处理器处于何种模式、何种状态?思考思考130优选内容1) 一条简单的算术操作一条简单的算术操作( 如:如: ADD )要占用几个周期要占用几个周期?2) ARM7TDMI指令流水线有几个阶段指令流水线有几个阶段?3) A

26、RM在存储器里,可寻址几种类型的数据在存储器里,可寻址几种类型的数据?思考思考231优选内容1) User, SVC (Supervisor), IRQ, FIQ, UNDEF, ABORT, System2) 373) pc = r15 lr = r144) r13 = sp5) User / System - does not have an spsr6) r0-r77) T-bit which is bit 5, and J-bit which is bit 248) Halfword (16-bit)9) Reset, FIQ, IRQ, prefetch abort, data ab

27、ort, SWI, Undefined struction10) Speed - To remove the need for a branch to the FIQ handler11) ARM state, SVC mode - also interrupts will be disabled.答答 案案132优选内容1) 仅仅一个仅仅一个.2) 3个阶段个阶段; 取指(取指(Fetch),解码(解码( Decode)和执行()和执行( Execute).3)可以使用,对分支指令,以及决定转换数据的地址时可以使用,对分支指令,以及决定转换数据的地址时.4) 字节、半字和字字节、半字和字 (架构架构 3 及更早的架构不能操作半字及更早的架构不能操作半字).答答 案案233优选内容

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号