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

下载本文档

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

文档简介

第二章ARM微处理器及其硬件体系结构,1.1硬件基础,1、冯诺依曼体系结构模型,2、冯诺依曼体系的特点,1)数据与指令都存储在存储器中2)被大多数计算机所采用3)ARM7冯诺依曼体系,3、哈佛体系结构,4、哈佛体系结构的特点,1)程序存储器与数据存储器分开2)提供了较大的数存储器带宽3)适合于数字信号处理4)大多数DSP都是哈佛结构5)ARM9是哈佛结构,5、CISC:复杂指令集(ComplexInstructionSetComputer)具有大量的指令和寻址方式8/2原则:80%的程序只使用20%的指令大多数程序只使用少量的指令就能够运行。6、RISC:精简指令集(ReducedInstructionSetComputer)在通道中只包含最有用的指令确保数据通道快速执行每一条指令使CPU硬件结构设计变得更为简单,为增加处理器指令流的速度,ARM7系列使用3级流水线.允许多个操作同时处理,而非顺序执行。,PC指向正被取指的指令,而非正在执行的指令,7、流水线技术:几个指令可以并行执行提高了CPU的运行效率内部信息流要求通畅流动,该例中用6个时钟周期执行了6条指令所有的操作都在寄存器中(单周期执行)指令周期数(CPI)=1,8、最佳流水线,9、超标量执行,超标量CPU采用多条流水线结构,10、高速缓存(CACHE),1、为什么采用高速缓存微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。2、高速缓存的工作原理高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。,11、总线和总线桥,12、存储器系统,RAM:随机存取存储器SRAM:静态随机存储器DRAM:动态随机存储器,1)SRAM比DRAM快2)SRAM比DRAM耗电多3)DRAM存储密度比SRAM高得多4)DRAM需要周期性刷新ROM:只读存储器FLASH:闪存,1.2ARM7处理器内核,ARM7TDMI特性3级流水线冯.诺依曼架构CPI(CyclePerInstruction)约为1.9T-Thumb架构扩展,提供两个独立指令集:ARM指令,均为32位Thumb指令,均为16位两种运行状态,用来选择哪个指令集被执行D-内核具有Debug扩展结构M增强乘法器(32x8)支持64位结果.I-EmbeddedICE逻辑,1、ARM7TDMI处理器,2、ARM7TDMI外部接口,3、ARM7TDMI方框图,DOUT31:0,4、ARM7TDMI内核,D31:0,5、外部地址产生,PC31:2ARMStatePC31:1ThumbState,ARM7TDMI-S是ARM7TDMI的完全可合成版本指令集和周期与ARM7TDMI固化版本兼容完全可合成的RTL使用了纲要设计构件的组件ALU寄存器bank单周期设计(上升沿)单一总线接口,6、ARM7TDMI-S,ARM7EJ-S是可综合的内核版本:ARM体系结构V5TEJJazelleJava加速技术增强的DSP指令系统5级流水线高性能乘法器实时调试EmbeddedICE-RTETM接口向后兼容其它ARM7内核兼容V5TE体系,7、ARM7EJ-S,V3版本推出32位寻址能力,结构扩展变化为T16位压缩指令集M增强型乘法器,产生全64位结果(32X3264or32X32+6464)V4版本增加了半字load和store指令V5版本改进了ARM和Thumb之间的交互,结构扩展变化为:E-增强型DSP指令集,包括全部算法操作和16位乘法操作J-支持新的JAVA,提供字节代码执行的硬件和优化软件加速功能,ARM体系结构版本-2,1.3ARM架构,1、数据和指令类型,ARM采用的是32位架构.ARM约定:Byte:8bitsHalfword:16bits(2byte)Word:32bits(4byte)大部分ARMcore提供:ARM指令集(32-bit)Thumb指令集(16-bit)Jazellecores支持Javabytecode,2、处理器工作模式(ARM有7个),User(用户模式):非特权模式,大部分任务执行在这种模式FIQ(快速中断模式):高优先级(fast)中断产生时将会进入这种模式IRQ(中断模式):低优先级(normal)中断产生时将会进入这种模式Supervisor(管理员模式):当复位或软中断指令执行时将会进入这种模式Abort(中止模式):当存取(数据和指令)异常时将会进入这种模式Undef(未定义模式):当执行未定义指令时会进入这种模式System(系统模式):使用和User模式相同寄存器集的特权模式,特权模式=异常模式+System,3、ARM寄存器(37),30个通用32位寄存器,1个程序计数器PC6个状态寄存器15个通用寄存器(R0-R14),1或者2个状态寄存器和程序计数器在任何时候都中可见的,2,ThumbstateLowregisters,ThumbstateHighregisters,Note:System模式使用user模式寄存器集,寄存器组织,ARM寄存器名称,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),4、程序状态寄存器,条件位: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位:处理器模式位,说明,5、程序指针PC(r15),当处理器执行在ARM状态:所有指令32bits宽所有指令必须word对齐所以pc值由bits31:2决定,bits1:0未定义(所以指令不能halfword/byte对齐).当处理器执行在Thumb状态:所有指令16bits宽所有指令必须halfword对齐所以pc值由bits31:1决定,bits0未定义(所以指令不能byte对齐).当处理器执行在Jazelle状态:所有指令8bits宽处理器执行word存取一次取4条指令,6、存储器模式,大端模式(高对低)最高位字节保存在最低位地址字由最低位字节的字节地址寻址,小端模式(低对低)最低位字节保存在最低位地址字由最低位字节的字节地址寻址,1.4异常,1、什么是异常?,内部或外部中断源产生并引起处理器处理一个事件,如外部中断或试图执行未定义指令都会引起异常。处理异常之前必须保留处理器的状态,2、异常类型FIQIRQ(InterruptReQuest)未定义指令预取中止数据中止复位软件中断Softwareinterrupt通过软件中断产生进行管理员模式中获得通常要求特殊的管理功能,如操作系统支持,3、异常优先级,Reset(highestpriority)(2)Dataabort(3)FIQ(4)IRQ(5)Prefetchabort(6)未定义指令,Softwareinterrupt(最低优先级),只要产生异常就会导致正常的程序流程被临时停止,例如外围中断服务程序在异常被处理前,当前的处理器状态必须被保存,以便处理程序完成后,最后的程序可以被恢复.,4、异常向量,5、进入异常的操作,在相应的链接寄存器LR(r14)中保存下一条指令的地址将CPSR复制到相应的SPSR中强制使CPSR模式位置成对应异常类型的值强制使程序计数器指向相应异常向量,取下一条指令,例子:用户模式到FIQ模式,6、退出异常的操作,将LR寄存器中的值减去相应的偏移量送到PC中(Theoffsetwillvarydependingonthetypeofexception)将SPSR复制回CPSR清除禁止中断标志,如果它被设置成使能,28-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位为处理器的模式位,决定目前处理器所处在的工作模式。另外寄存器中灰色的这些部分为保留位,以方便以后的扩展。,说明,1)取指令(InstructionFetch):TF2)指令译码(InstructionDecode):TD3)执行指令(InstructionExecute):TE4)存储(Storage):TS,一般指令的执行周期T,每条指令的执行周期:T=TF+TD+TE+TS,程序状态寄存器PSR的模式位,对齐,1)说出ARM可以工作的模式名字。2)ARM核有多少个寄存器?3)什么寄存器用于存储PC和连接寄存器?4)R13通常用来存储什么?5)哪种模式使用的寄存器最少?6)在Thumb指令集中,哪些寄存器处于Lowgroup?7)CPSR的哪一位反映了处理器的状态?8)所有的Thumb指令采取什么对齐方式?9)ARM有哪几个异常类型。10)为什么FIQ的服务程序地址要位于0X1C?11)在复位后,ARM处理器处于何种模式、何种状态?,测验1,答案1,1)一条简单的算术操作(如:ADD)要占用几个周期?2)ARM7TDMI指令流水线有几个阶段?3)ARM7TDMI是否使用ALU计算地址?4)ARM在存储器里,可寻址几种类型的数据?,测验2,答案2,1)User,SVC(Supervisor),IRQ,FIQ,UNDEF,ABORT,System2)373)pc=r15lr=r144)r13=sp5)User/System-doesnothaveanspsr6)r0-r77)T-bitwhichisbit5,andJ-bitwhichisbit248)Halfword(16-bit)9)Reset,FIQ,IRQ,prefetchabo

温馨提示

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

最新文档

评论

0/150

提交评论