基于ARM的处理器体系结构_第1页
基于ARM的处理器体系结构_第2页
基于ARM的处理器体系结构_第3页
基于ARM的处理器体系结构_第4页
基于ARM的处理器体系结构_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式系统设计与实例开发嵌入式系统设计与实例开发第三章第三章 基于基于ARMARM的处理器体系结构的处理器体系结构主要内容 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的缩写。的缩写。 19851985年年4 4月月2626

2、日,第一个日,第一个ARM原型在英国剑原型在英国剑桥的桥的AcornAcorn计算机有限公司诞生,由美国加州计算机有限公司诞生,由美国加州San Jose VLSI技术公司制造。技术公司制造。 2020世纪世纪8080年代后期,年代后期,ARM很快开发成很快开发成Acorn的台式机产品,形成英国的计算机教育基础。的台式机产品,形成英国的计算机教育基础。 19901990年成立了年成立了Advanced RISC Machines Limited。ARM简介 2020世纪世纪9090年代,年代,ARM32位嵌人式位嵌人式RISC(Reduced Instruction Set Computer)

3、处理器处理器扩展到世界范围,占据了低功耗、低成本和高性扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。能的嵌入式系统应用领域的领先地位。 3232位位RISC处理器受到青睐,领先的是处理器受到青睐,领先的是ARMARM嵌入式嵌入式微处理器系列。微处理器系列。 ARM公司虽然只成立公司虽然只成立1010多年,但在多年,但在19991999年因移动年因移动电话火爆市场,其电话火爆市场,其3232位位RISC处理器占市场份额超处理器占市场份额超过了过了50%50%,20012001年初,年初,ARM公司的公司的3232位位RISC处理处理器市场占有率超过了器市场占有率超过

4、了75%75%。ARM简介 ARMARM公司是知识产权供应商,是设计公司。公司是知识产权供应商,是设计公司。由合作伙伴公司来生产各具特色的芯片。由合作伙伴公司来生产各具特色的芯片。 ARM公司商业模式的强大之处在于其价格公司商业模式的强大之处在于其价格合理,全世界范围有超过合理,全世界范围有超过100100个合作伙伴个合作伙伴-包括半导体工业的著名公司。包括半导体工业的著名公司。ARM公司专公司专注于设计,其内核耗电少、成本低、功能注于设计,其内核耗电少、成本低、功能强,特有强,特有16/3216/32位双指令集。位双指令集。ARMARM已成为移已成为移动通信、手持计算、多媒体数字消费等嵌动通

5、信、手持计算、多媒体数字消费等嵌入式解决方案的入式解决方案的RISC标准。标准。3.1 ARM体系结构 3.1.1 ARM微处理器结构微处理器结构 1. RISC设计思想设计思想传统的复杂指令集计算机(传统的复杂指令集计算机(Complex Instruction Set Computer,CISC)结构)结构有其固有的缺点,即随着计算机技术的有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结支持这些新增的指令,计算机的体系结构会越来越复杂。构会越来越复杂。3.1.1 ARM微处理器结构 1. RISC设计思

6、想设计思想1979年美国加州大学伯克利分校提出了年美国加州大学伯克利分校提出了RISC的概的概念。念。RISC并非只是简单地去减少指令。并非只是简单地去减少指令。RISC是一种是一种设计思想,其目标是设计出一套能在高时钟频设计思想,其目标是设计出一套能在高时钟频率下单周期执行、简单而有效的指令集。率下单周期执行、简单而有效的指令集。RISC的设计重点在于降低由硬件执行的指令的复的设计重点在于降低由硬件执行的指令的复杂度,因为软件比硬件容易提供更大的灵活性杂度,因为软件比硬件容易提供更大的灵活性和更高的智能。因此,和更高的智能。因此,RICS设计对编译器有更设计对编译器有更高的要求。高的要求。3

7、.1.1 ARM微处理器结构CISC与与RISC的不同的不同 RISC和CISC之间的主要区别 指指 标标RISCCISC指令集指令集一个周期执行一条指令,通过简一个周期执行一条指令,通过简单指令的组合实现复杂操作;单指令的组合实现复杂操作;指令长度固定指令长度固定指令长度不固定,执行需要指令长度不固定,执行需要多个周期多个周期流水线流水线流水线每周期前进一步流水线每周期前进一步指令的执行需要调用微代码指令的执行需要调用微代码的一个微程序的一个微程序寄存器寄存器更多通用寄存器更多通用寄存器用于特定目的的专用寄存器用于特定目的的专用寄存器Load/Store结构结构独立的独立的Load和和Sto

