您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 第二章 arm微处理器及其硬件体系结构
第二章ARM微处理器及其硬件体系结构2.1硬件基础1、冯·诺依曼体系结构模型指令寄存器控制器数据通道输入输出中央处理器存储器程序指令0指令1指令2指令3指令4数据数据0数据1数据22、冯·诺依曼体系的特点1)数据与指令都存储在存储器中2)被大多数计算机所采用3)ARM7——冯诺依曼体系3、哈佛体系结构指令寄存器控制器数据通道输入输出中央处理器程序存储器指令0指令1指令2数据存储器数据0数据1数据2地址指令地址数据4、哈佛体系结构的特点1)程序存储器与数据存储器分开2)提供了较大的数存储器带宽3)适合于数字信号处理4)大多数DSP都是哈佛结构5)ARM9是哈佛结构5、CISC:复杂指令集(ComplexInstructionSetComputer)具有大量的指令和寻址方式8/2原则:80%的程序只使用20%的指令大多数程序只使用少量的指令就能够运行。6、RISC:精简指令集(ReducedInstructionSetComputer)在通道中只包含最有用的指令确保数据通道快速执行每一条指令使CPU硬件结构设计变得更为简单为增加处理器指令流的速度,ARM7系列使用3级流水线.允许多个操作同时处理,而非顺序执行。DecodeFetchExecute从存储器中读取指令解码指令中用到的寄存器寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank)PCPCPC-4PC-2PC-8PC-4ARMThumbPC指向正被取指的指令,而非正在执行的指令7、流水线技术:几个指令可以并行执行提高了CPU的运行效率内部信息流要求通畅流动该例中用6个时钟周期执行了6条指令所有的操作都在寄存器中(单周期执行)指令周期数(CPI)=1CycleOperationADDSUBORRANDEORORR123456789FDEFDEFEFDEFDEDFDEWF–取指D–解码E–执行M8、最佳流水线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:闪存CSR/WAddrDataSRAMCSR/WCASDataRASAddrDRAM2.2ARM体系结构的技术特征ARM的体系结构采用了若干BerkeleyRISC处理器设计中的特征Load/store体系结构固定的32位指令3地址指令格式也放弃了其它若干BerkeleyRISC特征寄存器窗口延迟转移所有的指令单周期执行2.2.1ARM体系结构的基本版本版本1,本版本包括下列指令:乘法指令之外的基本数据处理指令;基于字节,字和多字的存储器访问操作指令(Load/Store);子程序调用指令BL在内的跳转指令;完成系统调用的软件中断指令SWI。版本2,与版本1相比版本2(2a)增加了下列指令:乘和乘加指令;支持协处理器的指令;对于FIQ模式,提供了额外的影子寄存器;SWP指令及SWPB指令。版本3较以前的版本发生了大的变化地址空间扩展到了32位,但除了版本3G外的其他版本是向前兼容的,也支持26位的地址空间;分开的当前程序状态寄存器CPSR(CurrentProgramStatusRegister)和备份的程序状态寄存器SPSR(SavedProgramStatusRegister),SPSR用于在程序异常中断时保存被中断的程序状态;增加了两种异常模式,使操作系统代码可以方便地使用数据访问中止异常、指令预取中止异常和未定义指令异常;增加了MRS指令和MSR指令用于完成对CPSR和SPSR寄存器的读写。修改了原来的从异常中返回的指令。版本4。与版本3相比,版本4增加了下列指令有符号、无符号的半字和有符号字节的load和store指令。增加了T变种,处理器可以工作于Thumb状态,在该状态下的指令集是16位的Thumb指令集。增加了处理器的特权模式。在该模式下,使用的是用户模式下的寄存器。版本5主要由两个变型版本5T、5TE组成相比与版本4,版本5的指令集有了如下的变化:提高了T变种中ARM/Thumb混合使用的效率。增加前导零记数(CLZ)指令,该指令可使整数除法和中断优先级排队操作更为有效;增加了BKPT(软件断点)指令;为协处理器设计提供了更多的可供选择的指令;更加严格地定义了乘法指令对条件码标志位的影响。ARM体系版本6是2001年发布的。新架构v6在降低耗电量的同时还强化了图形处理性能。通过追加有效进行多媒体处理的SIMD功能,将语音及图像的处理功能提高到了原机型的4倍。ARM体系版本6首先在2002年春季发布的ARM11处理器中使用。除此之外,v6还支持多微处理器内核。ARM体系结构的命名规则表示ARM/Thumb体系版本的命名格式的ARM/Thumb体系版本由下面几部分组成的:基本字符串ARMv。基本字符串后为ARM指令集版本号,目前是1-6的数字字符。ARM指令集版本号后为表示所含变种的字符。由于在ARM体系版本4以后,M变种成为系统的标准部件,所以字符M通常也不单独列出来。最后使用的字符x表示排除某种功能。ARM体系结构总结核体系结构ARM1V1ARM2V2ARM2aS,ARM3V2aARM6,ARM600,ARM610V3ARM7,ARM700,ARM710V3ARM7TDMI,ARM710T,ARM720TARM740TV4TStrongARM,ARM8,ARM810V4ARM9TDMI,ARM920T,ARM940TV4TARM9E-SV5TEARM10TDMI,ARM1020EV5TEARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S,ARM11JZF-SV62.2.2ARM7处理器内核ARM7TDMI特性3级流水线冯.诺依曼架构CPI(CyclePerInstruction)约为1.9T-Thumb架构扩展,提供两个独立指令集:ARM指令,均为32位Thumb指令,均为16位两种运行状态,用来选择哪个指令集被执行D-内核具有Debug扩展结构M–增强乘法器(32x8)支持64位结果.I-EmbeddedICE逻辑1、ARM7TDMI处理器ARM7TDMIARM7TDMI是是ARMARM公司最早为业界普遍认可且公司最早为业界普遍认可且得到了最为广泛应用的处理器核,特别是在手机和得到了最为广泛应用的处理器核,特别是在手机和PDAPDA中,随着中,随着ARMARM技术的发展,它已是目前最低端技术的发展,它已是目前最低端的的ARMARM核。核。ARM7ARM7::3232位位ARMARM体系结构体系结构44TT版本;版本;TT::““ThumbThumb””1616位压缩指令集;位压缩指令集;DD::支持片上支持片上DebugDebug((调试),使处理器能够停止以响应调试),使处理器能够停止以响应调试请求;调试请求;MM::增强型增强型MultiplierMultiplier,,与前代相比具有较高的性能且产生与前代相比具有较高的性能且产生6464位的结果;位的结果;II::““EmbeddedICEEmbeddedICE””硬件以支持片上断点和观察点硬件以支持片上断点和观察点2、ARM7TDMI外部接口ARM7TDMI内核存储器接口地址总线数据总线控制协处理器接口时钟中断复位3、ARM7TDMI方框图DOUT[31:0]ARM7TDM内核TAP控制器JTAG接口数据总线控制信号D[31:0]地址总线A[31:0]DIN[31:0]BUSSplitterEmbeddedICE逻辑4、ARM7TDMI内核寄存器Bank乘法器地址自增器ALUBAVectors地址寄存器桶移位器PCALU读数据寄存器写数据寄存器指令解码D[31:0]5、外部地址产生PC[31:2]ARMStatePC[31:1]ThumbStateALU[31:0]INC自增器A[31:0]向量0x1C0x00地址寄存器ARM7TDMI-S是ARM7TDMI的完全可合成版本指令集和周期与ARM7TDMI固化版本兼容完全可合成的RTL使用了纲要设计构件的组件ALU寄存器bank单周期设计(上升沿)单一总线接口6、ARM7TDMI-SARM7EJ-S是可综合的内核版本:ARM体系结构V5TEJJazelleJava加速技术增强的DSP指令系统5级流水线高性能乘法器实时调试EmbeddedICE-RTETM接口向后兼容其它ARM7内核兼容V5TE体系7、ARM7EJ-SARM处理器工作状态ARM处理器核可以工作在以下2种状态ARM状态32位,ARM状态下执行字对准的32位ARM指令;Thumb状态16位,Thumb状态下执行半字对准的16位Thumb指令。在Thumb状态下,程序计数器PC使用位1选择另一个半字。2.3ARM架构1、数据和指令类型ARM采用的是32位架构.ARM约定:Byte:8bitsHalfword:16bits(2byte)Word:32bits(4byte)大部分ARMcore提供:ARM指令集(32-bit)Thumb指令集(16-bit)Jazellecores支持Javabytecode2、处理器工作模式(ARM有7个)User(用户模式):非特权模式,大部分任务执行在这种模式FIQ(快速中断模式):高优先级(fast)中断产生时将会进入这种模式IRQ(中断模式):低优先级(normal)中断产生时将会进入这种模式Supervisor(管理员模式):当复位或软中断指令执行时将会进入这种模式Abort(中止模式):当存取(数据和指令)异常时将会进入这种模式Undef(未定义模式):当执行未定义指令时会进入这种模式System(系统模式):使用和User模式相同寄存器集的特权模式特权模式=异常模式+System异常模式3、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个状态寄存器和程序计数器在任何时候都中可见的2ThumbstateLowregistersThumbstateHighregistersNote:System模式使用user模式寄存器集FIQUsermoder0-r7,r15,andcpsrr8r9r10r11r12r13(sp)r14(lr)spsrUserr8r9r10r11r12r13(sp)r14(lr)r15(pc)cpsrr0r1r2r3r4r5r6r7IRQr13(sp)r14(lr)spsrUsermoder0-r12r15,andcpsrSVCr13(sp)r14(lr)spsrUsermoder0-r12r15,andcpsrUndefr13(sp)r14(lr)spsrUsermoder0-r12r15,andcpsrAbortr13(
本文标题:第二章 arm微处理器及其硬件体系结构
链接地址:https://www.777doc.com/doc-3182864 .html