二ARM体系结构PPT学习教案_第1页
二ARM体系结构PPT学习教案_第2页
二ARM体系结构PPT学习教案_第3页
二ARM体系结构PPT学习教案_第4页
二ARM体系结构PPT学习教案_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、会计学1二二ARM体系结构体系结构2、冯、冯诺依曼体系的特点诺依曼体系的特点1)数据与指令都存储在存储器中)数据与指令都存储在存储器中2)被大多数计算机所采用)被大多数计算机所采用3)ARM7冯诺依曼体系冯诺依曼体系第1页/共33页3、哈佛体系结构、哈佛体系结构指令寄存器指令寄存器控制器控制器数据通数据通道道输输入入输输出出中央处理中央处理器器程序存储程序存储器器指令指令0指令指令1指令指令2数据存储数据存储器器数据数据0数据数据1数据数据2地地址址指指令令地地址址数数据据第2页/共33页4、哈佛体系结构的特点、哈佛体系结构的特点1)程序存储器与数据存储器分开)程序存储器与数据存储器分开2)提

2、供了较大的数存储器带宽)提供了较大的数存储器带宽3)适合于数字信号处理)适合于数字信号处理4)大多数)大多数DSP都是哈佛结构都是哈佛结构5)ARM9是哈佛结构是哈佛结构第3页/共33页5 5、CISCCISC:复杂指令集(:复杂指令集(Complex Instruction Set ComputerComplex Instruction Set Computer)具有大量的指令和寻址方式具有大量的指令和寻址方式8/28/2原则:原则:80%80%的程序只使用的程序只使用20%20%的指令的指令大多数程序只使用少量的指令就能够运行。大多数程序只使用少量的指令就能够运行。6 6、RISCRISC

3、:精简指令集(:精简指令集(Reduced Instruction Set Reduced Instruction Set Computer)Computer)在通道中只包含最有用的指令在通道中只包含最有用的指令确保数据通道快速执行每一条指令确保数据通道快速执行每一条指令使使CPUCPU硬件结构设计变得更为简单硬件结构设计变得更为简单第4页/共33页n为增加处理器指令流的速度,为增加处理器指令流的速度,ARM7 系列使用系列使用3级流水线级流水线.u允许多个操作同时处理,而非顺序执行。允许多个操作同时处理,而非顺序执行。DecodeFetchExecute从存储器中读取指令从存储器中读取指令解

4、码指令中用到的寄存器解码指令中用到的寄存器寄存器读(从寄存器寄存器读(从寄存器Bank)移位及移位及ALU操作操作寄存器写(到寄存器寄存器写(到寄存器Bank )PCPCPC - 4PC-2PC - 8PC - 4ARMThumb!PC指向正被取指的指令,而非正在执行的指令!指向正被取指的指令,而非正在执行的指令!7、流水线技术:、流水线技术: 几个指令可以并行执行几个指令可以并行执行 提高了提高了CPU的运行效率的运行效率 内部信息流要求通畅流动内部信息流要求通畅流动 第5页/共33页n该例中用该例中用6个时钟周期执行了个时钟周期执行了6条指令条指令n所有的操作都在寄存器中(单周期执行)所有

5、的操作都在寄存器中(单周期执行)n指令周期指令周期数数 (CPI) = 1CycleOperationADDSUBORRANDEORORR123456789FDEFDEFEFDEFDEDFDEWF 取指取指D 解码解码E 执行执行M8 8、最佳流水线、最佳流水线第6页/共33页9、超标量执行、超标量执行超标量超标量CPUCPU采用多条流水线结构采用多条流水线结构执行执行1预取预取指令指令CACHE译码译码2译码译码1执行执行2执行执行1预取预取译码译码2译码译码1执行执行2流流水水线线1流流水水线线2数据数据第7页/共33页10、高速缓存(、高速缓存(CACHE)1、为什么采用高速缓存、为什么

6、采用高速缓存 微处理器的时钟频率比内存速度提高快得多,高速缓存可以微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。提高内存的平均性能。2、高速缓存的工作原理、高速缓存的工作原理 高速缓存是一种小型、快速的存储器,它保存部分主存内容高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。的拷贝。 CPU高速缓存控制器CACHE主存数据数据地址第8页/共33页11、总线和总线桥总线和总线桥CPU低速设备桥数据高速总线存储器高速设备高速设备低速总线第9页/共33页12、存储器系统、存储器系统RAM:随机存取存储器:随机存取存储器 SRAM:静态随机存储器:静态随机存储器D

7、RAM:动态随机存储器:动态随机存储器 1)SRAM比比DRAM快快2)SRAM比比DRAM耗电多耗电多3)DRAM存储密度比存储密度比SRAM高得多高得多4)DRAM需要周期性刷新需要周期性刷新ROM:只读存储器:只读存储器FLASH:闪存:闪存CSR/WAddrDataSRAMCSR/WCASDataRASAddrDRAM第10页/共33页1.2 ARM7处理器内核处理器内核nARM7TDMI 特性特性n3 级流水线级流水线n冯冯.诺依曼架构诺依曼架构nCPI(Cycle Per Instruction) 约为约为1.9 nT-Thumb 架构扩展架构扩展, 提供两个独立指提供两个独立指令

