第二章ARM微处理器及其硬件体系结构1课件_第1页
第二章ARM微处理器及其硬件体系结构1课件_第2页
第二章ARM微处理器及其硬件体系结构1课件_第3页
第二章ARM微处理器及其硬件体系结构1课件_第4页
第二章ARM微处理器及其硬件体系结构1课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第二章ARM微处理器及其硬件体系结构[1]2023/9/13第二章ARM微处理器及其硬件体系结构[1]第二章ARM微处理器及其硬件体系结构[1]2023/8/1第12、冯·诺依曼体系的特点1)数据与指令都存储在存储器中2)被大多数计算机所采用3)ARM7——冯诺依曼体系第二章ARM微处理器及其硬件体系结构[1]2、冯·诺依曼体系的特点1)数据与指令都存储在存储器中第二章23、哈佛体系结构指令寄存器控制器数据通道输入输出中央处理器程序存储器指令0指令1指令2数据存储器数据0数据1数据2地址指令地址数据第二章ARM微处理器及其硬件体系结构[1]3、哈佛体系结构指令寄存器控制器数据通道输入输出中央处理器程34、哈佛体系结构的特点1)程序存储器与数据存储器分开

2)提供了较大的数存储器带宽3)适合于数字信号处理4)大多数DSP都是哈佛结构5)ARM9是哈佛结构第二章ARM微处理器及其硬件体系结构[1]4、哈佛体系结构的特点1)程序存储器与数据存储器分开

2)提45、CISC:复杂指令集(ComplexInstructionSetComputer)具有大量的指令和寻址方式8/2原则:80%的程序只使用20%的指令大多数程序只使用少量的指令就能够运行。6、RISC:精简指令集(ReducedInstructionSetComputer)在通道中只包含最有用的指令确保数据通道快速执行每一条指令使CPU硬件结构设计变得更为简单第二章ARM微处理器及其硬件体系结构[1]5、CISC:复杂指令集(ComplexInstructi5为增加处理器指令流的速度,ARM7系列使用3级流水线.允许多个操作同时处理,而非顺序执行。DecodeFetchExecute从存储器中读取指令解码指令中用到的寄存器寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank)PC PCPC-4 PC-2PC-8 PC-4ARM ThumbPC指向正被取指的指令,而非正在执行的指令7、流水线技术:几个指令可以并行执行提高了CPU的运行效率内部信息流要求通畅流动第二章ARM微处理器及其硬件体系结构[1]为增加处理器指令流的速度,ARM7系列使用3级流水线.De6该例中用6个时钟周期执行了6条指令所有的操作都在寄存器中(单周期执行)指令周期数(CPI)=1CycleOperationADDSUBORRANDEORORR123456789FDEFDEFEFDEFDEDFDEWF–取指 D–解码

E–执行M8、最佳流水线第二章ARM微处理器及其硬件体系结构[1]该例中用6个时钟周期执行了6条指令CycleOperatio79、超标量执行超标量CPU采用多条流水线结构执行1预取指令CACHE译码2译码1执行2执行1预取译码2译码1执行2流水线1流水线2数据第二章ARM微处理器及其硬件体系结构[1]9、超标量执行超标量CPU采用多条流水线结构执行1预取指令C810、高速缓存(CACHE)1、为什么采用高速缓存

微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。2、高速缓存的工作原理

高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。

CPU高速缓存控制器CACHE主存数据数据地址第二章ARM微处理器及其硬件体系结构[1]10、高速缓存(CACHE)1、为什么采用高速缓存高速缓存控911、总线和总线桥CPU低速设备桥数据高速总线存储器高速设备高速设备低速总线第二章ARM微处理器及其硬件体系结构[1]11、总线和总线桥数据高速总线低速总线第二章ARM微处理器及1012、存储器系统RAM:随机存取存储器

SRAM:静态随机存储器DRAM:动态随机存储器

