您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 第2章ARM微处理器硬件结构1
第二章ARM微处理器硬件结构山东大学精品课程嵌入式系统原理与接口技术主编:贾智平张瑞华清华大学出版社内容提要2ARM存储系统机制ARM处理器模式及内部寄存器ARM处理器结构和技术特征计算机体系结构计算机体系结构•计算机中,按内存的组成分两种典型的结构:1.冯·诺依曼结构/普林斯顿结构3冯·诺依曼体系结构4指令寄存器控制器数据通道输入输出中央处理器存储器程序指令0指令1指令2指令3指令4数据数据0数据1数据2结构特点:1、指令和数据存储在相同的内存空间,但存储地址不同。2、处理器利用相同的总线处理内存中的指令和数据,指令和数据具有相同的数据宽度,指令与数据无法同时存取。ARM7嵌入式微处理器亦采用此结构哈佛体系结构5指令寄存器控制器数据通道输入输出CPU程序存储器指令0指令1指令2数据存储器数据0数据1数据2地址指令地址数据结构特点:1、指令存储和数据存储分开,指令和数据分别位于不同的存储空间。2、指令与数据的存取采用不同总线,取指令和存取数据可同时进行,微处理器具有较高的执行效率。数字信号处理器DSP通常采用哈佛结构,ARM9嵌入式微处理器亦采用此结构。第2章ARM微处理器硬件结构612计算机体系结构ARM处理器结构和技术特征ARM处理器模式及内部寄存器34ARM存储系统机制ARM7ARM公司简介ARM是AdvancedRISCMachines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务ARM8ARM公司简介将技术授权给其它芯片厂商形成各具特色的ARM芯片...ARM处理器内核(简称ARM核)新增所谓ARM核就是传统意义上的微处理器,目前ARM公司共推出了7个ARM版本,这些版本的变化主要体现在内核的变化和内核的扩展。ARM核=ALU+CU+R+内部总线主要包括:1、算术逻辑部件2、控制部件CU(ControlUnit)3、寄存器组R(Registers)4、内部总线。9ARM处理器内核•微处理器是整个系统的核心,通常由4部分组成:控制部件、算术逻辑部件、寄存器组和内部总线。10算术逻辑单元寄存器组控制单元CU微处理器存储器输入输出113级流水线的ARM核1、取指2、译码3、执行冯·诺依曼结构ARM73级流水线的ARM核新增地址寄存器乘法器32*8寄存器块31*32bit寄存器桶形移位器32位算术逻辑单元写数据寄存器指令管道读数据寄存器Thnmb指令解码指令解码控制逻辑扫描控制基本组成:(详见前图)1、寄存器块由通用寄存器和状态寄存器组成,主要用来保存处理器状态和处理器工作中的数据。2、5个对外端口2个读端口,用于读2个源操作数;1个写端口,用于写入目的操作数;上述端口都可访问任意寄存器;1个专门访问程序计数器R15的附加读端口;1个附加写端口。123、桶式移位器主要完成指令中第2个操作数移位。4、ALU执行算术逻辑运算5、地址寄存器和增值器选择和保存所有存储器地址,并在需要时通过地址增值器生成顺序地址。6、数据寄存器对传送到存储器或从存储器取回的数据暂存。7、控制通路/控制器基本功能模块是指令解码器和相关的控制逻辑。13ARM体系结构版本ARM体系结构共定义了7个版本,版本号分别为1—7。同时,各版本中还有一些变种,这里将某些特定功能称为ARM体系的某种变种(variant)ARM体系结构版本的变化主要体现为增加ARM核外围的组件以改善ARM性能和增加内核的功能。硬件ARM核外围的组件扩展:1、cache和紧耦合存储器TCM(片上RAM)2、存储管理部件MMU3、协处理器(配置cache、TCM和存储管理)ARM核的扩充功能:1、T变种Thumb指令集2、M变种增加64位长乘法指令14ARM体系结构版本3、E变种增强型DSP指令E变种的ARM体系增加了一些增强处理器对典型的DSP算法处理能力的附加指令。4、J变种java加速器Jazelle提供了Java加速功能,使得Java代码的运行速度比普通的Java虚拟机提高了8倍。5、SIMD变种(单指令流多数据流)ARM媒体功能扩展ARM媒体功能扩展SIMD技术极大地提高了嵌入式应用系统的音频和视频处理能力,可使微处理器的音频和视频处理性能提高4倍。15ARM体系结构版本•各ARM体系结构版本——V1自学该版本的ARM体系结构,只有26位的寻址空间,没有商业化,其特点为:基本的数据处理指令(不包括乘法);字节、字和半字加载/存储指令;具有分支指令,包括在子程序调用中使用的分支和链接指令;在操作系统调用中使用的软件中断指令。16ARM体系结构版本•各ARM体系结构版本——V2自学同样为26位寻址空间,现在已经废弃不再使用,它相对V1版本有以下改进:具有乘法和乘加指令;支持协处理器;快速中断模式中的两个以上的分组寄存器;具有原子性加载/存储指令SWP和SWPB。17ARM体系结构版本•各ARM体系结构版本——V3自学寻址范围扩展到32位(目前已废弃),具有独立的程序:具有乘法和乘加指令;支持协处理器;快速中断模式中具有的两个以上的分组寄存器;具有原子性加载/存储指令SWP和SWPB。18ARM体系结构版本•各ARM体系结构版本——V4自学不在为了与以前的版本兼容而支持26位体系结构,并明确了哪些指令会引起未定义指令异常发生,它相对V3版本作了以下的改进:半字加载/存储指令;字节和半字的加载和符号扩展指令;具有可以转换到Thumb状态的指令(BX);增加了用户模式寄存器的新的特权处理器模式。19ARM体系结构版本•各ARM体系结构版本——V5自学在V4版本的基础上,对现在指令的定义进行了必要的修正,对V4版本的体系结构进行了扩展并并增加了指令,具体如下:改进了ARM/Thumb状态之间的切换效率;E---增强型DSP指令集,包括全部算法操作和16位乘法操作;J----支持新的JAVA,提供字节代码执行的硬件和优化软件加速功能。20ARM体系结构版本•各ARM体系结构版本——V6自学V6版架构是2001年发布的,首先在2002年春季发布的ARM11处理器中使用。此架构在V5版基础上增加了以下功能:改进了ARM/Thumb状态之间的切换效率;THUMBTM:35%代码压缩;DSP扩充:高性能定点DSP功能;JazelleTM:Jova性能优化,可提高8倍;Media扩充:音/视频性能优化,可提高4倍。21ARM体系结构版本•各ARM体系结构版本——V7自学•ARMv7定义了3种不同的处理器配置(processorprofiles):▫ProfileA是面向复杂、基于虚拟内存的OS和应用的▫ProfileR是针对实时系统的;▫ProfileM是针对低成本应用的优化的微控制器的。•所有ARMv7profiles实现Thumb-2技术,同时还包括了NEON™技术的扩展提高DSP和多媒体处理吞吐量400%,并提供浮点支持以满足下一代3D图形和游戏以及传统嵌入式控制应用的需要。22ARM处理器的分类23结构体系版本(Architecture)ARMv4TARMv5TEARMv6ARMCortex(v7)ProcessorFamilyARM7ARM9ARM10ARM11ARMCortexARM各系列处理器•ARM公司开发了很多系列的ARM处理器核,目前最新的系列已经是ARM11了,而ARM6核以及更早的系列已经很罕见了。目前应用比较广泛的系列是:24ARM7ARM9ARM9EARM10ARM11SecurCoreCortexXscaleARM处理器核当前的系列产品.•ARM7微处理器系列(一般了解)特点:冯诺伊曼体系结构;ARM7TDMI是目前应用最广的微处理器核;ARM720T带有MMU和8KB的指令数据混合cache;ARM7EJ-执行ARMv5TEJ指令,5级流水线,提供Java加速指令,没有存储器保护。25ARM命名规则:1、基于ARMArchitecture的版本命名规则|ARMVn|variants|x(variants)|Vnn--指令集版本号,n[1:7]。·variants--变种。·x(variants)--排除x后指定的变种例,ARMv5TxM表示ARM指令集版本为5,支持T变种,不支持M变种。2、基于ARM处理器系列命名规则ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}·x--处理器系列·y--存储管理/保护单元·z--cache··D--支持片上调试(加断点,单步执行)·I--支持EmbeddedICE,支持嵌入式跟踪调试。开发环境可跟踪调试目标板。·-S--可综合版本,无s硬核,工艺固定不可综合。ARM7TDMI26ARM7TDMI:整数处理核ARM7TDMI处理器的可综合版本;ARM720T:带MMU的处理器核心,支持操作系统;ARM7EJ-S:带有DSP和JazelleTM技术,能够实现Java加速功能支持高密度16位的Thumb指令集;支持片上调试;支持64位乘法;支持Embeded-ICE观察硬件;ARM7TDMI的可综合(synthesizable)版本(软核),对应用工程师来说其编程模型与ARM7TDMI一致;ARM7TDMI-SARM710TARM720T27ARM7TDMI内核地址地址数据读AMBA接口写缓冲MMU数据写数据ARM7xxT控制逻辑CacheAMBA总线接口JTAG和非AMBA信号CP15带Cache的ARM720TARM710T•8K统一的cache•完整的内存管理单元(MMU),支持虚拟地址和存储器保护•写缓冲ARM720T同ARM710T,但支持WinCEARM740T•8K统一的cache•存储管理单元•写缓冲MMU存储管理单元,其核心部件是TLB(快表),TLB保存了最近访问的物理页地址,若TLB命中可快速取得变量的物理地址。Cp15ARM内置协处理器,含有多个寄存器,用于配置MMU、cache和writerbuffer。Writerbuffer写缓冲,暂存地址和数据,提高地址和数据的访问速度。advancedmicrocontrollerbusarchitecture取指(操作数存取)过程:1、内核首先以虚拟地址访问cache,若cache命中则从cache取指。2、若cache未命中,则访问MMU中的TLB。若TLB命中,则把TLB中的物理页号与虚拟地址的低位拼接成物理地址,以该地址访问内存。3、若TLB未命中,则以虚拟地址访问内存页表。ARM9•ARM9微处理器系列自学特点:基于ARM9TDMI,带16位的Thumb指令集,增强代码密度最多到35%;在0.13µm工艺下最高性能可达到300MIPS(Dhrystone2.1测试标准);集成了数据和指令Chche;32位AMBA总线接口的MMU支持;可在0.18µm、0.15µm和0.13µm工艺的硅芯片上实现。28ARM9TDMI自学29ARM9TDMIDCacheICacheMMUGLUE外部存储器ARM940T2x4KcachesMPU写缓冲ARM9xxTARM920T2x16KcachesMMU支持虚拟地址和内存保护写缓冲带Cache的ARM9TDMIARM9E•ARM9E微处理器系列自学特点:ARM9E是针对微控制器、DSP和Java的单处理器解决方案;ARMJazelle技术提供8倍的Java加速性能(ARM926EJ-S);5-级整数流水线;在0.13µm工艺下最高性能可达到300MIPS(Dhrystone2.1测试标准);可选择的向量浮点单元VFP9协处理器指令优秀海浮点性能,对于3D图形加速和实时控制可达到215MFLOPS高性能的AHB总线,带MMU可在0.18µm,0.15µm,0.13µm工艺的硅芯片上实现。30
本文标题:第2章ARM微处理器硬件结构1
链接地址:https://www.777doc.com/doc-3620175 .html