资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第二章ARM微处理器及其硬件体系结构,1.1 硬件基础,1、冯诺依曼体系结构模型,指令寄存器,控制器,数据通道,输入,输出,中央处理器,存储器,程序,指令0,指令1,指令2,指令3,指令4,数据,数据0,数据1,数据2,2、冯诺依曼体系的特点,1)数据与指令都存储在存储器中,2)被大多数计算机所采用,3),ARM7,冯诺依曼体系,3、哈佛体系结构,指令寄存器,控制器,数据通道,输入,输出,中央处理器,程序存储器,指令0,指令1,指令2,数据存储器,数据0,数据1,数据2,地址,指令,地址,数据,4、哈佛体系结构的特点,1)程序存储器与数据存储器分开2)提供了较大的数存储器带宽,3)适合于数字信号处理,4)大多数DSP都是哈佛结构,5)ARM9是哈佛结构,5、CISC:复杂指令集(Complex Instruction Set Computer),具有大量的指令和寻址方式,8/2原则:80%的程序只使用20%的指令,大多数程序只使用少量的指令就能够运行,。,6、RISC:精简指令集(Reduced Instruction Set Computer),在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,使CPU硬件结构设计变得更为简单,为增加处理器指令流的速度,ARM7 系列使用3级流水线.,允许多个操作同时处理,而非顺序执行。,Decode,Fetch,Execute,从存储器中读取指令,解码指令中用到的寄存器,寄存器读(从寄存器Bank),移位及ALU操作,寄存器写(到寄存器Bank),PCPC,PC-4PC-2,PC-8PC-4,ARMThumb,PC指向正被取指的指令,而非正在执行的指令,7、流水线技术:,几个指令可以并行执行,提高了CPU的运行效率,内部信息流要求通畅流动,该例中用6个时钟周期执行了6条指令,所有的操作都在寄存器中(单周期执行),指令周期,数(CPI)=1,Cycle,Operation,ADD,SUB,ORR,AND,EOR,ORR,1,2,3,4,5,6,7,8,9,F,D,E,F,D,E,F,E,F,D,E,F,D,E,D,F,D,E,W,F 取指,D 解码,E 执行,M,8、最佳流水线,9、超标量执行,超标量CPU采用多条流水线结构,执行1,预取,指令CACHE,译码2,译码1,执行2,执行1,预取,译码2,译码1,执行2,流水线1,流水线2,数据,10、高速缓存(CACHE),1、为什么采用高速缓存,微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。,2、高速缓存的工作原理,高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。,CPU,高速缓存控制器,CACHE,主存,数据,数据,地址,11、,总线和总线桥,CPU,低速设备,桥,数据,高速总线,存储器,高速设备,高速设备,低速总线,12、存储器系统,RAM:,随机存取存储器,SRAM:,静态随机存储器,DRAM:,动态随机存储器,1)SRAM比DRAM快,2)SRAM比DRAM耗电多,3)DRAM存储密度比SRAM高得多,4)DRAM需要周期性刷新,ROM:,只读存储器,FLASH:,闪存,CS,R/W,Addr,Data,SRAM,CS,R/W,CAS,Data,RAS,Addr,DRAM,1.2,ARM7处理器内核,ARM7TDMI 特性,3 级流水线,冯.诺依曼架构,CPI(Cycle Per Instruction)约为1.9,T-Thumb 架构扩展,提供两个独立指令集:,ARM 指令,均为 32位,Thumb指令,均为 16位,两种运行状态,用来选择哪个指令集被执行,D -内核具有Debug扩展结构,M 增强乘法器(32x8)支持64位结果.,I -EmbeddedICE 逻辑,1、ARM7TDMI处理器,2、ARM7TDMI 外部接口,ARM7TDMI,内核,存储器接口,地址总线,数据总线,控制,协处理器接口,时钟,中断,复位,3、ARM7TDMI 方框图,DOUT31:0,ARM7TDM,内核,TAP,控制器,JTAG 接口,数据总线,控制信号,D31:0,地址总线,A31:0,DIN31:0,BUS,Splitter,Embedded,ICE,逻辑,4、ARM7TDMI,内核,寄存器,Bank,乘法器,地址自增器,ALU,B,A,Vectors,地址寄存器,桶,移位器,PC,ALU,读数据,寄存器,写数据,寄存器,指令解码,D31:0,5、外部地址产生,PC31:2 ARM State,PC31:1 Thumb State,ALU31:0,INC,自增器,A31:0,向量,0 x1C,0 x00,地址,寄存器,ARM7TDMI-S,是,ARM7TDMI,的完全可合成 版本,指令集和周期与,ARM7TDMI,固化版本兼容,完全可合成的,RTL,使用了纲要设计构件的组件,ALU,寄存器,bank,单周期设计(上升沿)单一总线接口,6、ARM7TDMI-S,ARM7EJ-S,是可综合的内核版本:,ARM,体系结构,V5TEJ,Jazelle Java,加速技术,增强的,DSP,指令系统,5,级流水线,高性能乘法器,实时调试,EmbeddedICE-RT,ETM,接口,向后兼容其它,ARM7,内核,兼容,V5TE,体系,7、ARM7EJ-S,V3版本推出32位寻址能力,结构扩展变化为,T16位压缩指令集,M增强型乘法器,产生全64位结果(32X32,64or32X32+64 64),V4版本增加了半字load和store指令,V5版本改进了ARM和Thumb之间的交互,结构扩展变化为:,E-增强型DSP指令集,包括全部算法操作和16位乘法操作,J-支持新的JAVA,提供字节代码执行的硬件和优化软件加速功能,ARM体系结构版本,-2,1.3,ARM 架构,1、数据和指令类型,ARM 采用的是32位架构.,ARM 约定:,Byte:,8 bits,Halfword,:16 bits(2 byte),Word:,32 bits(4 byte),大部分ARM core 提供:,ARM 指令集(32-bit),Thumb 指令集(16-bit),Jazelle cores 支持 Java bytecode,2、处理器工作模式(ARM 有7个),User(用户模式):,非特权模式,,大部分任务执行在这种模式,FIQ(快速中断模式):,高优先级(fast)中断,产生时将会进入这种模式,IRQ(中断模式):,低优先级(normal)中断,产生时将会进入这种模式,Supervisor(管理员模式):,当,复位,或,软中断指令,执行时将会进入这种模式,Abort(中止模式):,当,存取(,数据和指令,)异常,时将会进入这种模式,Undef(未定义模式):,当执行,未定义,指令时会进入这种模式,System(系统模式):,使用和User模式相同寄存器集的特权模式,特权模式=,异常模式+,System,异常模式,3、ARM 寄存器(,37),Abort Mode,r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r15(pc),cpsr,r13(sp),r14(lr),spsr,当前可见寄存器,r13(sp),r14(lr),spsr,r13(sp),r14(lr),spsr,r13(sp),r14(lr),spsr,r8,r9,r10,r11,r12,r13(sp),r14(lr),spsr,备用寄存器,User,FIQ,IRQ,SVC,Undef,r13(sp),r14(lr),30,个通用32位寄存器,,1,个程序计数器PC,6,个状态寄存器,15,个通用寄存器,(R0-R14),1或者2个状态寄存器和程序计数器在任何时候都中可见的,2,Thumb state,Low registers,Thumb state,High registers,Note:System模式使用user模式寄存器集,FIQ,Usermoder0-r7,r15,andcpsr,r8,r9,r10,r11,r12,r13(sp),r14(lr),spsr,User,r8,r9,r10,r11,r12,r13(sp),r14(lr),r15(pc),cpsr,r0,r1,r2,r3,r4,r5,r6,r7,IRQ,r13(sp),r14(lr),spsr,Usermoder0-r12r15,andcpsr,SVC,r13(sp),r14(lr),spsr,Usermoder0-r12r15,andcpsr,Undef,r13(sp),r14(lr),spsr,Usermoder0-r12r15,andcpsr,Abort,r13(sp),r14(lr),spsr,Usermoder0-r12r15,andcpsr,寄存器组织,ARM 寄存器名称,ARM 有37个32-Bits长的寄存器.,1 个用作,PC,(program counter)(,r15,),1个用作,CPSR,(current program status register),5个用作,SPSR,(saved program status registers),30 个通用寄存器,当前处理器的模式决定着哪组寄存器可操作.任何模式都可以存取:,相应的,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 program status register),4、程序状态寄存器,条件位:,N=Negative result from ALU,Z=Zero result from ALU,C=ALU operation Carried out,V=ALU operation oVerflowed,Q 位:,仅ARM 5TE/J架构支持,指示饱和状态,J 位,仅ARM 5TE/J架构支持,J=1:处理器处于Jazelle状态,中断禁止位:,I =1:禁止 IRQ.,F=1:禁止 FIQ.,T Bit,仅ARM xT架构支持,T=0:处理器处于 ARM 状态,T=1:处理器处于 Thumb 状态,Mode位:,处理器模式位,27,31,N Z C V,Q,28,6,7,I F,T,mode,16,23,8,15,5,4,0,24,f,s,x,c,U n d e f i n e d,J,说明,5、程序指针PC(r15),当处理器执行在ARM状态:,所有指令 32 bits 宽,所有指令必须 word,对齐,所以 pc值由bits 31:2决定,bits 1:0 未定义(所以指令不能halfword/byte对齐).,当处理器执行在Thumb状态:,所有指令 16 bits 宽,所有指令必须 halfword 对齐,所以 pc值由bits 31:1决定,bits 0 未定义(所以指令不能 byte对齐).,当处理器执行在Jazelle状态:,所有指令 8 bits 宽,处理器执行 word 存取一次取4条指令,6、存储器模式,大端模式(高对低),最高位,字节保存在,最低位地址,字由最低位字节的字节地址寻址,31,24,23,16,15,8,7,0,字地址,8,9,10,11,8,4,5,
展开阅读全文