8、re指令完成数指令完成数据在寄存器和外部存储器之据在寄存器和外部存储器之间的传输间的传输处理器能够直接处理存储器处理器能够直接处理存储器中的数据中的数据RISC的4个设计准则 (1)指令集)指令集 RISC处理器减少了指令种类。处理器减少了指令种类。RISC的指令种类的指令种类只提供简单的操作,使一个周期就可以执行一只提供简单的操作,使一个周期就可以执行一条指令。编译器或者程序员通过几条简单指令条指令。编译器或者程序员通过几条简单指令的组合来实现一个复杂的操作(如除法操作)。的组合来实现一个复杂的操作(如除法操作)。RISC采用定长指令集,每条指令的长度都是固采用定长指令集,每条指令的长度都是

9、固定的,允许流水线在当前指令译码阶段去取其定的,允许流水线在当前指令译码阶段去取其下一条指令;而在下一条指令;而在CISC处理器中,指令长度通处理器中,指令长度通常不固定,执行也需要多个周期。常不固定,执行也需要多个周期。 RISC的4个设计准则 (2)流水线)流水线指令的处理过程被拆分成几个更小的、能够被流指令的处理过程被拆分成几个更小的、能够被流水线并行执行的单元。在理想情况下,流水线水线并行执行的单元。在理想情况下,流水线每周期前进一步,可获得最高的吞吐率;而每周期前进一步,可获得最高的吞吐率;而CISC指令的执行需要调用微代码的一个微程序。指令的执行需要调用微代码的一个微程序。RISC

10、的4个设计准则 (3)寄存器)寄存器RISC处理器拥有更多的通用寄存器。每个寄存处理器拥有更多的通用寄存器。每个寄存器都可存放数据或地址。寄存器可为所有的数器都可存放数据或地址。寄存器可为所有的数据操作提供快速的局部存储访问;而据操作提供快速的局部存储访问;而CISC处理处理器都是用于特定目的的专用寄存器。器都是用于特定目的的专用寄存器。 RISC的4个设计准则 (4)Load/Store结构结构处理器只处理寄存器中的数据。独立的处理器只处理寄存器中的数据。独立的load和和store指令用来完成数据在寄存器和外部存储器指令用来完成数据在寄存器和外部存储器之间的传送。因为访问存储器很耗时,所以

11、把之间的传送。因为访问存储器很耗时,所以把存储器访问和数据处理分开。这样有一个好处,存储器访问和数据处理分开。这样有一个好处,就是可反复地使用保存在寄存器中的数据,而就是可反复地使用保存在寄存器中的数据,而避免多次访问存储器,从而达到提高程序执行避免多次访问存储器,从而达到提高程序执行性能的目的。性能的目的。 3.1.1 ARM微处理器结构 2. ARM设计思想设计思想 为了使为了使ARM指令集能够更好地满足嵌入式指令集能够更好地满足嵌入式应用的需要,应用的需要,ARM指令集和单纯的指令集和单纯的RISC定义有以下几个方面的不同:定义有以下几个方面的不同: 一些特定的指令周期数可变一些特定的指

12、令周期数可变 内嵌桶形移位器产生了更为复杂的指令内嵌桶形移位器产生了更为复杂的指令 Thumb 16位指令集位指令集 条件执行条件执行 3.1.1 ARM微处理器结构 3. ARM微处理器系列分类及微处理器系列分类及ARM体系的变种体系的变种当前应用较为广泛的当前应用较为广泛的ARM微处理器核有微处理器核有ARM7、ARM9、ARM9E、ARM10E产品系列,每个产品系列,每个系列都提供了一套特定的性能来满足设计者系列都提供了一套特定的性能来满足设计者对功耗、性能和体积的需求。对功耗、性能和体积的需求。在在ARM体系中增加的某些特定功能称为体系中增加的某些特定功能称为ARM体系的某种变种(体系

13、的某种变种(variant)。)。 ARM体系的变种 (1)Thumb指令集(指令集(T变种)变种)Thumb指令集是将指令集是将ARM指令集的一个子集重新编码而形指令集的一个子集重新编码而形成的一个指令集。成的一个指令集。ARM指令长度为指令长度为32位,位,Thumb指令指令长度为长度为16位。位。与与ARM指令集相比,指令集相比,Thumb指令集具有一定的局限性,指令集具有一定的局限性,即完成相同的操作,即完成相同的操作,Thumb指令通常需要更多的指令。指令通常需要更多的指令。因此,在对系统运行时间要求苛刻的应用场合,因此,在对系统运行时间要求苛刻的应用场合,ARM指令集更为适合。指令