8、集:令集:nARM 指令,均为指令,均为 32位位nThumb指令,均为指令,均为 16位位nD - 内核具有内核具有Debug扩展结构扩展结构nM 增强乘法器增强乘法器 (32x8) 支持支持64位结位结果果.nI - EmbeddedICE 逻辑逻辑1、ARM7TDMI处理处理器器第11页/共33页1.3 ARM 架构架构1、数据和指令类型、数据和指令类型nARM 采用的是采用的是32位架构位架构.n ARM 约定约定:Byte :8 bitsHalfword :16 bits (2 byte)Word :32 bits (4 byte)n大部分大部分ARM core 提供:提供:ARM

9、指令集(32-bit) Thumb 指令集(16-bit )nJazelle cores 支持支持 Java bytecode第12页/共33页2、处理器工作模式(、处理器工作模式(ARM 有有7个)个)User(用户模式用户模式): 非特权模式,大部分任务执行在这种模式非特权模式,大部分任务执行在这种模式FIQ(快速中断模式快速中断模式): 高优先级(高优先级(fast) 中断产生时将会进入这种模式中断产生时将会进入这种模式IRQ(中断模式中断模式): 低优先级(低优先级(normal) 中断产生时将会进入这种模式中断产生时将会进入这种模式Supervisor(管理员模式管理员模式): 当复

10、位或软中断指令执行时将会进入这种模式当复位或软中断指令执行时将会进入这种模式Abort(中止模式中止模式): 当存取(数据和指令)异常时将会进入这种模式当存取(数据和指令)异常时将会进入这种模式Undef(未定义模式未定义模式): 当执行未定义指令时会进入这种模式当执行未定义指令时会进入这种模式System(系统模式系统模式): 使用和使用和User模式相同寄存器集的特权模式模式相同寄存器集的特权模式特权模式特权模式=异常模式异常模式+ System异常模式异常模式第13页/共33页3、ARM 寄存器寄存器(37)USRr0r1r2r3r4r5r6r7r8r9r10r11r12r15(pc)c

11、psrr13(sp)r14(lr)当前可见寄存器当前可见寄存器spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr8r9r10r11r12r13(sp)r14(lr)spsr备用寄存器备用寄存器ABORTFIQIRQSVCUndefr13(sp)r14(lr)30 个通用个通用32位寄存器,位寄存器,1 个程序计数器个程序计数器PC6 个状态寄存器个状态寄存器2第14页/共33页Thumb stateLow registersThumb stateHigh registersNote: System模式使用模式使用user模式寄

12、存器集模式寄存器集FIQUsermoder0-r7,r15,andcpsrr8r9r10r11r12r13(sp)r14(lr)spsrUser&Sysr8r9r10r11r12r13(sp)r14(lr)r15(pc)cpsrr0r1r2r3r4r5r6r7IRQr13(sp)r14(lr)spsrUsermoder0-r12r15,andcpsrSVCr13(sp)r14(lr)spsrUsermoder0-r12r15,andcpsrUndefr13(sp)r14(lr)spsrUsermoder0-r12r15,andcpsrAbortr13(sp)r14(lr)spsrUsermod

13、er0-r12r15,andcpsr寄存器组织寄存器组织第15页/共33页ARM 寄存器名称寄存器名称nARM 有有37个个32-Bits长的寄存器长的寄存器.n1 个用作个用作PC( program counter)(r15)n1个用作个用作CPSR(current program status register)n5个用作个用作SPSR(saved program status registers)n30 个通用寄存器个通用寄存器n当前处理器的模式决定着哪组寄存器可操作当前处理器的模式决定着哪组寄存器可操作. 任何模式都可以存取:任何模式都可以存取: n相应的相应的r0-r12子集子集n相

14、应的相应的 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模式的异常模式模式的异常模式) 还可以存取;还可以存取;n相应的相应的 spsr (saved program status register)第16页/共33页4、程序状态寄存器、程序状态寄存器n 条件位:条件位:u N = Negative resul

15、t from ALU u Z = Zero result from ALUu C = ALU operation Carried outu V = ALU operation oVerflowednQ 位:位:u 仅仅ARM 5TE/J架构支持架构支持u 指示饱和状态指示饱和状态nJ 位位u 仅仅ARM 5TE/J架构支持架构支持u J = 1: 处理器处于处理器处于Jazelle状状态态n中断禁止位:中断禁止位:u I = 1: 禁止禁止 IRQ.u F = 1: 禁止禁止 FIQ.nT Bitu 仅仅ARM xT架构支持架构支持u T = 0: 处理器处于处理器处于 ARM 状状态态u T

16、 = 1: 处理器处于处理器处于 Thumb 状态状态nMode位:位:u 处理器模式位处理器模式位2731N Z C V Q2867I F T mode1623 815 54024fsxc U n d e f i n e dJ说明说明第17页/共33页5、程序指针、程序指针PC (r15)n当处理器执行在当处理器执行在ARM状态状态:所有指令所有指令 32 bits 宽宽所有指令必须所有指令必须 word 对齐对齐所以所以 pc值由值由bits 31:2决定决定, bits 1:0 未定义未定义 (所以指令不能所以指令不能halfword / byte对齐对齐).n当处理器执行在当处理器执行

17、在Thumb状态状态:所有指令所有指令 16 bits 宽宽所有指令必须所有指令必须 halfword 对齐对齐所以所以 pc值由值由bits 31:1决定决定, bits 0 未定义未定义 (所以指令不能所以指令不能 byte对对齐齐).n当处理器执行在当处理器执行在Jazelle状态状态:所有指令所有指令 8 bits 宽宽处理器执行处理器执行 word 存取一次取存取一次取4条指令条指令第18页/共33页6 6、存储器模式、存储器模式l大端模式大端模式(高对低)高对低)u最高位最高位字节保存在字节保存在最低位地址最低位地址u字由最低位字节的字节地址寻址字由最低位字节的字节地址寻址3124

