购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 ARM微处理器概述

1.1.1 ARM简介

ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。

ARM公司只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。

ARM-Advanced RISC Machines,既可以看作一个公司的名字,也可以看作对一类微处理器的通称,还可以看作一种CPU的名称。

1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。

ARM公司专门从事基于RISC(Reduced Instruction Set Computer,全称精简指令集计算机)。作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大型半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。

1.1.2 ARM微处理器的应用领域及特点

1.ARM微处理器的应用领域

到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域。

(1)工业控制领域:基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。

(2)无线通信领域:目前已有超过85%的无线通信设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固。

(3)网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战(实际还不如DSP,就像单片机中内部集成了AD/DA一样,毕竟还是不如单独的AD/DA芯片)。

(4)消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。

(5)成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM智能卡也采用了ARM技术。

除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。

2.ARM微处理器的特点

采用RISC架构的ARM微处理器一般具有如下特点:

(1)体积小、低功耗、低成本、高性能;

(2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;

(3)大量使用寄存器,指令执行速度更快;

(4)大多数数据操作都在寄存器中完成;

(5)寻址方式灵活简单,执行效率高;

(6)指令长度固定(32位或16位)。

1.1.3 ARM微处理器系列

ARM微处理器目前包括下面几个系列,以及其他厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每个系列的ARM微处理器都有各自的特点和应用领域。

● ARM7系列;

● ARM9系列;

● ARM9E系列;

● ARM10E系列;

● SecurCore系列;

● Inter的Xscale;

● Inter的StrongARM;

● Cortex-R系列针对实时系统设计,支持ARM、Thumb和Thumb-2指令集;

● Cortex-M系列(2008年推出);

● Cortex-A(2008年推出,Cortex-A8第一款基于ARMv7构架的应用处理器)。

其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。

以下我们来详细了解一下各种处理器的特点及应用领域。

1.ARM7微处理器系列

ARM7微处理器系列为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列具有如下特点:

(1)具有嵌入式ICE-RT逻辑,调试开发方便;

(2)极低的功耗,适合对功耗要求较高的应用,如便携式产品;

(3)能够提供0.9MIPS/MHz的三级流水线结构;

(4)代码密度高并兼容16位的Thumb指令集;

(5)对操作系统的支持广泛,包括Windows CE、Linux、UC/OS等;

(6)指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。

(7)主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。

ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。

2.ARM9微处理器系列

ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能,具有以下特点:

(1)5级整数流水线,指令执行效率更高。

(2)提供1.1MIPS/MHz的哈佛结构。

(3)支持32位ARM指令集和16位Thumb指令集。

(4)支持32位的高速AMBA总线接口。

(5)全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。

(6)MPU支持实时操作系统。

(7)支持数据Cache和指令Cache,具有更高的指令和数据处理能力。

ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。

3.ARM Cortex-A8处理器的介绍

Cortex-A8第一款基于ARMv7构架的应用处理器。Cortex-A8是ARM公司有史以来性能最强劲的一款处理器,主频为600MHz~1GHz。A8可以满足各种移动设备的需求,其功耗低于300毫瓦,而性能却高达2000MIPS。

Cortex-A8是ARM公司第一款超级标量处理器。在该处理器的设计当中,采用了新的技术以提高代码效率和性能。Cortex-A8采用了专门针对多媒体和信号处理的NEON技术,同时,还采用了Jazelle RCT技术,可以支持JAVA程序的预编译与实时编译。

针对Cortex-A8,ARM公司专门提供了新的函数库(Artisan Advantage-CE)。新的库函数可以有效提高异常处理的速度并降低功耗。同时,新的库函数还提供了高级内存泄漏控制机制。

在结构特性方面Cortex-A8采用了复杂的流水线构架。

(1)顺序执行,同步执行的超标量处理器内核:

13级主流水线;

10级NEON多媒体流水线;

专用的L2缓存;

基于执行记录的跳转预判。

(2)针对强调功耗的应用,Cortex-A8采用了一个优化的装载/存储流水线,可以提供2 DMIPS/MHZ功能。

(3)采用ARMv7构架:

支持THUMB-2,提供了更高的性能,改善了功耗和代码效率;

支持NEON信号处理,增强了多媒体处理能力;

采用了新的Jazelle RCT技术,增强了对JAVA的支持;

采用了TrustZone技术,增强了安全性能。

(4)集成了L2缓存:

编译时,可以把缓存当作标准的RAM进行处理;

缓存大小可以灵活配置;

缓存的访问延迟可以编程控制。

(5)优化的L1缓存,可以提高访存储速度,并降低功耗。

(6)动态跳转预判:

基于跳转目的和执行记录的预判;

提供高达95%的准确性;

提供重放机制以有效降低预判错误带来的性能损失。

4.Cortex-M3

Cortex-M3是一个32位的核,在传统的单片机领域中,有一些不同于通用32位CPU应用的要求。举例来说,在工控领域,用户要求具有更快的中断速度,Cortex-M3采用了Tail-Chaining中断技术,完全基于硬件进行中断处理,最多可减少12个时钟周期数,在实际应用中可减少70%的中断(这里不是中断响应时间)。

单片机的另一个特点是调试工具非常便宜,不像ARM的仿真器动辄几千上万元。针对这个特点,Cortex-M3采用了新型的单线调试(Single Wire)技术,专门拿出一个引脚来做调试,从而节约了大笔的调试工具费用。同时,Cortex-M3中还集成了大部分存储器控制器,这样工程师可以直接在MCU外连接Flash,从而降低了设计难度和应用障碍。ARM Cortex-M3处理器结合了多种突破性技术,令芯片供应商提供超低费用的芯片,仅33000门的内核性能可达1.2DMIPS/MHz。该处理器还集成了许多紧耦合系统外设,令系统能满足下一代产品的控制需求。

Cortex的优势在于低功耗、低成本、高性能3者(或2者)的结合。关于编程模式Cor-tex-M3处理器采用ARMv7-M架构,它包括所有的16位Thumb指令集和基本的32位Thumb-2指令集架构,Cortex-M3处理器不能执行ARM指令集。Thumb-2在Thumb指令集架构(ISA)上进行了大量的改进,它与Thumb相比,具有更高的代码密度并提供16/32位指令的更高性能。

1.1.4 ARM微处理器结构

1.RISC体系结构

传统的CISC(Complex Instruction Set Computer,复杂指令集计算机)结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。

基于以上的不合理性,1979年美国加州大学伯克利分校提出了RISC(Reduced Instruc-tion Set Computer,精简指令集计算机)的概念,RISC并非只是简单地减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。RISC结构优先选取使用频率最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。到目前为止,RISC体系结构也还没有严格的定义,一般认为,RISC体系结构应具有如下特点:

(1)采用固定长度的指令格式,指令归整、简单,基本寻址方式有2~3种。

(2)使用单周期指令,便于流水线操作执行。

(3)大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:所有的指令都可根据前面的执行结果决定是否被执行(条件执行),从而提高指令的执行效率。

(4)可用加载/存储指令批量传输数据,以提高数据的传输效率。

(5)可在一条数据处理指令中同时完成逻辑处理和移位处理。

(6)在循环处理中使用地址的自动增减来提高运行效率。

当然,和CISC架构相比较,尽管RISC架构有上述优点,但决不能认为RISC架构就可以取代CISC架构,事实上,RISC和CISC各有优势,而且界限并不那么明显。现代的CPU往往采用CISC的外围,内部加入了RISC的特性,如超长指令集CPU就是融合了RISC和CISC的优势,成为未来的CPU发展方向之一。

2.ARM微处理器的寄存器结构

ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:

(1)31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器;

(2)6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。

同时,ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应,即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)(快中断模式除外)、1~2个状态寄存器(CPSR SPSR用户模式和系统模式没有)和程序计数器。在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。关于ARM处理器的寄存器结构,在后面的相关章节将会详细描述。