14、集更为适合。Thumb指令集没有包含进行异常处理时需要的一些指令,指令集没有包含进行异常处理时需要的一些指令,所以在异常中断的低级处理时,还是需要使用所以在异常中断的低级处理时,还是需要使用ARM指指令。这种限制决定了令。这种限制决定了Thumb指令需要和指令需要和ARM指令配合指令配合使用。使用。ARM体系的变种 (2)长乘法指令()长乘法指令(M变种)变种)M变种增加了两条用于进行长乘法操作的变种增加了两条用于进行长乘法操作的ARM指令:其指令:其中一条指令用于实现中一条指令用于实现32位整数乘以位整数乘以32位整数,生成位整数,生成64位整数的长乘法操作,另一条指令用于实现位整数的长乘法

15、操作,另一条指令用于实现32位整数位整数乘以乘以32位整数,然后再加上位整数,然后再加上32位整数,生成位整数,生成64位整数位整数的长乘加操作。的长乘加操作。在需要这种长乘法的应用场合,使用在需要这种长乘法的应用场合,使用M变种比较合适。变种比较合适。然而,在有些应用场合中,乘法操作的性能并不重要,然而,在有些应用场合中,乘法操作的性能并不重要,在系统实现时就不适合增加在系统实现时就不适合增加M变种的功能。变种的功能。 ARM体系的变种 (3)增强型)增强型DSP指令(指令(E变种)变种)E变种包含了一些附加的指令,这些指令用于增强处理器变种包含了一些附加的指令,这些指令用于增强处理器对一些

16、典型对一些典型DSP算法的处理性能,主要包括:几条新算法的处理性能,主要包括:几条新的实现的实现16位数据乘法和乘加操作的指令,实现饱和的位数据乘法和乘加操作的指令,实现饱和的带符号数的加减法操作的指令。带符号数的加减法操作的指令。所谓饱和的带符号数的加减法操作是在加减法操作溢出所谓饱和的带符号数的加减法操作是在加减法操作溢出时,结果并不进行卷绕(时,结果并不进行卷绕(wrapping around),而是使),而是使用最大的正数或最小的负数来表示。进行双字数据操用最大的正数或最小的负数来表示。进行双字数据操作的指令,包括双字读取指令作的指令,包括双字读取指令LDRD、双字写入指令、双字写入指

17、令STRD和协处理器的寄存器传输指令和协处理器的寄存器传输指令MCRR/MRRC、Cache预取指令预取指令PLD。 ARM体系的变种 (4)Java加速器加速器Jazelle(J变种)变种)ARM的的Jazelle技术将技术将Java的优势和先进的的优势和先进的32位位RISC芯片芯片完美地结合在一起。完美地结合在一起。Jazelle技术提供了技术提供了Java加速功能,加速功能,可以得到比普通可以得到比普通Java虚拟机高得多的性能。与普通的虚拟机高得多的性能。与普通的Java虚拟机相比,虚拟机相比,Jazelle使使Java代码运行速度提高了代码运行速度提高了3倍,而功耗降低了倍,而功耗

18、降低了80%。Jazelle技术使得程序员可以在一个单独的处理器上同时技术使得程序员可以在一个单独的处理器上同时运行运行Java应用程序、已经建立好的操作系统、中间件应用程序、已经建立好的操作系统、中间件以及其他应用程序。与使用协处理器和双处理器相比,以及其他应用程序。与使用协处理器和双处理器相比,使用单独的处理器可以在提供高性能的同时,保证低使用单独的处理器可以在提供高性能的同时,保证低功耗和低成本。功耗和低成本。 ARM体系的变种 (5)ARM媒体功能扩展(媒体功能扩展(SIMD变种)变种)ARM媒体功能扩展为嵌入式应用系统提供了高性能的音媒体功能扩展为嵌入式应用系统提供了高性能的音频频/