18、 2316 158 70 字地址字地址89101184567401230 低地址低地址 高地址高地址l小端模式(低对低)小端模式(低对低)u最低位最低位字节保存在字节保存在最低位地址最低位地址u字由最低位字节的字节地址寻址字由最低位字节的字节地址寻址3124 2316 158 70字地址字地址11109887654432100 低地址低地址 高地址高地址第19页/共33页1.4 异常异常1、什么是异常?、什么是异常? 内部或外部中断源产生并引起处理器处理一个事件,如外内部或外部中断源产生并引起处理器处理一个事件,如外部中断或试图执行未定义指令都会引起异常。部中断或试图执行未定义指令都会引起异常

19、。 处理异常之前必须保留处理器的状态处理异常之前必须保留处理器的状态2 2、异常类型、异常类型 FIQ (FIQ (Fast Fast Interrupt ReQuest)Interrupt ReQuest) IRQ(Interrupt ReQuest)IRQ(Interrupt ReQuest) 未定义指令未定义指令 预取中止预取中止 数据中止数据中止 复位复位 软件中断软件中断Software interruptSoftware interrupt 通过软件中断产生通过软件中断产生 进行管理员模式中获得进行管理员模式中获得 通常要求特殊的管理功能,如操作系统支持通常要求特殊的管理功能,如操

