《第3章 ARM体系架构.ppt》由会员分享,可在线阅读,更多相关《第3章 ARM体系架构.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第3章ARM体系架构,教师:赵艳红E-mail:zhao.yanhong,重点内容:,ARM微处理器简介ARM微处理器系列ARM编程模型嵌入式系统的软硬件框架Edukit-III实验教学系统,一、ARM微处理器简介,ARM微处理器的发展ARM可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字,全名是AdvancedRISCMachine。该公司1990年11月成立于英国剑桥,主要出售芯片设计技术的授权,是苹果电脑,Acorn电脑集团和VLSITechnology的合资企业。Acorn曾推出世界上首个商用单芯片RISC处理器,而苹果电脑当时希望将RISC技术应
2、用于自身系统,ARM微处理器新标准因此应运而生。,ARM微处理器的发展,80年代末90年代初,半导体行业产业链刚刚出现分工,台积电,联电等半导体代工厂正悄悄崛起,美国硅谷中的一些Fabless公司也如雨后春笋一样涌现出来,所谓的Fabless公司自己设计芯片,但是生产过程则包给台积电等代工厂生产。ARM更是为天下先,12年前首创了Chipless的生产模式,即该公司既不生产芯片,也不设计芯片,而是设计出高效的IP内核,授权给半导体公司使用,半导体公司在ARM技术的基础上添加自己的设计并推出芯片产品,最后由OEM客户采用这些芯片来构建基于ARM技术的系统产品。,ARM微处理器的发展,ARM的核心
3、业务是销售芯片核心技术IP,目前全球有103家巨型IT公司在采用ARM技术。20家最大的半导体厂商中有19家是ARM的用户,包括德州仪器,意法半导体,Philips,Intel等。唯一没有购买ARM授权的是Intel的老对头AMD,因为Intel便携式处理器采用的是StrongARM,而AMD则收购了Alchemy公司与之抗衡,采用的是MIPS结构。,ARM微处理器结构RISC,CISC(ComplexInstructionSetComputer,复杂指令集计算机)结构RISC(ReducedInstructionSetComputer,精简指令集计算机)的概念,RISC体系结构应具有如下特点
4、:采用固定长度的指令格式,指令整齐、简单、基本寻址方式有2-3种;使用单周期指令,便于流水线操作执行;大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。,ARM微处理器的指令结构,ARM微处理器支持两种指令集:ARM指令集:ARM指令为32位的长度Thumb指令集:Thumb指令为16位长度Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省3040以上的存储空间,同时具备32位代码的所有优点。,ARM微处理器的特点,ARM微处理器采用RISC架构,具有下列一些显著特点:体积小、功耗低、成本低、高性能。支持Thumb
5、(16位)/ARM(32位)双指令集。具有大量的寄存器,因而指令执行速度快。绝大多数操作都在寄存器中进行,通过Load/Store的体系架构在内存和寄存器之间传递数据。寻址方式简单。采用固定长度的指令格式。,ARM微处理器的特点,除此之外,ARM体系还采用一些特别的技术用来保证芯片高性能的同时,尽可能减小芯片体积,降低芯片功耗。这些技术包括:在同一条数据处理指令中包含算术逻辑处理单元处理和移位处理。使用地址自动增加(减少)来优化程序中循环处理。Load/Store指令可以批量传输数据,从而提高数据传输的效率。所有指令都可以进行分支预测功能,即根据前面指令执行结果,决定是否执行,以提高指令的执行
6、效率。,ARM微处理器的特点及应用,ARM微处理器及技术已经深入到各个领域,取得很大的成功,到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域。无线通讯领域:无线通信领域是ARM微处理器应用最为广泛的领域之一,目前全球超过85的无线通讯设备都采用ARM技术。比如手机、PDA等设备中都有ARM技术的应用。蓝牙技术:ARM已经为蓝牙技术的推广应用做好了准备,像爱立信、英特尔、朗讯、阿尔卡特等20多家公司的元器件产品都采用了ARM技术。,ARM微处理器的特点及应用,网络应用领域:随着宽带技术的推广,采用ARM技术的ADSL芯片组正逐渐取得竞争优势。消费类电子产品领域:ARM技术在数字音频领
7、域、数字机顶盒和游戏机中得到广泛应用。另外,采用ARM技术的存储产品包括硬盘系列、微型闪存和可读写光盘等,已经投入生产。信息家电领域:现在很多数码相机、打印机都使用了ARM技术,另外,汽车上包括驾驶、安全和车载娱乐等各种功能都可以使用ARM微处理器来完成。,二、ARM微处理器系列,下面所列的是ARM微处理器的几个系列,以及其他厂商基于ARM体系结构的处理器,这些处理器除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。ARM7系列ARM9系列ARM9E系列ARM10E系列ARM11系列SecurCore系列Inter的XscaleInter的StrongA
8、RM,二、ARM微处理器系列,ARM7、ARM9、ARM9E、ARM10和ARM11为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。如SecurCore系列专门为安全要求较高的应用而设计。,ARM7系列,ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列具有如下特点:具有嵌入式ICERT逻辑,调试开发方便;极低的功耗,适合对功耗要求较高的应用,如便携式产品;能够提供0.9MIPS/MHz的三级流水线结构;代码密度高并兼容16位的Thumb指令集;对操作系统的支持广泛,包括WindowsCE、Lin
9、ux、PalmOS等;指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代;主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。,ARM7系列,ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为:T:支持16位压缩指令集Thumb;D:支持片上Deb
10、ug;M:内嵌硬件乘法器(Multiplier);I:嵌入式ICE,支持片上断点和调试点。,ARM9系列,ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:5级整数流水线,指令执行效率更高;提供1.1MIPS/MHz的哈佛结构;支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA总线接口;全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统;MPU支持实时操作系统;支持数据Cache和指令Cache,具有更高的指令和数据处理能力。,ARM9系列,ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高
11、端打印机、数字照相机和数字摄像机等。ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。,ARM9E系列,ARM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大地减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。ARM9系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S
12、三种类型,以适用于不同的应用场合。,ARM9E系列,ARM9E系列微处理器的主要特点如下:支持DSP指令集,适合于需要高速数字信号处理的场合;5级整数流水线,指令执行效率更高;支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA总线接口;支持VFP9浮点处理协处理器;全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统;MPU支持实时操作系统;支持数据Cache和指令Cache,具有更高的指令和数据处理能力;主频最高可达300MIPS。,ARM10E系列,ARM10E系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的A
13、RM9器件相比较,在同样的时钟频率下,性能提高了近50%,同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低。ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。ARM10E系列微处理器包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型,以适用于不同的应用场合。,ARM10E系列,ARM10E系列微处理器的主要特点如下:支持DSP指令集,适合于需要高速数字信号处理的场合;6级整数流水线,指令执行效率更高;支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA总线接口;支持VFP10浮点处
14、理协处理器;全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统;支持数据Cache和指令Cache,具有更高的指令和数据处理能力;主频最高可达400MIPS;内嵌并行读写操作部件。,ARM11系列,ARM11系列微处理器内核采用ARMV6T结构,时钟频率533MHz,功耗为200mW,采用八级流水线,支持矢量化中断,中断速度提高3倍。主要特点如下:带可配置指令和数据高速闪存的存储系统,外加带专用DMA的高速本地存储器,以加强实时数据处理能力;采用八级整数流水线结构,带两个周期的高速闪存访问,可实现高频工作;四个高速64位系统片上连接,为数据和指令提供足够的
15、带宽;存储器管理单元支持Windows、OS、WindRiver和Linux操作系统;得到ARMRealView开发解决方案支持。,ARM11系列,ARMRealView开发解决方案由RealView编辑工具、RealView调试工具、RealViewICE和RealViewTrace组成。ARM11系列主要用于消费电子、无线和网络应用领域,如STB、数码相机、3G移动电话、VoIP基础设备、宽带调制解调器、WLAN介入设备和安全设备等。ARM11系列处理器包含ARM1136J-S和ARM1136JF-S两种类型,以适用于不同的应用场合。,ARMCore系列,SecurCore系列微处理器专为
16、安全需要而设计,提供了完善的32位RISC技术的安全解决方案,因此,SecurCore系列微处理器除了具有ARM体系结构的低功耗、高性能的特点外,还具有独特的优势,即提供了对安全解决方案的支持。SecurCore系列微处理器除了具有ARM体系结构各种主要特点外,还在系统安全方面具有如下的特点:带有灵活的保护单元,以确保操作系统和应用数据的安全;采用软内核技术,防止外部对其进行扫描探测;可集成用户自己的安全特性和其他协处理器。,ARMCore系列,SecurCore系列微处理器主要用于一些对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。SecurC
17、ore系列微处理器包含SecurCoreSC100、SecurCoreSC110、SecurCoreSC200和SecurCoreSC210四种类型,以适用于不同的应用场合。,StrongARM系列,InterStrongARMSA-1100处理器是采用ARM体系结构高度集成的32位RISC微处理器。它融合了Inter公司的设计和处理技术,以及ARM体系结构的电源效率,采用在软件上兼容ARMv4体系结构、同时采用具有Intel技术优点的体系结构。IntelStrongARM处理器是便携式通信产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。,Xscale系列,Xscale
18、处理器是基于ARMv5TE体系结构的解决方案,是一款性能全、性价比高、功耗低的处理器。它支持16位的Thumb指令和DSP指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。Xscale处理器是Intel目前主要推广的一款ARM微处理器。,三、ARM编程模型,所谓编程模型,指的是开发人员在软件编程时对象的特点。ARM编程模型,也就是ARM的体系结构的特点。,CPU内核架构,ARM硬件架构,ARM芯片的内核一般包括以下几个单元:ARM9TDMI32RISC处理器、数据缓存器(DataCache)、指令缓存(InstructionCache)、指令存储管理单元(InstructionMMU
19、)、数据存储管理单元(DataMMU)、写缓冲(WriteBuffer)回写存储单元(WriteBackPATAGRAM)。这些部件单元通过AMBA总线(AMBABus)相互传输数据以实现指令和数据的并行处理。,ARM硬件架构,除此之外,还包括四个与外界进行数据交换的接口:总线接口(AMBABusInterface)、扩展协处理器接口(ExternalCoprocessorInterface)、跟踪接口(TraceInterface)JTAG它们可以连接DMA控制器、UART、USB、中断控制器和电源管理器等。核心通过与外围部件共同工作完成整个嵌入式系统的正常数据处理任务。,ARM微处理器模式
20、,ARM微处理器的运行模式有7种,分别为:用户模式(User,usr):正常程序执行时,ARM处理器所处的状态。快速中断模式(FIQ,fiq):用于快速数据传输和通道处理。外部中断模式(IRQ,irq):用于通常的中断处理。特权模式(Supervisor,sve):供操作系统使用的一种保护模式。数据访问中止模式(Abort,abt):当数据或指令预取终止时进入该模式,用于虚拟存储及存储保护。未定义指令终止模式(Undefined,und):用于支持硬件协处理器软件仿真。系统模式(System,sys):用于运行特权级的操作系统任务。,ARM微处理器模式,通常情况下,应用程序运行在用户模式下,这
21、时应用程序不能访问一些受操作系统保护的系统资源,同时应用程序也不能直接进行处理器模式的切换。,ARM寄存器,ARM处理器共有37个寄存器:31个为通用寄存器,6个状态寄存器,这些寄存器都是32位。ARM处理器运行在每一种模式下时,都会使用属于自己的一组寄存器组。通常包括:15个通用寄存器(R0-R14)、一个或两个状态寄存器及程序计数器(PC)。每一种模式下的寄存器组是部分重叠的。,ARM寄存器,通用寄存器,通用寄存器中:R0R7是所有处理器模式共用的一组寄存器,也就是说,在从一种模式切换到另一种模式时,必须保存它们的值。R8R14为备份寄存器,其中对于R8R12来说,每一个寄存器对应两个不同
22、的物理寄存器,R13和R14对应6个不同的物理寄存器。R13通常用做堆栈指针,采用下面的记号来区分各个物理寄存器:R13_取下列几个值:usr、svc、abt、und、irq及fiq。,通用寄存器,R14寄存器有两种特殊的作用:用户模式下,R14用做链接寄存器(LR),存放子程序被调用时的返回地址。异常处理模式下,R14用来保存异常的返回地址。R15为程序计数器,又被记做PC。PC的值为当前指令地址的值加8个字节,也就是说,PC指向当前指令的下两条指令的地址。,程序状态寄存器,在ARM处理器中,程序状态寄存器用来保存程序执行时的各种状态值,包括条件标志位、中断禁止位、当前处理器模式标志和其它一
23、些位。程序状态寄存器分为CPSR(程序状态寄存器)和SPSR(备份程序状态寄存器)两种类型。在任何一种处理器模式下,都会有一个共用的CPSR;另外异常模式下还会有一个专用的SPSR。当异常发生时,这个寄存器用于存放当前程序状态寄存器的内容,当退出异常处理时,再把SPSR中的值恢复到CPSR中。,四、嵌入式系统的软硬件框架,五、Edukit-III实验教学系统,5.1ARM嵌入式开发模式目标机/宿主机(或称下位机/上位机)开发模式宿主机需要运行一些软件进行程序编辑、编译和调试等功能,这些软件通常称为集成开发环境(IDE)。,五、Edukit-III实验教学系统,5.2Edukit-III实验教学
24、模型,RealViewMDK集成开发环境,PC机,Ulink2仿真器,Edukit实验教学箱,5.3EmbestEduKit-III实验箱,EmbestEduKit-III开发板是实验箱的主要硬件平台,它是英蓓特公司开发的一款全功能ARM开发板,基于Samsung公司的S3C2410处理器,资源丰富。开发板硬件系统包含了嵌入式系统开发应用所需的大部分设备,如串口、以太网口、USB口、音频输出、LCD及TSP触摸屏、5*4的小键盘、固态硬盘、大容量的Flash和SDRAM等等。用户不仅可以在该硬件平台上完成实验系统提供的实验例子,还可以参考该平台设计自己的目标系统。,5.3EmbestEduKi
25、t-III实验箱,实验箱提供ARM开发板、直通网线、USB线,串口线,并口线、JTAG线、ULINK、触摸屏、自定义键盘。,Edukit-III教学实验箱的组成,EmbestEduKit-III开发板的基本构成,电源:外部5V电源供电2MBNorFlash8MBSDRAM4KbitIICBUS的串行EEPROM(AT24C04,在基板上)2个串口复位开关两个中断按钮,两个LED外部IDE硬盘接口LCD及TSP触摸屏接口,20针JTAG接口USB连接器44键盘接口4个220PINCPU扩展接口10M以太网接口8段数码管MICROPHONE输入口IIS音频信号输出口,可接双声道SPEAKERNAN
26、DFlash16M8bit(K9F2808,在基板上)320*240带触摸功能的显示屏,常见的嵌入式系统存储设备,(1)RAM(随机存储器)RAM可以被读和写,地址可以以任意次序被读。常见RAM的种类有SRAM(StaticRAM,静态随机存储器)、DRAM(DynamicRAM,动态随机存储器)、DDRAM(DoubleDataRateSDRAM,双倍速率随机存储器)。其中,SRAM比DRAM运行速度快,SRAM比DRAM耗电多,DRAM需要周期性刷新。而DDRAM是RAM的下一代产品。,常见的嵌入式系统存储设备,(2)ROM(只读存储器)ROM在烧入数据后,无需外加电源来保存数据,断电后数
27、据不丢失,但速度较慢,适合存储需长期保留的不变数据。在嵌入式系统中,ROM用固定数据和程序。常见ROM有:MaskROM(掩模ROM)、PROM(ProgrammableROM,可编程ROM)、EPROM(ErasableProgrammableROM,可擦写ROM)、EEPROM(电可擦除可编程ROM,也可表示为E2PROM)、FlashROM(闪速存储器),常见的嵌入式系统存储设备,(3)FlashMemoryFlashmemory(闪速存储器)是嵌入式系统中重要的组成部分,用来存储程序和数据,掉电后数据不会丢失。FlashMemory根据结构的不同可以将其分成:NORFlash:NORF
28、lash把整个存储区分成若干个扇区(Sector)。NANDFlash:NANDFlash把整个存储区分成若干个块(Block),可以对以块或扇区为单位的内存单元进行擦写和再编程。,常见的嵌入式系统存储设备,擦除NORFlash时是以64128KB为单位的扇区进行的,执行一个写入擦除操作的时间为5s,与此相反,擦除NANDFlash是以832KB的块进行的,执行相同的操作最多只需要4ms。NORFlash的读速度比NANDFlash稍快一些。NANDFlash的写入速度比NORFlash快很多。NANDFlash的随机读取能力差,适合大量数据的连续读取。NORFlash容量通常在1MB8MB之
29、间。而NANDFlash用在8MB以上的产品当中。NORFlash主要应用在代码存储介质中,NANDFlash适用于资料存储。,FLASH选型,常用的Flash为8位或16位的数据宽度,编程电压为单3.3V。主要的生产厂商为INTEL、ATMEL、AMD、HYUNDAI等。英蓓特系统中NorFlash使用Am29LV160D(2MB,在CPU板上),用了一片;NANDFlash使用K9F2808(16MB,在基板上),用了一片。,5.4Ulink2USB-JTAG仿真器,ULINK2USB-JTAG仿真器是ARM公司最新推出的配套MDK-ARM使用的仿真器,是ULink仿真器的升级版本。JTA
30、G仿真器也称为JTAG调试器。,5.4Ulink2USB-JTAG仿真器,ULINK2新特点:标准WindowsUSB驱动支持ULINK2即插即用支持基于ARMCortex-M3的串行调试支持程序运行期间的存储器读写、终端仿真和串行调试输出支持10-pin连接线(也支持20-pin连接线)ULINK2主要功能:USB通讯接口高速下载用户代码存储区域/寄存器查看快速单步程序运行多种程序断点片内Flash编程,5.4Ulink2USB-JTAG仿真器,(1)JTAG(JointTestActionGroup,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。目前
31、大多数比较复杂的器件都支持JTAG协议,如ARM、DSP、FPGA器件等。(2)标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。(3)通过JTAG接口,可对芯片内部的所有部件进行访问,因而是开发调试嵌入式系统的一种简洁高效的手段。目前JTAG接口的连接有两种标准,即14针接口和20针接口。,5.5RealViewMicrocontrollerDevelopmentKit(MDK-ARM),MDK-ARM开发工具源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软
32、件开发工具。MDK-ARM集成了业内最领先的技术,包括Vision4集成开发环境与RealView编译器。支持ARM7、ARM9和最新的Cortex-M3/M1/M0内核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能。,MDK运行图,MDK-ARM的突出特性,菜鸟的阿拉伯飞毯启动代码生成向导,自动引导,一日千里。高手的无剑胜有剑软件模拟器,完全脱离硬件的软件开发过程。专家的哈雷望远镜性能分析器,看得更远、看得更细、看得更清。未来战士的激光剑Cortex-M3/M1/M0支持。业界最优秀的编译器RealView编译器,代码更小,性能更高。配备ULINKPro/ULINK2仿真器+Flash编程模块,轻松实现Flash烧写。更贴身的服务专业的本地化的技术支持和服务。,嵌入式软件设计流程,编辑创建工程添加文件、编写程序汇编语言加C语言编译配置编译、汇编和连接参数编写连接脚本文件编译,调试连接调试器下载程序运行、调试固化通过仿真器烧写flash专用或通用的编程器通过bootloader烧写flash,