3.ARM微处理器的指令结构

ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。

关于ARM处理器的指令结构,在后面的相关章节将会详细描述。

1.1.5 ARM微处理器的应用选型

鉴于ARM微处理器的众多优点,随着国内外嵌入式应用领域的逐步发展,ARM微处理器必然会获得广泛的重视和应用。但是,由于ARM微处理器有多达十几种的内核结构、几十个芯片生产厂家,以及千变万化的内部功能配置组合,给开发人员在选择方案时带来一定的困难,所以,对ARM芯片做一些对比研究是十分必要的。

以下从应用的角度出发,对在选择ARM微处理器时所应考虑的主要问题做一些简要的探讨。从应用的角度出发,在选择ARM微处理器时所应考虑的主要问题有以下几个方面。

1.ARM微处理器内核的选择

ARM微处理器包含一系列的内核结构,以适应不同的应用领域,如果用户希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(Memory Management Unit) 功能的ARM芯片,如ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。

2.系统的工作频率

系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS,常见的ARM7芯片系统主时钟为20~133MHz,ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100~233MHz,ARM10最高可以达到700MHz。MIPS含义:百万条指令每秒。

3.芯片内存储器的容量

大多数的ARM微处理器片内存储器的容量都不大,需要用户在设计系统时外扩存储器,但也有部分芯片具有相对较大的片内存储空间。

4.片内外围电路的选择

除ARM微处理器核以外,几乎所有的ARM芯片均根据各自不同的应用领域,扩展了相关功能模块,并集成在芯片之中,我们称之为片内外围电路,如USB接口、IIS接口、LCD控制器、键盘接口、RTC、ADC、DAC和DSP协处理器等。 Ao9VRHrP5qFs17hnanW6v5wnFgBROC6weMU6LHl/gsmb8dnQzVVXklW0v0UZ/0+Y

点击中间区域
呼出菜单
上一章
目录
下一章
×