20、作系统支持第20页/共33页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 interrupt , Software interrupt ( (最低优先级最低优先级) )l只要产生异常就会导致正常的程序流程被临时停止只要产生异常就会导致正常的程序流程被临时停止,例如

21、外围例如外围中断服务程序中断服务程序l在异常被处理前在异常被处理前,当前的处理器状态必须被保存当前的处理器状态必须被保存,以便处理程以便处理程序完成后序完成后,最后的程序可以被恢复最后的程序可以被恢复.第21页/共33页4 4、异常向量、异常向量第22页/共33页5、进入异常的操作进入异常的操作l在相应的链接寄存器在相应的链接寄存器LR LR (r14)(r14)中保存下一条指令的地址中保存下一条指令的地址l将将CPSRCPSR复制到相应的复制到相应的SPSRSPSR中中l强制使强制使CPSRCPSR模式位置成对应异常类型的值模式位置成对应异常类型的值l强制使程序计数器指向相应异常向量强制使程

22、序计数器指向相应异常向量, ,取下一条指令取下一条指令第23页/共33页例子例子: : 用户模式到用户模式到 I IR RQ Q模式再到模式再到FIQFIQ模式模式FIQUsermoder0-r7,r15,andcpsrr8r9r10r11r12r13(sp)r14(lr)spsrUser&Sysr8r9r10r11r12r13(sp)r14(lr)r15(pc)cpsrr0r1r2r3r4r5r6r7IRQr13(sp)r14(lr)spsrUsermoder0-r12r15,andcpsr发生异常发生异常发生异常发生异常从异常返回从异常返回从异常返回从异常返回从异常返回时从异常返回时需要手

23、动恢复需要手动恢复PC和和CPSR产生异常时自产生异常时自动保存动保存PC和和CPSR第24页/共33页6、退出异常的操作退出异常的操作l将将LRLR寄存器中的值减去相应的偏移量送到寄存器中的值减去相应的偏移量送到PCPC中中l将将 SPSR SPSR 复制回复制回 CPSRCPSRl清除禁止中断标志清除禁止中断标志, ,如果它被设置成使能如果它被设置成使能第25页/共33页1)取指令()取指令(Instruction Fetch):TF2)指令译码()指令译码(Instruction Decode):):TD3)执行指令()执行指令(Instruction Execute):):TE4)存储

24、()存储(Storage):):TS一般指令的执行周期一般指令的执行周期T每条指令的执行周期:每条指令的执行周期:T= TF+TD+TE+TS第26页/共33页程序状态寄存器程序状态寄存器PSRPSR的模式位的模式位第27页/共33页字节访问字节访问(字节对齐字节对齐)半字访问半字访问(半字对齐半字对齐)字访问字访问(字对齐字对齐)3210765402468ace089abcdef48c对齐对齐第28页/共33页1) 说出说出ARM可以工作的模式名字。可以工作的模式名字。2) ARM核有多少个寄存器?核有多少个寄存器?3) 什么寄存器用于存储什么寄存器用于存储PC和连接寄存器?和连接寄存器?4) R13通常用来存储什么?通常用来存储什么?7) CPSR的哪一位反映了处理器的状态?的哪一位反映了处理器的状态?9) ARM有哪几个异常类型。

温馨提示

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

最新文档

评论

0/150

提交评论