ch3基于ARM的处理器体系结构.ppt

上传人:小飞机 文档编号:5421318 上传时间:2023-07-05 格式:PPT 页数:55 大小:1.09MB
返回 下载 相关 举报
ch3基于ARM的处理器体系结构.ppt_第1页
第1页 / 共55页
ch3基于ARM的处理器体系结构.ppt_第2页
第2页 / 共55页
ch3基于ARM的处理器体系结构.ppt_第3页
第3页 / 共55页
ch3基于ARM的处理器体系结构.ppt_第4页
第4页 / 共55页
ch3基于ARM的处理器体系结构.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《ch3基于ARM的处理器体系结构.ppt》由会员分享,可在线阅读,更多相关《ch3基于ARM的处理器体系结构.ppt(55页珍藏版)》请在三一办公上搜索。

1、嵌入式系统设计与实例开发第三章 基于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的台式机产品,形成英国的计算

2、机教育基础。1990年成立了Advanced RISC Machines Limited。,ARM简介,20世纪90年代,ARM32位嵌人式RISC(Reduced Instruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。32位RISC处理器受到青睐,领先的是ARM嵌入式微处理器系列。ARM公司虽然只成立10多年,但在1999年因移动电话火爆市场,其32位RISC处理器占市场份额超过了50%,2001年初,ARM公司的32位RISC处理器市场占有率超过了75%。,ARM简介,ARM公司是知识产权供应商,是设计公司。由合

3、作伙伴公司来生产各具特色的芯片。ARM公司商业模式的强大之处在于其价格合理,全世界范围有超过100个合作伙伴-包括半导体工业的著名公司。ARM公司专注于设计,其内核耗电少、成本低、功能强,特有16/32位双指令集。ARM已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案的RISC标准。,3.1 ARM体系结构,3.1.1 ARM微处理器结构1.RISC设计思想传统的复杂指令集计算机(Complex Instruction Set Computer,CISC)结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂。,3.1.

4、1 ARM微处理器结构,1.RISC设计思想1979年美国加州大学伯克利分校提出了RISC的概念。RISC并非只是简单地去减少指令。RISC是一种设计思想,其目标是设计出一套能在高时钟频率下单周期执行、简单而有效的指令集。RISC的设计重点在于降低由硬件执行的指令的复杂度,因为软件比硬件容易提供更大的灵活性和更高的智能。因此,RICS设计对编译器有更高的要求。,3.1.1 ARM微处理器结构,CISC与RISC的不同,RISC和CISC之间的主要区别,RISC的4个设计准则,(1)指令集 RISC处理器减少了指令种类。RISC的指令种类只提供简单的操作,使一个周期就可以执行一条指令。编译器或者

5、程序员通过几条简单指令的组合来实现一个复杂的操作(如除法操作)。RISC采用定长指令集,每条指令的长度都是固定的,允许流水线在当前指令译码阶段去取其下一条指令;而在CISC处理器中,指令长度通常不固定,执行也需要多个周期。,RISC的4个设计准则,(2)流水线指令的处理过程被拆分成几个更小的、能够被流水线并行执行的单元。在理想情况下,流水线每周期前进一步,可获得最高的吞吐率;而CISC指令的执行需要调用微代码的一个微程序。,RISC的4个设计准则,(3)寄存器RISC处理器拥有更多的通用寄存器。每个寄存器都可存放数据或地址。寄存器可为所有的数据操作提供快速的局部存储访问;而CISC处理器都是用

6、于特定目的的专用寄存器。,RISC的4个设计准则,(4)Load/Store结构处理器只处理寄存器中的数据。独立的load和store指令用来完成数据在寄存器和外部存储器之间的传送。因为访问存储器很耗时,所以把存储器访问和数据处理分开。这样有一个好处,就是可反复地使用保存在寄存器中的数据,而避免多次访问存储器,从而达到提高程序执行性能的目的。,3.1.1 ARM微处理器结构,2.ARM设计思想 为了使ARM指令集能够更好地满足嵌入式应用的需要,ARM指令集和单纯的RISC定义有以下几个方面的不同:一些特定的指令周期数可变 内嵌桶形移位器产生了更为复杂的指令 Thumb 16位指令集 条件执行,

7、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指令通常需要更多的指令。因此,在对

8、系统运行时间要求苛刻的应用场合,ARM指令集更为适合。Thumb指令集没有包含进行异常处理时需要的一些指令,所以在异常中断的低级处理时,还是需要使用ARM指令。这种限制决定了Thumb指令需要和ARM指令配合使用。,ARM体系的变种,(2)长乘法指令(M变种)M变种增加了两条用于进行长乘法操作的ARM指令:其中一条指令用于实现32位整数乘以32位整数,生成64位整数的长乘法操作,另一条指令用于实现32位整数乘以32位整数,然后再加上32位整数,生成64位整数的长乘加操作。在需要这种长乘法的应用场合,使用M变种比较合适。然而,在有些应用场合中,乘法操作的性能并不重要,在系统实现时就不适合增加M变

9、种的功能。,ARM体系的变种,(3)增强型DSP指令(E变种)E变种包含了一些附加的指令,这些指令用于增强处理器对一些典型DSP算法的处理性能,主要包括:几条新的实现16位数据乘法和乘加操作的指令,实现饱和的带符号数的加减法操作的指令。所谓饱和的带符号数的加减法操作是在加减法操作溢出时,结果并不进行卷绕(wrapping around),而是使用最大的正数或最小的负数来表示。进行双字数据操作的指令,包括双字读取指令LDRD、双字写入指令STRD和协处理器的寄存器传输指令MCRR/MRRC、Cache预取指令PLD。,ARM体系的变种,(4)Java加速器Jazelle(J变种)ARM的Jaze

10、lle技术将Java的优势和先进的32位RISC芯片完美地结合在一起。Jazelle技术提供了Java加速功能,可以得到比普通Java虚拟机高得多的性能。与普通的Java虚拟机相比,Jazelle使Java代码运行速度提高了3倍,而功耗降低了80%。Jazelle技术使得程序员可以在一个单独的处理器上同时运行Java应用程序、已经建立好的操作系统、中间件以及其他应用程序。与使用协处理器和双处理器相比,使用单独的处理器可以在提供高性能的同时,保证低功耗和低成本。,ARM体系的变种,(5)ARM媒体功能扩展(SIMD变种)ARM媒体功能扩展为嵌入式应用系统提供了高性能的音频/视频处理技术。这就要求

11、处理器能够提供很强的数字信号处理能力,同时还必须保持低功耗,以延长电池的使用时间。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”字符,也都默

12、认包含了TDMI的功能特性;JTAG是由IEEE 1149.1标准测试访问端口和边界扫描结构来描述的,是ARM用来发送和接收处理器内核与测试仪器之间调试信息的一系列协议;嵌入式ICE宏单元是建立在处理器内部用来设置断点和观察点的调试硬件;可综合,意味着处理器内核是以源代码形式提供的。这种源代码形式可被编译成一种易于EDA工具使用的形式。,3.1.1 ARM微处理器结构,5.ARM微处理器系列ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。ARM7系列 ARM9系列ARM9E系列

13、 ARM10E系列ARM11系列 SecurCore系列Inter的Xscale Inter的StrongARM,ARM微处理器系列,(1)ARM7微处理器系列ARM7内核采用冯诺伊曼体系结构,数据和指令使用同一条总线。内核有一条3级流水线,执行ARMv4指令集。ARM7系列微处理器主要用于对功耗和成本要求比较苛刻的消费类产品。其最高主频可达130MIPS。ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。,ARM微处理器系列,ARM7微处理器系列具有如下特点:具有嵌入式ICERT逻辑,调试开发方便;极低的功耗,适合对

14、功耗要求较高的应用;能够提供0.9MIPS/MHz的三级流水线结构;代码密度高并兼容16位的Thumb指令集;对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等;指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代;主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。,ARM微处理器系列,(2)ARM9微处理器系列ARM9系列采用5级指令流水线,能够运行在比ARM7更高的时钟频率上,改善了处理器的整体性能。ARM9的存储器系统根据哈佛体系结构重新设计,区分了数据总线和指令总线。ARM9系列的第一个处理器是ARM920

15、T,包含独立的数据指令Cache和MMU。该处理器能够被用在要求有虚拟存储器支持的操作系统上。ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。,ARM微处理器系列,(3)ARM9E微处理器系列ARM9E系列微处理器是ARM9内核带有E变种的一个可综合版本,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大地减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和AR

16、M966E-S三种类型。,ARM微处理器系列,(4)ARM10E微处理器系列ARM10E系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,采用6级整数流水线,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50。同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低,且提供了64位的Load/Store体系,支持包括向量操作的、满足IEEE 754的浮点运算协处理器,系统集成更加方便。,ARM微处理器系列,(5)ARM11微处理器系列ARM1136J-S发布于2003年,是针对高性能和高能效应而设计的。ARM1136J-S是第一个执行ARMv6架构指令的处

17、理器。它集成了一条具有独立的Load/Store和算术流水线的8级流水线。ARMv6指令包含了针对媒体处理的单指令流多数据流扩展,采用特殊的设计改善视频处理能力。,ARM微处理器系列,(6)SecurCore微处理器系列SecurCore系列微处理器专为安全需要而设计,提供了完善的32位RISC技术的安全解决方案,SecurCore系列微处理器除了具有ARM体系结构的低功耗、高性能的特点外,还具有其独特的优势,即提供了对安全解决方案的支持。SecurCore系列微处理器除了具有ARM体系结构各种主要特点外,还在系统安全方面具有如下的特点:带有灵活的保护单元,以确保操作系统和应用数据的安全。采用

18、软内核技术,防止外部对其进行扫描探测。可集成用户自己的安全特性和其他协处理器。,ARM微处理器系列,(7)StrongARM微处理器系列Intel StrongARM SA-1100处理器是采用ARM体系结构高度集成的32位RISC微处理器。它融合了Inter公司的设计和处理技术以及ARM体系结构的电源效率,采用在软件上兼容ARMv4体系结构、同时采用具有Intel技术优点的体系结构。Intel StrongARM处理器是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。,ARM微处理器系列,(8)Xscale处理器Xscale处理器是基于ARMv5TE体系结构

19、的解决方案,是一款全性能、高性价比、低功耗的处理器。它支持16位的Thumb指令和DSP指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。Xscale处理器是Intel目前主要推广的一款ARM微处理器。,3.1 ARM体系结构,3.1.2 ARM工作状态从编程的角度看,ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的、字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。,3.1 ARM体系结构,3.1.3 ARM微处理器的寄存器组织ARM处理器共有37个寄存器,被分为若干个组(BANK),

20、这些寄存器包括:31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。,3.1 ARM体系结构,3.1.4 ARM微处理器的指令结构ARM微处理器在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%40%以上的存储空间,同时具备32位代码的所有优点。,主要内容,3.1 ARM体系结构3.1.1 ARM微处理器结构3.1.2 ARM工作

21、状态3.1.3 ARM微处理器的寄存器组织3.1.4 ARM微处理器的指令结构3.2 ARM9处理器简介3.2.1 与ARM7处理器的比较3.2.2 OMAP5912处理器简介,3.2 ARM9处理器简介,ARM9系列处理器是ARM公司设计的主流嵌入式处理器,主要包括ARM9TDMI和ARM9E-S等系列。以手机应用为例,2G手机只需提供语音及简单的文字短信功能,而2.5G和3G手机除了提供这两项功能外,还必须提供各种其他的应用功能。主要包括:(1)无线网络设备:手机上网、电子邮件及其他定位服务等功能;(2)PDA功能:含有用户操作系统(Windows CE、Symbian OS、Linux等

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

23、了数据总线和指令总线。(1)冯诺伊曼结构,3.2.1 与ARM7处理器比较,1.体系结构不同(2)哈佛结构哈佛结构的特点是使用两个独立的存储器模块,分别存储指令和数据。,3.2.1 与ARM7处理器比较,在典型情况下,完成一条指令需要3个步骤,即:取指令、指令译码和执行指令。,冯诺伊曼结构处理器指令流的定时关系示意图,3.2.1 与ARM7处理器比较,如果采用哈佛结构处理以上同样的3条存取数指令,由于取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条指令可以重叠执行,这样,也就克服了数据流传输的瓶颈,提高了运算速度。,哈佛结构处理器指令流的定时关系示意图,3.2.1 与ARM7处理器

24、比较,2.时钟频率的提高 ARM7处理器采用3级流水线,在执行级完成了多个操作,包括从寄存器读取操作数,传给移位寄存器,传给算术逻辑单元ALU,把运算结果写回寄存器。,ARM7TDMI和ARM7TDMI-S流水线,3.2.1 与ARM7处理器比较,2.时钟频率的提高 ARM9采用5级流水线,ARM9TDMI和ARM9E-S两种设计基本一样,除了ARM9E-S内核实现了一个更复杂的乘加单元,以支持ARMv5TE架构新引入的DSP增强指令集。采用哈佛架构避免了数据访问和取指令对单总线的使用冲突。,ARM9TDMI流水线,3.2.1 与ARM7处理器比较,3.指令周期的改进(1)存储器读写指令Loa

25、d/Store导致Load/Store指令时钟数目减少的两个微处理器架构设计上的根本差别:ARM9内核采用哈佛架构,有独立的指令和数据存储器接口,允许CPU在取指令的同时读写数据。而ARM7内核则只有一个存储器接口,取指令或数据访问都得经由此接口。ARM9内核的5级流水线设计引入了独立的“存储器(Memory)”和“写回(Write Back)”两级流水线,分别用于存储器读写和把结果写回寄存器组。,3.2.1 与ARM7处理器比较,3.指令周期的改进(2)互锁技术(interlocks)当某一条指令需要的源数据由于前面的指令仍未执行完而不可用时,流水线就会发生互锁。互锁发生时,在硬件上将暂停该

26、指令的执行,直到需要的数据准备好为止。有了互锁机制,ARM9得以与以前ARM处理器保持二进制代码级别的兼容。在许多情况下,编译器或者代码编写者可以通过改变指令的顺序或者别的一些技巧来减少互锁周期数。,3.2.1 与ARM7处理器比较,3.指令周期的改进(3)分支指令ARM9和ARM7的分支指令周期是相同的。ARM9TDMI和ARM9E-S不支持分支预测。在这些处理器上,跳转的开销相对不那么重要。实现分支预测增加了逻辑开销,导致芯片尺寸增大,却不会带来显著的性能提升。,3.2 ARM9处理器简介,3.2.2 OMAP5912处理器介绍1.开放式多媒体应用平台OMAP TI于1999年5月推出OM

27、AP架构,OMAP处理器家族目前主要有三大系列。OMAP平台具有可扩展、灵活而开放的构架,长期以来一直以最佳性能和极低功耗而著称。使用该平台设计的2.5G和3G手机可以实现多种应用,如语言处理、视频流、电视会议、高保真音频、定位服务、安全性、游戏、移动商务、个人管理等多媒体应用。,OMAP处理器家族,3.2 ARM9处理器简介,3.2.2 OMAP5912处理器介绍2.OMAP5912处理器OMAP5912处理器是OMAP1510系列的一个分支,是由TI应用最为广泛的TMS320C55X DSP内核与低功耗、高性能的ARM926EJ-S微处理器组成的双核应用处理器,这两个内核通过一种专用的处理

28、器内部通信机制相连接。C55x系列可提供对低功耗应用的实时多媒体处理的支持;ARM926可满足控制和接口方面的处理需要。基于双核结构,OMAP5912具有极强的运算能力和极低的功耗。,OMAP5912内部功能框图,3.2 ARM9处理器简介,3.2.2 OMAP5912处理器介绍3.常用的OMAP5912开发工具(1)OMAP5912 Starter Kit(OSK)(2)MU-Q-VGA LCD Module for OMAP5912(3)Accelerator Program for OMAP5912(4)RAPID DEVELOPMENT KIT(RDK)(5)Portable Data

29、 Terminal Reference Design(6)Expansion Connector For Omap5912osk(7)Camera Module(CMQ模块)(8)Mistral-Q-VGA LCD Module(QVLM板),本章小结,ARM内核采用精简指令集计算机(Reduced Instruction Set Computer,RISC)体系结构。ARM体系结构的简化设计思想不仅体现在了指令集的设计上,在其体系结构的其它方面也体现了出来。这些增强的特性使得ARM处理器成为当今最通用的32位嵌入式处理器内核之一。我们将在ARM体系中增加的某些特定功能称为ARM体系的某种变种

30、(variant),ARM体系中常见的变种形式有:T变种、M变种、E变种、J变种和SIMD变种。,本章小结,ARM处理器核已经有6个系列产品:ARM7,ARM9,ARM9E,ARM10E,SecurCore以及最新的ARM11系列。进一步的产品来自于合作伙伴,例如:Intel XScale微体系结构和StrongARM产品。从编程的角度看,ARM微处理器有ARM和Thumb两种工作状态,并可在两种状态之间切换;ARM处理器共有37个寄存器,其中包括31个通用寄存器和6个状态寄存器;ARM微处理器在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。,本章小结,ARM7内核采用冯诺伊曼体系结构,数据和指令使用同一条总线,ARM9内核采用哈佛体系结构,区分了数据总线和指令总线。与ARM7相比,ARM9处理器在流水线级数和指令结构上进行了改进,使得ARM9比ARM7有大约30%的性能提升。OMAP5912处理器是由TI应用最为广泛的TMS320C55X DSP内核与低功耗、高性能的ARM926EJ-S微处理器组成的双核应用处理器,这两个内核通过一种专用的处理器内部通信机制相连接。基于双核结构,OMAP5912具有极强的运算能力和极低的功耗,一方面,产品性能高、省电;另一方面,同其它OMAP处理器一样,采用开放式、易于开发的软件设施,支持广泛的操作系统。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号