资源预览内容
第1页 / 共55页
第2页 / 共55页
第3页 / 共55页
第4页 / 共55页
第5页 / 共55页
第6页 / 共55页
第7页 / 共55页
第8页 / 共55页
第9页 / 共55页
第10页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
嵌入式系统设计与实例开发 第三章 基于ARM的处理器体系结构,主要内容,3.1 ARM体系结构 3.1.1 ARM微处理器结构 3.1.2 ARM工作状态 3.1.3 ARM微处理器的寄存器组织 3.1.4 ARM微处理器的指令结构 3.2 ARM9处理器简介 3.2.1 与ARM7处理器的比较 3.2.2 OMAP5912处理器简介,ARM简介,ARM即Advanced RISC Machines的缩写。 1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州San Jose VLSI技术公司制造。 20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的计算机教育基础。 1990年成立了Advanced RISC Machines Limited。,ARM简介,ARM公司是知识产权供应商,是设计公司。由合作伙伴公司来生产各具特色的芯片。 ARM公司商业模式的强大之处在于其价格合理,全世界范围有超过100个合作伙伴-包括半导体工业的著名公司。ARM公司专注于设计,其内核耗电少、成本低、功能强,特有16/32位双指令集。ARM已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案的RISC标准。,3.1 ARM体系结构,3.1.1 ARM微处理器结构 1. RISC设计思想 传统的复杂指令集计算机(Complex Instruction Set Computer,CISC)结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂。,3.1.1 ARM微处理器结构,1. RISC设计思想 1979年美国加州大学伯克利分校提出了RISC的概念。 RISC并非只是简单地去减少指令。RISC是一种设计思想,其目标是设计出一套能在高时钟频率下单周期执行、简单而有效的指令集。 RISC的设计重点在于降低由硬件执行的指令的复杂度,因为软件比硬件容易提供更大的灵活性和更高的智能。因此,RICS设计对编译器有更高的要求。,3.1.1 ARM微处理器结构,CISC与RISC的不同,RISC和CISC之间的主要区别,RISC的4个设计准则,(1)指令集 RISC处理器减少了指令种类。RISC的指令种类只提供简单的操作,使一个周期就可以执行一条指令。编译器或者程序员通过几条简单指令的组合来实现一个复杂的操作(如除法操作)。 RISC采用定长指令集,每条指令的长度都是固定的,允许流水线在当前指令译码阶段去取其下一条指令;而在CISC处理器中,指令长度通常不固定,执行也需要多个周期。,RISC的4个设计准则,(2)流水线 指令的处理过程被拆分成几个更小的、能够被流水线并行执行的单元。在理想情况下,流水线每周期前进一步,可获得最高的吞吐率;而CISC指令的执行需要调用微代码的一个微程序。,RISC的4个设计准则,(3)寄存器 RISC处理器拥有更多的通用寄存器。每个寄存器都可存放数据或地址。寄存器可为所有的数据操作提供快速的局部存储访问;而CISC处理器都是用于特定目的的专用寄存器。,RISC的4个设计准则,(4)Load/Store结构 处理器只处理寄存器中的数据。独立的load和store指令用来完成数据在寄存器和外部存储器之间的传送。因为访问存储器很耗时,所以把存储器访问和数据处理分开。这样有一个好处,就是可反复地使用保存在寄存器中的数据,而避免多次访问存储器,从而达到提高程序执行性能的目的。,3.1.1 ARM微处理器结构,2. ARM设计思想 为了使ARM指令集能够更好地满足嵌入式应用的需要,ARM指令集和单纯的RISC定义有以下几个方面的不同: 一些特定的指令周期数可变 内嵌桶形移位器产生了更为复杂的指令 Thumb 16位指令集 条件执行,3.1.1 ARM微处理器结构,3. ARM微处理器系列分类及ARM体系的变种 当前应用较为广泛的ARM微处理器核有ARM7、ARM9、ARM9E、ARM10E产品系列,每个系列都提供了一套特定的性能来满足设计者对功耗、性能和体积的需求。 在ARM体系中增加的某些特定功能称为ARM体系的某种变种(variant)。,ARM体系的变种,(1)Thumb指令集(T变种) Thumb指令集是将ARM指令集的一个子集重新编码而形成的一个指令集。ARM指令长度为32位,Thumb指令长度为16位。 与ARM指令集相比,Thumb指令集具有一定的局限性,即完成相同的操作,Thumb指令通常需要更多的指令。因此,在对系统运行时间要求苛刻的应用场合,ARM指令集更为适合。 Thumb指令集没有包含进行异常处理时需要的一些指令,所以在异常中断的低级处理时,还是需要使用ARM指令。这种限制决定了Thumb指令需要和ARM指令配合使用。,ARM体系的变种,(2)长乘法指令(M变种) M变种增加了两条用于进行长乘法操作的ARM指令:其中一条指令用于实现32位整数乘以32位整数,生成64位整数的长乘法操作,另一条指令用于实现32位整数乘以32位整数,然后再加上32位整数,生成64位整数的长乘加操作。 在需要这种长乘法的应用场合,使用M变种比较合适。然而,在有些应用场合中,乘法操作的性能并不重要,在系统实现时就不适合增加M变种的功能。,ARM体系的变种,(3)增强型DSP指令(E变种) E变种包含了一些附加的指令,这些指令用于增强处理器对一些典型DSP算法的处理性能,主要包括:几条新的实现16位数据乘法和乘加操作的指令,实现饱和的带符号数的加减法操作的指令。 所谓饱和的带符号数的加减法操作是在加减法操作溢出时,结果并不进行卷绕(wrapping around),而是使用最大的正数或最小的负数来表示。进行双字数据操作的指令,包括双字读取指令LDRD、双字写入指令STRD和协处理器的寄存器传输指令MCRR/MRRC、Cache预取指令PLD。,ARM体系的变种,(4)Java加速器Jazelle(J变种) ARM的Jazelle技术将Java的优势和先进的32位RISC芯片完美地结合在一起。Jazelle技术提供了Java加速功能,可以得到比普通Java虚拟机高得多的性能。与普通的Java虚拟机相比,Jazelle使Java代码运行速度提高了3倍,而功耗降低了80%。 Jazelle技术使得程序员可以在一个单独的处理器上同时运行Java应用程序、已经建立好的操作系统、中间件以及其他应用程序。与使用协处理器和双处理器相比,使用单独的处理器可以在提供高性能的同时,保证低功耗和低成本。,ARM体系的变种,(5)ARM媒体功能扩展(SIMD变种) ARM媒体功能扩展为嵌入式应用系统提供了高性能的音频/视频处理技术。这就要求处理器能够提供很强的数字信号处理能力,同时还必须保持低功耗,以延长电池的使用时间。ARM的SIMD媒体功能扩展为这些应用需求提供了解决方案。 SIMD变种的主要特点是:可以同时进行两个16位操作数或者4个8位操作数的运算,提供了小数算术运算,用户可以定义饱和运算的模式,两套16位操作数的乘加/乘减运算,32位乘以32位的小数MAC,同时8位/16位选择操作。,3.1.1 ARM微处理器结构,4. ARM体系结构的命名规则 ARM产品通常以ARMxyzTDMIEJF-S形式出现。,ARM体系结构命名规则附加要点,ARM7TDMI之后的所有ARM内核,即使“ARM”标志后没有包含“TDMI”字符,也都默认包含了TDMI的功能特性; JTAG是由IEEE 1149.1标准测试访问端口和边界扫描结构来描述的,是ARM用来发送和接收处理器内核与测试仪器之间调试信息的一系列协议; 嵌入式ICE宏单元是建立在处理器内部用来设置断点和观察点的调试硬件; 可综合,意味着处理器内核是以源代码形式提供的。这种源代码形式可被编译成一种易于EDA工具使用的形式。,3.1.1 ARM微处理器结构,5. ARM微处理器系列 ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。 ARM7系列 ARM9系列 ARM9E系列 ARM10E系列 ARM11系列 SecurCore系列 Inter的Xscale Inter的StrongARM,ARM微处理器系列,(1)ARM7微处理器系列 ARM7内核采用冯诺伊曼体系结构,数据和指令使用同一条总线。内核有一条3级流水线,执行ARMv4指令集。 ARM7系列微处理器主要用于对功耗和成本要求比较苛刻的消费类产品。其最高主频可达130MIPS。 ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。,ARM微处理器系列,ARM7微处理器系列具有如下特点: 具有嵌入式ICERT逻辑,调试开发方便; 极低的功耗,适合对功耗要求较高的应用; 能够提供0.9MIPS/MHz的三级流水线结构; 代码密度高并兼容16位的Thumb指令集; 对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等; 指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代; 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。,ARM微处理器系列,(2)ARM9微处理器系列 ARM9系列采用5级指令流水线,能够运行在比ARM7更高的时钟频率上,改善了处理器的整体性能。ARM9的存储器系统根据哈佛体系结构重新设计,区分了数据总线和指令总线。 ARM9系列的第一个处理器是ARM920T,包含独立的数据指令Cache和MMU。该处理器能够被用在要求有虚拟存储器支持的操作系统上。 ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。,ARM微处理器系列,(3)ARM9E微处理器系列 ARM9E系列微处理器是ARM9内核带有E变种的一个可综合版本,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大地减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。 ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S三种类型。,ARM微处理器系列,(4)ARM10E微处理器系列 ARM10E系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,采用6级整数流水线,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50。同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低,且提供了64位的Load/Store体系,支持包括向量操作的、满足IEEE 754的浮点运算协处理器,系统集成更加方便。,ARM微处理器系列,(5)ARM11微处理器系列 ARM1136J-S发布于2003年,是针对高性能和高能效应而设计的。ARM1136J-S是第一个执行ARMv6架构指令的处理器。它集成了一条具有独立的Load/Store和算术流水线的8级流水线。ARMv6指令包含了针对媒体处理的单指令流多数据流扩展,采用特殊的设计改善视频处理能力。,ARM微处理器系列,(6)SecurCore微处理器系列 SecurCore系列微处理器专为安全需要而设计,提供了完善的32位RISC技术的安全解决方案,SecurCore系列微处理器除了具有ARM体系结构的低功耗、高性能的特点外,还具有其独特的优势,即提供了对安全解决方案的支持。 SecurCore系列微处理器除了具有ARM体系结构各种主要特点外,还在系统安全方面具有如下的特点: 带有灵活的保护单元,以确保操作系统和应用数据的安全。 采用软内核技术,防止外部对其进行扫描探测。 可集成用户自己的安全特性和其他
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号