19、视频处理技术。这就要求处理器能够提供很强的数视频处理技术。这就要求处理器能够提供很强的数字信号处理能力,同时还必须保持低功耗,以延长电字信号处理能力,同时还必须保持低功耗,以延长电池的使用时间。池的使用时间。ARM的的SIMD媒体功能扩展为这些应媒体功能扩展为这些应用需求提供了解决方案。用需求提供了解决方案。 SIMD变种的主要特点是:可以同时进行两个变种的主要特点是:可以同时进行两个16位操作数位操作数或者或者4个个8位操作数的运算,提供了小数算术运算,用位操作数的运算,提供了小数算术运算,用户可以定义饱和运算的模式,两套户可以定义饱和运算的模式,两套16位操作数的乘加位操作数的乘加/乘减运

20、算,乘减运算,32位乘以位乘以32位的小数位的小数MAC,同时,同时8位位/16位位选择操作。选择操作。 3.1.1 ARM微处理器结构 4. ARM体系结构的体系结构的命名规则命名规则ARM产品通常以产品通常以ARMxyzTDMIEJF-S形式出现。形式出现。 后缀后缀变量变量含含 义义x系统,如系统,如ARM7、ARM9y存储管理存储管理/保护单元保护单元zCacheTThumb16位译码器(位译码器(T变种)变种)DJTAG调试器调试器M长乘法指令(长乘法指令(M变种)变种)I嵌入式跟踪宏单元嵌入式跟踪宏单元E增强型增强型DSP指令(指令(E变种)变种)JJava加速器加速器Jazell

21、e(J变种)变种)F向量浮点单元向量浮点单元S可综合版本可综合版本ARM体系结构命名规则附加要点 ARM7TDMI之后的所有之后的所有ARM内核,即使内核,即使“ARM”标志后没有包含标志后没有包含“TDMI”字符,也都默认包含了字符,也都默认包含了TDMI的功能特性;的功能特性; JTAG是由是由IEEE 1149.1标准测试访问端口和边界标准测试访问端口和边界扫描结构来描述的,是扫描结构来描述的,是ARM用来发送和接收处理用来发送和接收处理器内核与测试仪器之间调试信息的一系列协议;器内核与测试仪器之间调试信息的一系列协议; 嵌入式嵌入式ICE宏单元是建立在处理器内部用来设置宏单元是建立在处

22、理器内部用来设置断点和观察点的调试硬件;断点和观察点的调试硬件; 可综合,意味着处理器内核是以源代码形式提供可综合,意味着处理器内核是以源代码形式提供的。这种源代码形式可被编译成一种易于的。这种源代码形式可被编译成一种易于EDA工工具使用的形式。具使用的形式。3.1.1 ARM微处理器结构 5. ARM微处理器系列微处理器系列ARM微处理器目前包括下面几个系列,以微处理器目前包括下面几个系列,以及其它厂商基于及其它厂商基于ARM体系结构的处理器,体系结构的处理器,除了具有除了具有ARM体系结构的共同特点以外,体系结构的共同特点以外,每一个系列的每一个系列的ARM微处理器都有各自的微处理器都有各

23、自的特点和应用领域。特点和应用领域。 ARM7系列系列 ARM9系列系列 ARM9E系列系列 ARM10E系列系列 ARM11系列系列 SecurCore系列系列 Inter的的Xscale Inter的的StrongARM ARM微处理器系列 (1)ARM7微处理器系列微处理器系列ARM7内核采用冯内核采用冯诺伊曼体系结构,数据和指令诺伊曼体系结构,数据和指令使用同一条总线。内核有一条使用同一条总线。内核有一条3级流水线,执级流水线,执行行ARMv4指令集。指令集。ARM7系列微处理器主要用于对功耗和成本要求系列微处理器主要用于对功耗和成本要求比较苛刻的消费类产品。其最高主频可达比较苛刻的消

24、费类产品。其最高主频可达130MIPS。ARM7系列微处理器的主要应用领域为:工业控系列微处理器的主要应用领域为:工业控制、制、Internet设备、网络和调制解调器设备、设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。移动电话等多种多媒体和嵌入式应用。 ARM微处理器系列 ARM7微处理器系列具有如下特点:微处理器系列具有如下特点:具有嵌入式具有嵌入式ICERT逻辑,调试开发方便;逻辑,调试开发方便;极低的功耗,适合对功耗要求较高的应用;极低的功耗,适合对功耗要求较高的应用;能够提供能够提供0.9MIPS/MHz的三级流水线结构;的三级流水线结构;代码密度高并兼容代码密度高并兼