1)SRAM比DRAM快2)SRAM比DRAM耗电多3)DRAM存储密度比SRAM高得多4)DRAM需要周期性刷新ROM:只读存储器FLASH:闪存CSR/WAddrDataSRAMCSR/WCASDataRASAddrDRAM第二章ARM微处理器及其硬件体系结构[1]12、存储器系统RAM:随机存取存储器1)SRAM比DRA111.2ARM7处理器内核ARM7TDMI特性3级流水线冯.诺依曼架构CPI(CyclePerInstruction)约为1.9T-Thumb架构扩展,提供两个独立指令集:ARM指令,均为32位Thumb指令,均为16位两种运行状态,用来选择哪个指令集被执行D-内核具有Debug扩展结构M–增强乘法器(32x8)支持64位结果.I-EmbeddedICE逻辑1、ARM7TDMI处理器第二章ARM微处理器及其硬件体系结构[1]1.2ARM7处理器内核ARM7TDMI特性1、AR122、ARM7TDMI外部接口ARM7TDMI内核存储器接口地址总线数据总线控制协处理器接口时钟中断复位第二章ARM微处理器及其硬件体系结构[1]2、ARM7TDMI外部接口ARM7TDMI存储器接口地址133、ARM7TDMI方框图DOUT[31:0]ARM7TDM内核TAP控制器JTAG接口数据总线控制信号D[31:0]地址总线A[31:0]DIN[31:0]BUSSplitterEmbeddedICE逻辑第二章ARM微处理器及其硬件体系结构[1]3、ARM7TDMI方框图DOUT[31:0]ARM7TD144、ARM7TDMI内核寄存器Bank乘法器地址自增器ALUBAVectors地址寄存器桶移位器PCALU读数据寄存器写数据寄存器指令解码D[31:0]第二章ARM微处理器及其硬件体系结构[1]4、ARM7TDMI内核寄存器乘法器地址自增器ALUBAV155、外部地址产生PC[31:2]ARMStatePC[31:1]ThumbStateALU[31:0]INC自增器A[31:0]向量0x1C0x00地址寄存器第二章ARM微处理器及其硬件体系结构[1]5、外部地址产生PC[31:2]ARMStateALU[16ARM7TDMI-S是ARM7TDMI的完全可合成版本指令集和周期与ARM7TDMI固化版本兼容完全可合成的RTL使用了纲要设计构件的组件ALU寄存器bank单周期设计(上升沿)单一总线接口6、ARM7TDMI-S第二章ARM微处理器及其硬件体系结构[1]ARM7TDMI-S是ARM7TDMI的完全可合成版本17ARM7EJ-S是可综合的内核版本:ARM体系结构V5TEJJazelleJava加速技术增强的DSP指令系统5级流水线高性能乘法器实时调试EmbeddedICE-RTETM接口向后兼容其它ARM7内核兼容V5TE体系7、ARM7EJ-S第二章ARM微处理器及其硬件体系结构[1]ARM7EJ-S是可综合的内核版本:7、ARM7EJ-S第18V3版本推出32位寻址能力,结构扩展变化为T—16位压缩指令集M—增强型乘法器,产生全64位结果(32X3264or32X32+6464)V4版本增加了半字load和store指令V5版本改进了ARM和Thumb之间的交互,结构扩展变化为:E---增强型DSP指令集,包括全部算法操作和16位乘法操作J----支持新的JAVA,提供字节代码执行的硬件和优化软件加速功能ARM体系结构版本-2第二章ARM微处理器及其硬件体系结构[1]V3版本推出32位寻址能力,结构扩展变化为ARM体系结构版本191.3ARM架构1、数据和指令类型ARM采用的是32位架构.ARM约定:Byte: 8bitsHalfword:16bits(2byte)Word: 32bits(4byte)大部分ARMcore提供:ARM指令集(32-bit)Thumb指令集(16-bit)Jazellecores支持Javabytecode第二章ARM微处理器及其硬件体系结构[1]1.3ARM架构1、数据和指令类型ARM采用的是32位202、处理器工作模式(ARM有7个)User(用户模式):

非特权模式,大部分任务执行在这种模式FIQ(快速中断模式):

高优先级(fast)中断产生时将会进入这种模式IRQ(中断模式):

低优先级(normal)中断产生时将会进入这种模式Supervisor(管理员模式):当复位或软中断指令执行时将会进入这种模式Abort(中止模式):当存取(数据和指令)异常时将会进入这种模式Undef(未定义模式):当执行未定义指令时会进入这种模式System(系统模式):使用和User模式相同寄存器集的特权模式特权模式=异常模式+System异常模式第二章ARM微处理器及其硬件体系结构[1]2、处理器工作模式(ARM有7个)User(用户模式):213、ARM寄存器(37)AbortModer0r1r2r3r4r5r6r7r8r9r10r11r12r15(pc)cpsrr13(sp)r14(lr)spsr当前可见寄存器r13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr8r9r10r11r12r13(sp)r14(lr)spsr备用寄存器UserFIQIRQSVCUndefr13(sp)r14(lr)30个通用32位寄存器,1个程序计数器PC6个状态寄存器15个通用寄存器(R0-R14),1或者2个状态寄存器和程序计数器在任何时候都中可见的2第二章ARM微处理器及其硬件体系结构[1]3、ARM寄存器(37)AbortModer0r1r2r22ThumbstateLowregistersThumbstateHighregistersNote:System模式使用user模式寄存器集FIQUser

mode

r0-r7,

r15,

and

cpsrr8r9r10r11r12r13(sp)r14(lr)spsrUserr8r9r10r11r12r13(sp)r14(lr)r15(pc)cpsrr0r1r2r3r4r5r6r7IRQr13(sp)r14(lr)spsrUser

mode

r0-r12

r15,

and

cpsrSVCr13(sp)r14(lr)spsrUser

mode

r0-r12

r15,

and

cpsrUndefr13(sp)r14(lr)spsrUser

mode

r0-r12

r15,

and

cpsrAbortr13(sp)r14(lr)spsrUser

mode

r0-r12

r15,

and

cpsr寄存器组织第二章ARM微处理器及其硬件体系结构[1]ThumbstateThumbstateNote:Sy23ARM寄存器名称ARM有37个32-Bits长的寄存器.1个用作PC(programcounter)(r15)1个用作CPSR(currentprogramstatusregister)5个用作SPSR(savedprogramstatusregisters)30个通用寄存器当前处理器的模式决定着哪组寄存器可操作.任何模式都可以存取:相应的r0-r12子集相应的r13(thestackpointer,sp)andr14(thelinkregister,lr)相应的r15(theprogramcounter,pc)相应的CPSR(currentprogramstatusregister,cpsr)特权模式(除system模式的异常模式)还可以存取;相应的spsr(savedprogramstatusregister)第二章ARM微处理器及其硬件体系结构[1]ARM寄存器名称ARM有37个32-Bits长的寄存器.244、程序状态寄存器

条件位:N=NegativeresultfromALUZ=ZeroresultfromALUC=ALUoperationCarriedoutV=ALUoperationoVerflowedQ位:仅ARM5TE/J架构支持指示饱和状态J位仅ARM5TE/J架构支持J=1:处理器处于Jazelle状态中断禁止位:I=1:禁止IRQ.F=1:禁止FIQ.TBit仅ARMxT架构支持T=0:处理器处于ARM状态T=1:处理器处于Thumb状态Mode位:处理器模式位2731NZCV

Q2867IF

T

mode1623

815

54024fsxc

UndefinedJ说明第二章ARM微处理器及其硬件体系结构[1]4、程序状态寄存器条件位:中断禁止位:2731NZC255、程序指针PC(r15)当处理器执行在ARM状态:所有指令32bits宽所有指令必须word对齐所以pc值由bits[31:2]决定,bits[1:0]未定义(所以指令不能halfword/byte对齐).当处理器执行在Thumb状态:所有指令16bits宽所有指令必须halfword对齐所以pc值由bits[31:1]决定,bits[0]未定义(所以指令不能byte对齐).当处理器执行在Jazelle状态:所有指令8bits宽处理器执行word存取一次取4条指令第二章ARM微处理器及其硬件体系结构[1]5、程序指针PC(r15)当处理器执行在ARM状态:第二章266、存储器模式大端模式(高对低)最高位字节保存在最低位地址字由最低位字节的字节地址寻址3124

2316

158

70字地址89101184567401230低地址高地址小端模式(低对低)最低位字节保存在最低位地址字由最低位字节的字节地址寻址3124

2316

158

70字地址11109887654432100低地址

高地址第二章ARM微处理器及其硬件体系结构[1]6、存储器模式大端模式(高对低)31242316158271.4异常1、什么是异常?

内部或外部中断源产生并引起处理器处理一个事件,如外部中断或试图执行未定义指令都会引起异常。处理异常之前必须保留处理器的状态2、异常类型FIQIRQ(InterruptReQuest)未定义指令预取中止数据中止复位软件中断Softwareinterrupt通过软件中断产生进行管理员模式中获得通常要求特殊的管理功能,如操作系统支持第二章ARM微处理器及其硬件体系结构[1]1.4异常1、什么是异常?内部或外部中断源产生并引起283、异常优先级Reset(highestpriority)(2)Dataabort(3)FIQ(4)IRQ(5)Prefetchabort(6)未定义指令,Softwareinterrupt(最低优先级)只要产生异常就会导致正常的程序流程被临时停止,例如外围中断服务程序在异常被处理前,当前的处理器状态必须被保存,以便处理程序完成后,最后的程序可以被恢复.第二章ARM微处理器及其硬件体系结构[1]3、异常优先级Reset(highestpriority294、异常向量第二章ARM微处理器及其硬件体系结构[1]4、异常向量第二章ARM微处理器及其硬件体系结构[1]305、进入异常的操作在相应的链接寄存器LR(r14)中保存下一条指令的地址将CPSR复制到相应的SPSR中强制使CPSR模式位置成对应异常类型的值强制使程序计数器指向相应异常向量,取下一条指令第二章ARM微处理器及其硬件体系结构[1]5、进入异常的操作在相应的链接寄存器LR(r14)中保存下31例子:用户模式到FIQ模式异常r15(pc)r13_fiqr10_fiqr8_fiqspsr_fiqcpsrr7r4r5r2r1r0r3r6r14_fiqr12_fiqr11_fiqr9_fiqr14(lr)r13(sp)r12r10r11r9r8RegistersinuseFIQ模式cpsrr15(pc)r14(lr)r13(sp)r12r10r11r9r8r7r4r5r2r1r0r3r6r14_fiqr13_fiqr12_fiqr10_fiqr11_fiqr9_fiqr8_fiqRegistersinuse用户模式spsr_fiq返回一个从用户模式计算的地址,PC值存储在FIQ模式r14用户模式CPSR复制到FIQ模式SPSR第二章ARM微处理器及其硬件体系结构[1]例子:用户模式到FIQ模式异常r15(pc)r13_f326、退出异常的操作将LR寄存器中的值减去相应的偏移量送到PC中(Theoffsetwillvarydependingonthetypeofexception)将SPSR复制回CPSR清除禁止中断标志,如果它被设置成使能第二章ARM微处理器及其硬件体系结构[1]6、退出异常的操作将LR寄存器中的值减去相应的偏移量送到PC3328-31位为条件标志位,包括N、Z、C、V4个标志。N位——符号位。如果结果为负数,则N=1;结果为正数或0,则N=0Z位——如果指令的结果为0,则置1(通常表示比较结果为“相等”);否则清0C位——表示加、减、比较运算的进位、借位等(减法有借位C=0,否则为1)V位——益出标志位第27位为Q标志位,只出现在V5以上带E的版本中,指出在增强型DSP指令中是否出现益出或饱和。第24位为J位第6、7位为中断禁止位,当I=1时,禁止IRQ中断;当F=1时,禁止FIQ中断。第5位为T位,主要用于对ARM体系带T的版本,当T=0,处理器处于ARM状态;当T=1,处理器处于Thumb状态。第0-4位为处理器的模式位,决定目前处理器所处在的工作模式。另外寄存器中灰色的这些部分为保留位,以方便以后的扩展。说明第二章ARM微处理器及其硬件体系结构[1]28-31位为条件标志位,包括N、Z、C、V4个标志。第2341)取指令(InstructionFetch):TF

2)指令译码(InstructionDecode):TD3)执行指令(InstructionExecute):TE4)存储(Storage):TS一般指令的执行周期T每条指令的执行周期:T=TF+TD+TE+TS第二章ARM微处理器及其硬件体系结构[1]1)取指令(InstructionFetch):TF

2)35程序状态寄存器PSR的模式位第二章ARM微处理器及其硬件体系结构[1]程序状态寄存器PSR的模式位第二章ARM微处理器及其硬件体系36字节访问

(字节对齐)半字访问(半字对齐)字访问(字对齐)3210765402468ace089abcdef48c对齐第二章ARM微处理器及其硬件体系结构[1]字节访问

(字节对齐)半字访问字访问321076540246371)说出ARM可以工作的模式名字。2)ARM核有多少个寄存器?3)什么

温馨提示

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

评论

0/150

提交评论