聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> ARM处理器的三大特点

ARM处理器的三大特点

时间:2011-03-22 12:53:48    下载该word文档

ARM处理器的三大特点是:耗电少功能强、16/32位双指令集和合作伙伴众多。

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

  2、支持Thumb16位)/ARM32位)双指令集,能很好的兼容8/16位器件;

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

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

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

  6、指令长度固定。

编辑本段ARM处理器的历史

  1978125日,物理学家赫尔曼·豪泽(Hermann Hauser)和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市场供应电子设备。1979年,CPU公司改名为Acorn计算机公司。

  起初,Acorn公司打算使用摩托罗拉公司的16位芯片,但是发现这种芯片太慢也太贵。"一台售价500英镑的机器,不可能使用价格100英镑的CPU"他们转而向Intel公司索要80286芯片的设计资料,但是遭到拒绝,于是被迫自行研发。

  1985年,Roger WilsonSteve Furber设计了他们自己的第一代32位、6M Hz的处理器,

  

Roger WilsonSteve Furber

[1]

用它做出了一台RISC指令集的计算机,简称ARMAcorn RISC Machine)。这就是ARM这个名字的由来。

  RISC的全称是"精简指令集计算机"reduced instruction set computer),它支持的指令比较简单,所以功耗小、价格便宜,特别合适移动设备。早期使用ARM芯片的典型设备,就是苹果公司的牛顿PDA

  20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的计算机教育基础。

  19901127日,Acorn公司正式改组为ARM计算机公司。苹果公司出资150万英镑,芯片厂商VLSI出资25万英镑,Acorn本身则以150英镑的知识产权和12名工程师入股。公司的办公地点非常简陋,就是一个谷仓。

  

  

20世纪90年代,ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。

编辑本段市场前景

  微软公司(2011年)宣布,下一版Windows将正式支持ARM处理器。这是计算机工业

  

arm处理器

[2]

发展历史上的一件大事,标识着x86处理器的主导地位发生动摇。目前在移动设备市场,ARM处理器的市场份额超过90%;在服务器市场,今年(2011年)就会有2.5GHz服务器上市;在桌面电脑市场,现在又有了微软的支持。ARM成为主流,恐怕指日可待。难怪有人惊呼,Intel公司将被击败!

  与这场轰轰烈烈的变革相比,它的主角ARM公司却没有受到太多的关注,显得不太起眼。这家远离硅谷、位于剑桥大学的英国公司,到底是怎么走到今天的,居然能将芯片巨人Intel拉下马?

  展望未来,即使Intel成功地实施了Atom战略,将x86芯片的功耗和价格大大降低,它与ARM竞争也将非常吃力。因为ARM的商业模式是开放的,任何厂商都可以购买授权,所以未来并不是Intel vs. ARM,而是Intel vs. 世界上所有其他半导体公司。那样的话,Intel的胜算能有多少呢?

编辑本段ARM处理器结构

  体系结构

  1 CISCComplex Instruction Set Computer,复杂指令集计算机)

  在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%。

  2 RISCReduced Instruction Set Computer,精简指令集计算机)

  RISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以控制逻辑为主,不用或少用微码控制等

  RISC体系结构应具有如下特点:

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

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

  3 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储指令可以访问存储器,以提高指令的执行效率。

  除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:

  4 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。

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

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

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

  寄存器结构

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

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

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

  指令结构

  ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的

  ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。

编辑本段使用ARM处理器的手机

编辑本段欧洲诺基亚

  诺基亚 N86 诺基亚 N97 诺基亚 N8 诺基亚 N96 诺基亚 N95 诺基亚 N78 诺基亚 N900 诺基亚 N81 诺基亚 N85 诺基亚 X6 诺基亚 E72 诺基亚 E71 诺基亚 E66 诺基亚 E63 诺基亚 E52 诺基亚 E51 诺基亚 E50 诺基亚 5530XM 诺基亚 5800XM 诺基亚 5320XM 诺基亚 5630XM 诺基亚 5730XM 诺基亚 5230

编辑本段美国摩托罗拉

  摩托罗拉 XT711 摩托罗拉 XT800 摩托罗拉 XT702 摩托罗拉 XT701 摩托罗拉 ME600 摩托罗拉 ME501 摩托罗拉ME500 摩托罗拉 Milestone 摩托罗拉 RAZR V8 摩托罗拉 VE66 摩托罗拉 A1200E 摩托罗拉 A1210 摩托罗拉 A1600 摩托罗拉 A1800 摩托罗拉 A1890 摩托罗拉 U9 摩托罗拉 A810 摩托罗拉 ROKR EM30 摩托罗拉 EM35 摩托罗拉 ROKR E6 摩托罗拉 ROKR E8

编辑本段英国索爱

  索爱 X1 索爱 X2 索爱 M1i 索爱 X10 索爱 Satio 索爱 U8i

编辑本段韩国三星

  三星 i8910 三星 i8510

编辑本段美国奔迈

  palm pre palm pixi palm pre plus

编辑本段ARM处理器系列

  ARM7系列 ARM9系列 ARM9E系列 ARM10E系列 

  SecurCore系列 InterXscale InterStrongARM ARM11系列

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

  ARM内核