25、容16位的位的Thumb指令集;指令集;对操作系统的支持广泛,包括对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等;等;指令系统与指令系统与ARM9系列、系列、ARM9E系列和系列和ARM10E系列兼容,便于用户的产品升级换代;系列兼容,便于用户的产品升级换代;主频最高可达主频最高可达130MIPS,高速的运算处理能力,高速的运算处理能力能胜任绝大多数的复杂应用。能胜任绝大多数的复杂应用。ARM微处理器系列 (2)ARM9微处理器系列微处理器系列ARM9系列采用系列采用5级指令流水线,能够运行在比级指令流水线,能够运行在比ARM7更高的时钟频率上,改善了处理器的整更

26、高的时钟频率上,改善了处理器的整体性能。体性能。ARM9的存储器系统根据哈佛体系结的存储器系统根据哈佛体系结构重新设计,区分了数据总线和指令总线。构重新设计,区分了数据总线和指令总线。ARM9系列的第一个处理器是系列的第一个处理器是ARM920T,包含,包含独立的数据指令独立的数据指令Cache和和MMU。该处理器能够。该处理器能够被用在要求有虚拟存储器支持的操作系统上。被用在要求有虚拟存储器支持的操作系统上。ARM9系列微处理器主要应用于无线设备、仪器系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。照相

27、机和数字摄像机等。 ARM微处理器系列 (3)ARM9E微处理器系列微处理器系列ARM9E系列微处理器是系列微处理器是ARM9内核带有内核带有E变种的变种的一个可综合版本,使用单一的处理器内核提供一个可综合版本,使用单一的处理器内核提供了微控制器、了微控制器、DSP、Java应用系统的解决方案,应用系统的解决方案,极大地减少了芯片的面积和系统的复杂程度。极大地减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的系列微处理器提供了增强的DSP处理能处理能力,很适合于那些需要同时使用力,很适合于那些需要同时使用DSP和微控制和微控制器的应用场合。器的应用场合。ARM9E系列微处理器

28、包含系列微处理器包含ARM926EJ-S、ARM946E-S和和ARM966E-S三种类型。三种类型。 ARM微处理器系列 (4)ARM10E微处理器系列微处理器系列ARM10E系列微处理器具有高性能、低功耗的特系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,采用点,由于采用了新的体系结构,采用6级整数级整数流水线,与同等的流水线,与同等的ARM9器件相比较,在同样器件相比较,在同样的时钟频率下,性能提高了近的时钟频率下,性能提高了近50。同时,。同时,ARM10E系列微处理器采用了两种先进的节能系列微处理器采用了两种先进的节能方式,使其功耗极低,且提供了方式,使其功耗极低,且提

29、供了64位的位的Load/Store体系,支持包括向量操作的、满足体系,支持包括向量操作的、满足IEEE 754的浮点运算协处理器,系统集成更加的浮点运算协处理器,系统集成更加方便。方便。ARM微处理器系列 (5)ARM11微处理器系列微处理器系列ARM1136J-S发布于发布于2003年,是针对高性能和高年,是针对高性能和高能效应而设计的。能效应而设计的。ARM1136J-S是第一个执行是第一个执行ARMv6架构指令的处理器。它集成了一条具有架构指令的处理器。它集成了一条具有独立的独立的Load/Store和算术流水线的和算术流水线的8级流水线。级流水线。ARMv6指令包含了针对媒体处理的单

30、指令流多指令包含了针对媒体处理的单指令流多数据流扩展,采用特殊的设计改善视频处理能数据流扩展,采用特殊的设计改善视频处理能力。力。 ARM微处理器系列 (6)SecurCore微处理器系列微处理器系列SecurCore系列微处理器专为安全需要而设计,提供了完系列微处理器专为安全需要而设计,提供了完善的善的32位位RISC技术的安全解决方案,技术的安全解决方案,SecurCore系列系列微处理器除了具有微处理器除了具有ARM体系结构的低功耗、高性能的体系结构的低功耗、高性能的特点外,还具有其独特的优势,即提供了对安全解决特点外,还具有其独特的优势,即提供了对安全解决方案的支持。方案的支持。Sec

