独特的ARM
提起电脑,大家都会想起INTEL和AMD,但提起当下流行的智能手机、平板电脑,大家往往会想到ARM,ARM究竟为何能够占据处理器90%市场份额,平板电脑处理器70%市场份额,以至于令INTEL难以望其项背呢?我看来就在于它的独特。
ARM是Advanced RISC Machines公司的缩写,当然我们提起ARM,大多指的是ARM处理器,ARM公司独特在于它不自己制作处理器,而是作为知识产权供应商将其技术授权给全球各地的厂商,各个厂商得到的是ARM微处理器核,然后他们根据各自不同的应用领域,加入适当的外围电路,生产各具特色的芯片,而且其处理器性价比高,能耗低的特点更是让它无可匹敌。
还有就是有人对它的版本及型号摸不着头脑,诸如“为什么没有ARM4,ARM5直接是ARM6”,“为什么ARM11以后又叫cortex”等等,现在就对它的版本及型号做一个大体的概述吧。
| 体系结构 |
ARM1 | v1 |
ARM2 | v2 |
ARM2aS、ARM3 | v2a |
ARM6、ARM600、ARM610 | v3 |
ARM7、ARM700、ARM710 | v3 |
ARM7TDMI、ARM710T、ARM720T、ARM740T | v4T |
Strong ARM、ARM8、ARM810 | v4 |
ARM9TDMI、ARM920T、ARM940T | v4T |
ARM9E-S | v5TE |
ARM10TDMI、ARM1020E | v5TE |
ARM11、ARM1156T2-S、ARM1156T2F-S、ARM1176JZF-S、ARM11JZF-S | v6 |
首先我们先列一个表说明一下它的版本及型号。
1 ARMv1:它属于原型机,没有用于商业产品。
2 ARMv2:它对v1进行了拓展,包含了对32位结果的乘法指令和协处理器指令的支持
3 ARMv3:它作为IP核、独立的的处理器、具有片上高速缓存、MCU和写缓存的集成CPU
4 ARMv4:它是当前应用最广泛的ARM指令集版本,ARMTDMI、ARM720T、ARM920T、Intel的StrongARM等是基于v4版本
5 ARMv5:ARM9E-S ARM1020E ARM1022E以及Xcale基于ARMV5TE,ARM9EJ-S ARM926EJ-S ARM7EJ-S ARM1026EJ-S基于ARMv5EJ,其中E代表增强型DSP指令集,包括全部算法和16位乘法操作,J代表支持新的JAVA
6 ARMv6 :采用ARMv6核的处理器是ARM11系列,ARM1136J(F)-S基于ARMv6的主要特性是SIMD Thumb Jazelle DBX (VFP) MMU,ARM115T2(F)-S基于ARMv6T2的主要特性是SIMD Thumb (VFP) MPU,ARM1176JZ(F)-基于ARMv6KZ在ARM1136EJ(F)-S基础上增加了MMU,TrustZone,ARM11MPCor基于ARMv6在ARM1136EJ(F)-S基础上可以包括1-4核SMP MMU
7 ARMv7:Cortex系列,Cortex-A系列面向尖端的基于虚拟内存的操作系统和用户应用,Cortex-R系列面向实时系统,Cortex-M系列面向单片机。
最后我们说一下经典的ARM处理器,ARM7,ARM9,ARM11,Cortex-M3。
ARM7
ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列具有如下特点:
- 具有嵌入式ICE-RT逻辑,调试开发方便。
- 极低的功耗,适合对功耗要求较高的应用,如便携式产品。
- 能够提供0.9MIPS/MHz的三级流水线结构。
- 代码密度高并兼容16位的Thumb指令集。
- 对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。
- 指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。
- 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。
ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。
ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为:
T: 支持16为压缩指令集Thumb;
D: 支持片上Debug;
M:内嵌硬件乘法器(Multiplier)
I: 嵌入式ICE,支持片上断点和调试点;
ARM9
ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:
- 5级整数流水线,指令执行效率更高。
- 提供1.1MIPS/MHz的哈佛结构。
- 支持32位ARM指令集和16位Thumb指令集。
- 支持32位的高速AMBA总线接口。
- 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。
- MPU支持实时操作系统。
- 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。
ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。
ARM11
ARM11 对于各种无线移动应用,毫无节制的提供高性能处理器是无用的。同成本控制类似,功耗的控制也是一个重要因素。ARM11系列处理器展示了在性能上的巨大提升,首先推出350M~500MHz时钟频率的内核,在未来将上升到1GHz时钟频率ARM11处理器在提供高性能的同时,也允许在性能和功耗间做权衡以满足某些特殊应用。通过动态调整时钟频率和供应电压,开发者完全可以控制这两者的平衡。在0.13um工艺,1.2v条件下,ARM11处理器的功耗可以低至0.4mW/MHz。ARM11处理器同时提供了可综合版本和半定制硬核两种实现。可综合版本可以让客户根据自己的半导体工艺开发出各有特色的处理器内核,并保持足够灵活性。ARM实现的硬核则是为了满足那些极高性能和速度要求的应用,同时为客户节省实现的成本和时间。为了让客户更方便地走完实现流程,ARM11处理器采用了易于综合的流水线结构,并和常用的综合工具以及ARM compiler良好结合,确保了客户可以成功并迅速的达到时序收敛。目前已有的ARM11处理器在不包含Cache的情况下面积小于2.7mm2,对于当前复杂的SoC设计来说,如此小的die size对芯片成本的降低是极其重要的。ARM11处理器在很多方面为软件开发者带来便利。一方面,它包含了更多的多媒体处理指令来加速视频和音频处理;另一方面,它的新型存储器系统进一步提高了操作系统的性能;此外,还提供了新指令来加速实时性能和中断的响应。再次,目前有很多应用要求多处理器的配置(多个ARM内核,或ARM+DSP的组合),ARM11处理器从设计伊始就注重更容易地与其他处理器共享数据,以及从非ARM的处理器上移植软件。此外,ARM还开发了基于ARM11系列的多处理器系统——MPCORE(由二个到四个ARM11内核组成)。
Cortex-M3
Cortex-M3应用于单片机领域,具有更快的中断速度,Cortex-M3采用Tail-Chaining中断技术,完全基于硬件进行终端处理,最多可减少12个时钟周期数,在实际应用中可减少70%中断,其特点如下:
-32位ARM®
-Cortex™-M3 v7M架构
-Thumb兼容的Thumb-2-only指令集
-20 MHz下工作
-硬件除法和单周期的乘法器
-集成的嵌套式的中断控制器(NVIC)提供确定性的中断处理
-8级优先级的14个中断通道
-8 kB 的单周期flash存储器,在2 kB块的基础上提供2种形式的flash保护。
-2 kB 的单周期SRAM存储器
-2个定时器
-每个可被配置为一个32位的定时器或两个16位的定时器
-一个支持捕捉和简单的PWM模式
-独立的看门狗定时器
-可编程的接口支持:Freescale SPI总线, National Semiconductor MICROWIRE总线, Texas