编辑本段ARM内核的设计文件

  设计文件讲求精简又快速的设计方式,整体电路化却又不采用微码,就像早期使用在Acorn微电脑的86502处理器。

  ARM架构包含了下述RISC特性:

  读取/储存 架构不支援地址不对齐内存存取(ARMv6内核现已支援)正交指令集(任意存取指令可以任意的寻址方式存取数据Orthogonal instruction set)大量的16 × 32-bit 寄存器阵列(register file)固定的32 bits 操作码(opcode)长度,降低编码数量所产生的耗费,减轻解码和流水线化的负担。大多均为一个CPU周期执行。为了补强这种简单的设计方式,相较于同时期的处理器如Intel 80286Motorola 68020,还多加了一些特殊设计:

  大部分指令可以条件式地执行,降低在分支时产生的负重,弥补分支预测器(branch predictor)的不足。算数指令只会在要求时更改条件编码(condition code32-bit筒型位移器(barrel shifter)可用来执行大部分的算数指令和寻址计算而不会损失效能强大的索引寻址模式(addressing mode)精简但快速的双优先级中断子系统,具有可切换的暂存器组有个附加在ARM设计中好玩的东西,就是使用一个4-bit 条件编码 在每个指令前头,表示每支指令的执行是否为有条件式的

  这大大的减低了在内存存取指令时用到的编码位,换句话说,它避免在对小型叙述如if做分支指令。有个标准的范例引用欧几里德最大公因子算法:

  在C编程语言中,循环为:

  int gcd (int i, int j) { while (i != j) if (i > j) i -= j; else j -= i; return i;} ARM 汇编语言中,循环为:

  loop CMP Ri, Rj ; 设定条件为 "NE"(不等於) if (i != j) ; "GT"(大於) if (i > j), ; or "LT"(小於) if (i < j) SUBGT Ri, Ri, Rj ; "GT"(大於), i = i-j; SUBLT Rj, Rj, Ri ; "LT"(小於), j = j-i; BNE loop ; "NE"(不等於),则继续回圈这避开了thenelse子句之间的分支。

  另一项指令集的特色是,能将位移(shift)和回转(rotate)等功能并成"资料处理"型的指令(算数、逻辑、和暂存器之间的搬移),因此举例来说,一个C语言的叙述

  a += (j << 2);ARM之下,可简化成只需一个word和一个cycle即可完成的指令

  ADD Ra, Ra, Rj, LSL #2这结果可让一般的ARM程式变得更加紧密,而不需经常使用内存存取,流水线也可以更有效地使用。即使在ARM以一般认定为慢速的速度下执行,与更复杂的CPU设计相比它仍能执行得不错。

  ARM处理器还有一些在其他RISC的架构所不常见到的特色,例如PC-相对寻址(的确在ARMPC16个暂存器的其中一个)以及 前递加或后递加的寻址模式。

  另外一些注意事项是 ARM 处理器会随着时间,不断地增加它的指令集。某些早期的 ARM 处理器(比ARM7TDMI更早),譬如可能并未具备指令可以读取两 Bytes 的数量,因此,严格来讲,对这些处理器产生程式码时,就不可能处理如 C 语言物件中使用 "volatile short" 的资料型态。

  ARM7 和大多数较早的设计具备三阶段的流水线化(Pipeline):提取指令、解码,并执行。较高效能的设计,如 ARM9,则有五阶段的流水线化。提高效能的额外方式,包含一颗较快的加法器,和更广的分支预测逻辑线路。

  这个架构使用协处理器提供一种非侵入式的方法来延伸指令集,可透过软件下 MCRMRCMRRCMCRR 等指令来对协处理器寻址。协处理器空间逻辑上通常分成16个协处理器,编号分别从 0 15 ,而第15号协处理器(CP15)是保留用作某些常用的控制功能,像是使用高速缓存和记忆管理单元运算(若包含于处理器时)。

  在 ARM 架构的机器中,周边装置连接处理器的方式,通常透过将装置的实体暂存器对应到 ARM 的内存空间、协处理器空间,或是连接到另外依序接上处理器的装置(如总线)。协处理器的存取延迟较低,所以有些周边装置(例如 XScale 中断控制器)会设计成可透过不同方式存取(透过内存和协处理器)。Thumb 

  较新的ARM处理器有一种16-bit指令模式,叫做Thumb,也许跟每个条件式执行指令均耗用4位的情形有关。在Thumb模式下,较小的opcode有更少的功能性。例如,只有分支可以是条件式的,且许多opcode无法存取所有CPU的暂存器。然而,较短的opcode提供整体更佳的编码密度(注:意指程式码在内存中占的空间),即使有些运算需要更多的指令。特别在内存埠或总线宽度限制在32 以下的情形时,更短的Thumb opcode能更有效地使用有限的内存带宽,因而提供比32位程式码更佳的效能。典型的嵌入式硬件仅具有较小的32-bit datapath寻址范围以及其他更窄的16 bits寻址(例如Game Boy Advance)。在这种情形下,通常可行的方案是编译成 Thumb 程式码,并自行最佳化一些使用(非Thumb32位指令集的CPU相关程式区,因而能将它们置入受限的32-bit总线宽度的内存中。

  首颗具备 Thumb 技术的处理器是 ARM7TDMI。所有 ARM9 和后来的家族,包括 XScale 都纳入了 Thumb 技术。

  Jazelle 

  ARM 还开发出一项技术,Jazelle DBX (Direct Bytecode eXecution),允许它们在某些架构的硬件上加速执行Java bytecode,就如其他执行模式般,当呼叫一些无法支援bytecodes的特殊软件时,能提供某些bytecodes的加速执行。它能在现存的ARMThumb模式之间互相执行。

  首颗具备Jazelle技术的处理器是ARM926EJ-SJazelle以一个英文字母'J'标示于CPU名称中。它用来让手机制造商能够加速执行Java ME的游戏和应用程式,也因此促使了这项技术不断地开发。

  Thumb-2  

  Thumb-2 技术首见于 ARM1156 核心 ,并于2003年发表。Thumb-2 扩充了受限的 16-bit Thumb 指令集,以额外的 32-bit 指令让指令集的使用更广泛。因此 Thumb-2 的预期目标是要达到近乎 Thumb 的编码密度,但能表现出近乎 ARM 指令集在 32-bit 内存下的效能。

  Thumb-2 至今也从 ARM Thumb 指令集中派生出多种指令,包含位栏(bit-field)操作、分支建表(table branches),和条件执行等功能。

  Thumb Execution Environment (ThumbEE)  

  ThumbEE,也就是所谓的Thumb-2EE,,业界称为Jazelle RCT技术,于2005年发表,首见于 Cortex-A8 处理器。ThumbEE 提供从 Thumb-2 而来的一些扩充性,在所处的执行环境Execution Environment)下,使得指令集能特别适用于执行阶段(Runtime)的编码产生(例如即时编译)。Thumb-2EE 是专为一些语言如 LimboJavaC#Perl Python,并能让 即时编译器 能够输出更小的编译码却不会影响到效能。

  ThumbEE 所提供的新功能,包括在每次存取指令时自动检查是否有无效指标,以及一种可以执行阵列范围检查的指令,并能够分支到分类器(handlers),其包含一小部份经常呼叫的编码,通常用于高阶语言功能的实作,例如对一个新物件做内存配置。

  进阶 SIMD (NEON) 

  进阶 SIMD 延伸集,业界称为NEON技术,它是一个结合 64 128 bit SIMDSingle Instruction Multiple Data 单指令多重数据)指令集,其针对多媒体和讯号处理程式具备标准化加速的能力。NEON 可以在 10 MHz CPU 上执行 MP3 音效解码,且可以执行 13 MHz 频率以下的 GSM AMR (Adaptive Multi-Rate) 语音编码NEON具有一组广泛的指令集、各自的寄存器阵列,以及独立执行的硬件。NEON 支援 8-, 16-, 32- 64-bit 的整数及单精度浮点数据,并以SIMD 的方式运算,执行图形和游戏处理中关于语音/视讯的部分。SIMD 向量超级处理机 中是个决定性的要素,它具备同时多项处理功能。在 NEON 技术中,SIMD 最高可支援到同时 16 个运算。

  VFP  

  VFP 是在协同处理器针对ARM架构的衍生技术。它提供低成本的单精度和倍精度浮点运算能力,并完全相容于ANSI/IEEE Std 754-1985 二进制浮点算数标准VFP 提供大多数适用于浮点运算的应用,例如PDA、智慧手机、语音压缩与解压、3D图像以及数位音效、打印机、机上盒,和汽车应用等。VFP 架构也支援 SIMD(单指令多重数据)平行化的短向量指令执行。这在图像和讯号处理等应用上,非常有助于降低编码大小并增加输出效率。

  在ARM-based处理器中,其他可见的浮点、或 SIMD 的协同处理器还包括了 FPA, FPE, iwMMXt。他们提供类似 VFP 的功能但在opcode层面上来说并不具有相容性。

  安全性扩充 (TrustZone) 

  TrustZone(TM) 技术出现在 ARMv6KZ 以及较晚期的应用核心架构中。它提供了一种低成本的方案,针对系统单芯片SoC)内加入专属的安全核心,由硬件建构的存取控制方式支援两颗虚拟的处理器。这个方式可使得应用程式核心能够在两个状态之间切换(通常改称为领域(worlds)以避免和其他功能领域的名称混淆),在此架构下可以避免资讯从较可信的核心领域泄漏至较不安全的领域。这种内核领域之间的切换通常是与处理器其他功能完全无关联性(orthogonal),因此各个领域可以各自独立运作但却仍能使用同一颗内核。内存和周边装置也可因此得知目前内核运作的领域为何,并能针对这个方式来提供对装置的机密和编码进行存取控制。典型的 TrustZone 技术应用是要能在一个缺乏安全性的环境下完整地执行操作系统,并在可信的环境下能有更少的安全性的编码。

免费下载 Word文档免费下载: ARM处理器的三大特点

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服