31、urCore系列微处理器除了具有系列微处理器除了具有ARM体系结构各种主体系结构各种主要特点外,还在系统安全方面具有如下的特点:要特点外,还在系统安全方面具有如下的特点: 带有灵活的保护单元,以确保操作系统和应用数据带有灵活的保护单元,以确保操作系统和应用数据的安全。的安全。 采用软内核技术,防止外部对其进行扫描探测。采用软内核技术,防止外部对其进行扫描探测。 可集成用户自己的安全特性和其他协处理器。可集成用户自己的安全特性和其他协处理器。 ARM微处理器系列 (7)StrongARM微处理器系列微处理器系列Intel StrongARM SA-1100处理器是采用处理器是采用ARM体体系结构

32、高度集成的系结构高度集成的32位位RISC微处理器。它融合微处理器。它融合了了Inter公司的设计和处理技术以及公司的设计和处理技术以及ARM体系体系结构的电源效率,采用在软件上兼容结构的电源效率,采用在软件上兼容ARMv4体体系结构、同时采用具有系结构、同时采用具有Intel技术优点的体系结技术优点的体系结构。构。Intel StrongARM处理器是便携式通讯产品和消处理器是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。公司的掌上电脑系列产品。 ARM微处理器系列 (8)Xscale处理器处理器Xscale处理器是

33、基于处理器是基于ARMv5TE体系结构的解决体系结构的解决方案,是一款全性能、高性价比、低功耗的处方案,是一款全性能、高性价比、低功耗的处理器。它支持理器。它支持16位的位的Thumb指令和指令和DSP指令集,指令集,已使用在数字移动电话、个人数字助理和网络已使用在数字移动电话、个人数字助理和网络产品等场合。产品等场合。Xscale处理器是处理器是Intel目前主要推广的一款目前主要推广的一款ARM微微处理器。处理器。 3.1 ARM体系结构 3.1.2 ARM工作状态工作状态从编程的角度看,从编程的角度看,ARM微处理器的工作状微处理器的工作状态一般有两种,并可在两种状态之间切态一般有两种,

34、并可在两种状态之间切换:换:第一种为第一种为ARM状态,此时处理器执行状态,此时处理器执行32位的、字对齐的位的、字对齐的ARM指令;指令;第二种为第二种为Thumb状态,此时处理器执状态,此时处理器执行行16位的、半字对齐的位的、半字对齐的Thumb指令。指令。3.1 ARM体系结构 3.1.3 ARM微处理器的寄存器组织微处理器的寄存器组织ARM处理器共有处理器共有37个寄存器,被分为若干个寄存器,被分为若干个组(个组(BANK),这些寄存器包括:),这些寄存器包括:31个通用寄存器,包括程序计数器个通用寄存器,包括程序计数器(PC指针),均为指针),均为32位的寄存器。位的寄存器。6个状

35、态寄存器,用以标识个状态寄存器,用以标识CPU的工作的工作状态及程序的运行状态,均为状态及程序的运行状态,均为32位,位,目前只使用了其中的一部分。目前只使用了其中的一部分。3.1 ARM体系结构 3.1.4 ARM微处理器的指令结构微处理器的指令结构ARM微处理器在较新的体系结构中支持两微处理器在较新的体系结构中支持两种指令集:种指令集:ARM指令集和指令集和Thumb指令集。指令集。其中,其中,ARM指令为指令为32位的长度,位的长度,Thumb指令为指令为16位长度。位长度。Thumb指令集为指令集为ARM指令集的功能子集,指令集的功能子集,但与等价的但与等价的ARM代码相比较,可节省代

36、码相比较,可节省30%40%以上的存储空间,同时具备以上的存储空间,同时具备32位代码的所有优点。位代码的所有优点。 主要内容 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处理器简介处理器简介3.2 ARM9处理器简介 ARM9系列处理器是系列处理器是ARM公司设计的主流嵌入式公司设计的主流嵌入式处理器,主要包

37、括处理器,主要包括ARM9TDMI和和ARM9E-S等系等系列。列。 以手机应用为例,以手机应用为例,2G手机只需提供语音及简单的手机只需提供语音及简单的文字短信功能,而文字短信功能,而2.5G和和3G手机除了提供这两项手机除了提供这两项功能外,还必须提供各种其他的应用功能。主要功能外,还必须提供各种其他的应用功能。主要包括:包括:(1)无线网络设备:手机上网、电子邮件及其他定位服)无线网络设备:手机上网、电子邮件及其他定位服务等功能;务等功能; (2)PDA功能:含有用户操作系统(功能:含有用户操作系统(Windows CE、Symbian OS、Linux等)及其他功能;等)及其他功能;

38、(3)高性能功能:音频播放器、视频电话、手机游戏等。)高性能功能:音频播放器、视频电话、手机游戏等。 3.2 ARM9处理器简介 3.2.1 与与ARM7处理器比较处理器比较ARM7提供了非常好的性能功耗比,它提供了非常好的性能功耗比,它包含了包含了Thumb指令集快速乘法指令和指令集快速乘法指令和ICE调试技术的内核。调试技术的内核。ARM9处理器通过全新的设计,采用了更处理器通过全新的设计,采用了更多的晶体管,能够达到两倍以上于多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。处理器的处理能力。ARM7内核是内核是0.9MIPS/MHz的三级流水线的三级流水线和冯和冯诺伊曼结构,而诺

39、伊曼结构,而ARM9内核是内核是5级流级流水线,提供水线,提供1.1MIPS/MHz的哈佛结构。的哈佛结构。 3.2.1 与ARM7处理器比较 1. 体系结构不同体系结构不同ARM7内核采用冯内核采用冯诺伊曼体系结构,数据和指令诺伊曼体系结构,数据和指令使用同一条总线。使用同一条总线。ARM9内核根据哈佛体系结内核根据哈佛体系结构重新设计,区分了数据总线和指令总线。构重新设计,区分了数据总线和指令总线。 (1)冯)冯诺伊曼结构诺伊曼结构 3.2.1 与ARM7处理器比较 1. 体系结构不同体系结构不同(2)哈佛结构哈佛结构哈佛结构的特点是使用两个独立的存储器模块,哈佛结构的特点是使用两个独立的

40、存储器模块,分别存储指令和数据。分别存储指令和数据。3.2.1 与ARM7处理器比较 在典型情况下,完成一条指令需要在典型情况下,完成一条指令需要3个步骤,即:个步骤,即:取指令、指令译码和执行指令。取指令、指令译码和执行指令。 冯冯诺伊曼结构处理器指令流的定时关系示意图诺伊曼结构处理器指令流的定时关系示意图 3.2.1 与ARM7处理器比较 如果采用哈佛结构处理以上同样的如果采用哈佛结构处理以上同样的3条存取数指条存取数指令,由于取指令和存取数据分别经由不同的存储令,由于取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条指令可以重叠执行,空间和不同的总线,使得各条指令可以重叠执行,

41、这样,也就克服了数据流传输的瓶颈,提高了运这样,也就克服了数据流传输的瓶颈,提高了运算速度。算速度。 哈佛结构处理器指令流的定时关系示意图哈佛结构处理器指令流的定时关系示意图 3.2.1 与ARM7处理器比较 2. 时钟频率的提高时钟频率的提高 ARM7处理器采用处理器采用3级流水线,在执行级完成了级流水线,在执行级完成了多个操作,包括从寄存器读取操作数,传给移多个操作,包括从寄存器读取操作数,传给移位寄存器,传给算术逻辑单元位寄存器,传给算术逻辑单元ALU,把运算结,把运算结果写回寄存器。果写回寄存器。 ARM7TDMI和和ARM7TDMI-S流水线流水线 3.2.1 与ARM7处理器比较

42、2. 时钟频率的提高时钟频率的提高 ARM9采用采用5级流水线,级流水线,ARM9TDMI和和ARM9E-S两种设计基本一样,除了两种设计基本一样,除了ARM9E-S内核实现了内核实现了一个更复杂的乘加单元,以支持一个更复杂的乘加单元,以支持ARMv5TE架构架构新引入的新引入的DSP增强指令集。采用哈佛架构避免了增强指令集。采用哈佛架构避免了数据访问和取指令对单总线的使用冲突。数据访问和取指令对单总线的使用冲突。 ARM9TDMI流水线流水线 3.2.1 与ARM7处理器比较 3. 指令周期的改进指令周期的改进(1)存储器读写指令)存储器读写指令Load/Store导致导致Load/Stor

43、e指令时钟数目减少的两个微处理指令时钟数目减少的两个微处理器架构设计上的根本差别:器架构设计上的根本差别: ARM9内核采用哈佛架构,有独立的指令和数据存内核采用哈佛架构,有独立的指令和数据存储器接口,允许储器接口,允许CPU在取指令的同时读写数据。而在取指令的同时读写数据。而ARM7内核则只有一个存储器接口,取指令或数据内核则只有一个存储器接口,取指令或数据访问都得经由此接口。访问都得经由此接口。 ARM9内核的内核的5级流水线设计引入了独立的级流水线设计引入了独立的“存储存储器(器(Memory)”和和“写回(写回(Write Back)”两级流两级流水线,分别用于存储器读写和把结果写回寄

44、存器组。水线,分别用于存储器读写和把结果写回寄存器组。3.2.1 与ARM7处理器比较 3. 指令周期的改进指令周期的改进(2)互锁技术()互锁技术(interlocks)当某一条指令需要的源数据由于前面的指令仍未当某一条指令需要的源数据由于前面的指令仍未执行完而不可用时,流水线就会发生互锁。执行完而不可用时,流水线就会发生互锁。互锁发生时,在硬件上将暂停该指令的执行,直互锁发生时,在硬件上将暂停该指令的执行,直到需要的数据准备好为止。有了互锁机制,到需要的数据准备好为止。有了互锁机制,ARM9得以与以前得以与以前ARM处理器保持二进制代码处理器保持二进制代码级别的兼容。级别的兼容。在许多情况

45、下,编译器或者代码编写者可以通过在许多情况下,编译器或者代码编写者可以通过改变指令的顺序或者别的一些技巧来减少互锁改变指令的顺序或者别的一些技巧来减少互锁周期数。周期数。 3.2.1 与ARM7处理器比较 3. 指令周期的改进指令周期的改进(3)分支指令)分支指令ARM9和和ARM7的分支指令周期是相同的。的分支指令周期是相同的。ARM9TDMI和和ARM9E-S不支持分支预测。在这不支持分支预测。在这些处理器上,跳转的开销相对不那么重要。实现些处理器上,跳转的开销相对不那么重要。实现分支预测增加了逻辑开销,导致芯片尺寸增大,分支预测增加了逻辑开销,导致芯片尺寸增大,却不会带来显著的性能提升。

46、却不会带来显著的性能提升。 分支指令分支指令ARM7TDMI和和ARM7TDMI-SARM9TDMI和和ARM9E-SBranch Taken(passes its condition code check)33Branch Taken(fails its condition code check)113.2 ARM9处理器简介 3.2.2 OMAP5912处理器介绍处理器介绍1. 开放式多媒体应用平台开放式多媒体应用平台OMAP TI于于1999年年5月推出月推出OMAP架构,架构,OMAP处理器处理器家族目前主要有三大系列。家族目前主要有三大系列。OMAP平台具有可平台具有可扩展、灵活而开

47、放的构架,长期以来一直以最扩展、灵活而开放的构架,长期以来一直以最佳性能和极低功耗而著称。使用该平台设计的佳性能和极低功耗而著称。使用该平台设计的2.5G和和3G手机可以实现多种应用,如语言处理、手机可以实现多种应用,如语言处理、视频流、电视会议、高保真音频、定位服务、视频流、电视会议、高保真音频、定位服务、安全性、游戏、移动商务、个人管理等多媒体安全性、游戏、移动商务、个人管理等多媒体应用。应用。 OMAP处理器家族3.2 ARM9处理器简介 3.2.2 OMAP5912处理器介绍处理器介绍2. OMAP5912处理器处理器OMAP5912处理器是处理器是OMAP1510系列的一个分支,系列

48、的一个分支,是由是由TI应用最为广泛的应用最为广泛的TMS320C55X DSP内核内核与低功耗、高性能的与低功耗、高性能的ARM926EJ-S微处理器组微处理器组成的双核应用处理器,这两个内核通过一种专成的双核应用处理器,这两个内核通过一种专用的处理器内部通信机制相连接。用的处理器内部通信机制相连接。C55x系列可提供对低功耗应用的实时多媒体处理系列可提供对低功耗应用的实时多媒体处理的支持;的支持;ARM926可满足控制和接口方面的处可满足控制和接口方面的处理需要。基于双核结构,理需要。基于双核结构,OMAP5912具有极强具有极强的运算能力和极低的功耗。的运算能力和极低的功耗。OMAP5912内部功能框图3.2 ARM9处理器简介 3.2.2 OMAP5912处理器介绍处理器介绍3. 常用的常用的OMAP5912开发工具开发工具(1 1)OMAP5912 Starter Kit OMAP5912 Starter Kit (OSKOSK)(2 2)MU-Q-VGA LCD Module for OMAP5912 MU-Q-VGA LCD Module for OMAP5912 (3 3)Accelerator Program for OMAP5912 Accelerator Prog

温馨提示

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

评论

0/150

提交评论