共计 15465 个字符,预计需要花费 39 分钟才能阅读完成。
2011 年,ARM 的客户报告了 79 亿 ARM 处理器出货量,占有 95%的智能手机、90%的硬盘驱动器、40%的数字电视和机上盒、15%的微控制器、和 20%的移动电脑[2]。在 2012 年,微软与 ARM 科技生产了新的 Surface 平板电脑,AMD 宣布它将于 2014 年开始生产基于 ARM 核心的 64 位服务器芯片。[3]
1 特色和应用
2 历史
2.1 Acorn RISC Machine:ARM2
2.2 Apple、DEC、Intel、Marvell:ARM6、StrongARM、XScale
3 内核种类
4 架构
4.1 CPU 模式
4.2 指令集
4.2.1 算术指令
4.2.2 寄存器
4.2.3 有条件运行
4.2.4 其他特色
4.2.5 流水线
4.2.6 协处理器
4.3 调试
4.4 DSP 增强指令
4.5 Thumb
4.6 Jazelle
4.7 Thumb-2
4.8 Thumb Execution Environment(ThumbEE)
4.9 高级 SIMD(NEON)
4.10 VFP
4.11 安全性扩充(TrustZone)
5 ARM 授权方式
6 ARM 内核的授权与应用
7 延伸阅读
8 参考资料
9 外部链接
特色和应用[编辑]
自 2005 年,每年超过一亿的手机销售约 98%至少使用了一个 ARM 处理器。[4]截至 2009 年,占大约 90%的所有嵌入式 32 位 RISC 处理器 [5] 和 ARM 处理器被广泛使用在消费性电子产品,包括个人数字助理(PDA)、平板电脑、移动电话、数字媒体和音乐播放器、手持式游戏游戏机、计算器和计算机外围设备(如硬盘驱动器和路由器)。
历史[编辑]
一颗主要用于路由器的科胜讯公司 ARM 处理器
用于松下多媒体播放机的芯片
ARM 的设计是艾康电脑公司于 1983 年开始的开发项目。
这个团队由 Roger Wilson 和 Steve Furber 带领,着手开发一种类似高级 6502 架构的处理器。Acorn 电脑有一大堆建构在 6502 处理器上的电脑,因此能设计出一颗类似的芯片即意味着对公司有很大的优势。
Acorn RISC Machine:ARM2
团队在 1985 年时开发出样本“ARM1”,而首颗真正能量产的“ARM2”于次年投产。ARM2 具有 32 位的数据总线、26 位的寻址空间,并提供 64 Mbyte 的寻址范围与 16 个 32-bit 的暂存器。暂存器中有一个作为程序计数器,其前面 6 位和后面 2 位用来保存处理器状态标记(Processor Status Flags)。ARM2 可能是全世界最简单实用的 32 位微处理器,仅容纳了 30,000 个晶体管(六年后的摩托罗拉 68000 包含了 70,000 颗)。之所以精简的原因在于它不含微码(这大概占了 68000 的晶体管数约 1 / 4 至 1 /3);而且与当时大多数的处理器相同,它没有包含任何的高速缓存。这个精简的特色使它只需消耗很少的电能,却能发挥比 Intel 80286 更好的性能.[6]。后继的处理器“ARM3”则备有 4KB 的高速缓存,使它能发挥更佳的性能。
Apple、DEC、Intel、Marvell:ARM6、StrongARM、XScale[编辑]
在 1980 年代晚期,苹果电脑开始与艾康电脑合作开发新版的 ARM 核心。由于这项目非常重要,艾康电脑甚至于 1990 年将设计团队另组成一间名为安谋国际科技(Advanced RISC Machines Ltd.)的新公司。也基于这原因,使得 ARM 有时候反而称作 Advanced RISC Machine 而不是 Acorn RISC Machine。由于其母公司 ARM Holdings plc 于 1998 年在伦敦证券交易所和 NASDAQ 挂牌上市[7],使得 Advanced RISC Machines 成了 ARM Ltd 旗下拥有的产品[8]。
这个项目到后来进入了“ARM6”,首版的样品在 1991 年发布,然后苹果电脑使用 ARM6 架构的 ARM 610 来当作他们 Apple Newton 产品的处理器。在 1994 年,艾康电脑使用 ARM 610 做为他们个人电脑产品的处理器。
在这些变革之后,内核部份却大多维持一样的大小——ARM2 有 30,000 颗晶体管,但 ARM6 却也只增长到 35,000 颗。主要概念是以 ODM 的方式,使 ARM 核心能搭配一些选配的零件而制成一颗完整的 CPU,而且可在现有的晶圆厂里制作并以低成本的方式达到很大的性能。
ARM 的经营模式在于出售其 IP 核(IP core),授权厂家依照设计制作出建构于此核的微控制器和中央处理器。最成功的实现案例属 ARM7TDMI,几乎卖出了数亿套内置微控制器的设备。
Digital 曾购买这个架构的产权并研发出“StrongARM”。在 233 MHz 的频率下,这颗 CPU 只消耗 1 瓦特的电能(后来的芯片消耗得更少)。这项设计后来为了和英特尔的控诉和解而技术移转,英特尔因而利用 StrongARM 架构补强他们老旧的 i960 产品。英特尔后来开发出他们自有的高性能架构产品 XScale,之后卖给了迈威尔科技。
支持智能型手机、个人数码助理和其他手持设备最常见的架构是“ARMv4”。XScale 和 ARM926 处理器是“ARMv5TE”,而且比起建构在 ARMv4 的 StrongARM、ARM925T 和 ARM7TDMI 等处理器还更常见于许多高级设备上[来源请求]。
内核种类
架构 | 处理器家族 |
---|---|
ARMv1 | ARM1 |
ARMv2 | ARM2、ARM3 |
ARMv3 | ARM6、ARM7 |
ARMv4 | StrongARM、ARM7TDMI、ARM9TDMI |
ARMv5 | ARM7EJ、ARM9E、ARM10E、XScale |
ARMv6 | ARM11、ARM Cortex-M |
ARMv7 | ARM Cortex-A、ARM Cortex-M、ARM Cortex-R |
ARMv8 | Cortex-A50[9] |
由 ARM 提供了一个厂商汇总,是在其设计中实现 ARM 内核的众多厂商一个总结。[10]
架构
从 1995 年开始,《ARM 体系结构参考手册》是 ARM 文档的主要来源,提供了关于 ARM 处理器架构和指令集,区分接口,所有的 ARM 处理器的支持(如指令语义)的实现细节可能会有所不同。该体系结构随着时间的演变,并与 Cortex 系列的核心开始,存在三个“配置”的定义如下:
- “ 应用 ” 配置: Cortex-A 系列
- “ 嵌入式 ” 配置: Cortex-R 系列
- “ 微处理器 ” 配置: Cortex-M 系列.
每个配置允许有其子集的架构。例如,用于 ARMv6- M 配置(所使用的 Cortex M0 / M0+/ M1)的一个子集 ARMv7- M 架构(支持较少的指令)。
CPU 模式
CPU ARM 架构指定了以下的 CPU 模式。在任何时刻,CPU 可以在只有一种模式,但由于外部事件(中断)或编程方式可以能够切换模式。
- 用户模式
- 仅非特权模式。
- 系统模式
- 仅无需例外进入的特权模式。仅以执行明确写入 CPSR 的模式位的指令进入。
- Supervisor (svc) 模式
- 在 CPU 被重置或者 SWI 指令被执行时进入的特权模式。
- Abort 模式
- 预读取中断或数据中断异常发生时进入的特权模式。
- 未定义模式
- 未定义指令异常发生时进入的特权模式。
- 干预模式
- 处理器接受一条 IRQ 干预时进入的特权模式。
- 快速干预模式
- 处理器接受一条 IRQ 干预时进入的特权模式。
- Hyp 模式
- armv-7a 为 cortex-A15 处理器提供硬件虚拟化引进的管理模式。
指令集
讲求精简又快速的设计方式,整体电路化却又不采用微码,就像早期使用在艾康微电脑的 8 位 6502 处理器。
ARM 架构包含了以下精简指令集处理器的特性:
- 读取/存储架构
- 不支持地址不对齐存储器访问(ARMv6 内核现已支持)
- 正交指令集(任意访问指令可以任意的寻址方式访问数据 Orthogonal instruction set)
- 大量的 16 × 32-bit 寄存器阵列(register file)
- 固定的 32 bits 操作码(opcode)长度,降低编码数量所产生的耗费,减轻解码和流水线化的负担。
- 大多均为一个 CPU 周期运行。
为了补强这种简单的设计方式,相较于同时期的处理器如 Intel 80286 和 Motorola 68020,还多加了一些特殊设计:
- 大部分指令可以条件式地运行,降低在分支时产生的负重,弥补分支预测器(branch predictor)的不足。
- 算数指令只会在要求时更改条件编码(condition code)
- 32-bit 筒型位移器(barrel shifter)可用来运行大部分的算数指令和寻址计算而不会损失性能
- 强大的索引寻址模式(addressing mode)
- 精简但快速的双优先级中断子系统,具有可切换的暂存器组
算术指令
寄存器
寄存器 R0-R7 对于所有 CPU 模式都是相同的,它们不会被分块。
对于所有的特权 CPU 模式,除了系统 CPU 模式之外,R13 和 R14 都是分块的。也就是说,每个因为一个异常(exception)而可以进入模式,有其自己的 R13 和 R14。这些寄存器通常分别包含堆栈指针和函数调用的返回地址。
usr | sys | svc | abt | und | irq | fiq |
---|---|---|---|---|---|---|
R0 | ||||||
R1 | ||||||
R2 | ||||||
R3 | ||||||
R4 | ||||||
R5 | ||||||
R6 | ||||||
R7 | ||||||
R8 | R8_fiq | |||||
R9 | R9_fiq | |||||
R10 | R10_fiq | |||||
R11 | R11_fiq | |||||
R12 | R12_fiq | |||||
R13 | R13_svc | R13_abt | R13_und | R13_irq | R13_fiq | |
R14 | R14_svc | R14_abt | R14_und | R14_irq | R14_fiq | |
R15 | ||||||
CPSR | ||||||
SPSR_svc | SPSR_abt | SPSR_und | SPSR_irq | SPSR_fiq |
同名的名称:
- R13 也被指为 SP(Stack Pointer)
- R14 也被指为 LR(Link Register)
- R15 也被指为 PC(Program Counter)
有条件运行
有个附加在 ARM 设计中好玩的东西,就是使用一个 4 -bit 条件编码 在每个指令前头,表示每支指令的运行是否为有条件式的
这大大的减低了在存储器访问指令时用到的编码位,换句话说,它避免在对小型叙述如 if
做分支指令。有个标准的示例引用欧几里得的最大公因子算法:
在 C 编程语言中,循环为:
{
while(i != j)
if(i > j)
i -= j;
else
j -= i;
return i;
}
在 ARM 汇编语言中,循环为:
;”GT”(大于) if(i > j),
; 或 ”LT”(小于) if(i < j)
SUBGT Ri, Ri, Rj ; 若 ”GT”(大于), i = i-j;
SUBLT Rj, Rj, Ri ; 若 ”LT”(小于), j = j-i;
BNE loop ; 若 ”NE”(不等于),则继续循环
这避开了 then
和else
子句之间的分支。
其他特色
另一项指令集的特色是,能将位移(shift)和回转(rotate)等功能并成 ” 数据处理 ” 型的指令(算数、逻辑、和暂存器之间的搬移),因此举例来说,一个 C 语言的叙述
a += (j << 2);
在 ARM 之下,可简化成只需一个 word 和一个 cycle 即可完成的指令
ADD Ra, Ra, Rj, LSL #2
这结果可让一般的 ARM 程序变得更加紧密,而不需经常使用存储器访问,流水线也可以更有效地使用。即使在 ARM 以一般认定为慢速的速度下运行,与更复杂的 CPU 设计相比它仍能运行得不错。
ARM 处理器还有一些在其他 RISC 的架构所不常见到的特色,例如程序计数器 - 相对寻址(的确在 ARM 上程序计数器为 16 个暂存器的其中一个)以及前递加或后递加的寻址模式。
另外值得注意的是 ARM 处理器会随着时间不断地增加它的指令集。譬如某些早期的 ARM 处理器(比 ARM7TDMI 更早),可能并未具备指令可以读取 2 Bytes 的数量;因此严格来讲,对这些处理器产生代码时,就不可能处理如 C 语言对象中使用“volatile short”的数据型态。
流水线
ARM7 和大多数较早的设计具备三阶段的流水线:提取指令、解码,并运行。较高性能的设计,如 ARM9,则有更深阶段的流水线:Cortex-A8 有 13 阶段的流水线。提高性能的额外方式,包含一颗较快的加法器,和更广的分支预测逻辑线路。例如,在 ARM7DI 核与 ARM7DMI 核之间的差异,是一种改进的乘法器(因此添加的“M”)。
协处理器
这个架构使用“协处理器”提供一种非侵入式的方法来延伸指令集,可通过软件下 MCR、MRC、MRRC 和 MCRR 等指令来对协处理器寻址。协处理器空间逻辑上通常分成 16 个协处理器,编号分别从 0 至 15;而第 15 号协处理器是保留用作某些常用的控制功能,像是使用高速缓存和记忆管理单元运算(若包含于处理器时)。
在 ARM 架构的机器中,周边设备连接处理器的方式,通常通过将设备的实体暂存器对应到 ARM 的存储器空间、协处理器空间,或是连接到另外依序接上处理器的设备(如总线)。协处理器的访问延迟较低,所以有些周边设备(例如 XScale 中断控制器)会设计成可通过不同方式访问(通过存储器和协处理器)。
调试
DSP 增强指令
Thumb
较新的 ARM 处理器有一种 16-bit 指令模式,叫做 Thumb,也许跟每个条件式运行指令均耗用 4 位的情形有关。在 Thumb 模式下,较小的 opcode 有更少的功能性。例如,只有分支可以是条件式的,且许多 opcode 无法访问所有 CPU 的暂存器。然而,较短的 opcode 提供整体更佳的编码密度(注:意指代码在存储器中占的空间),即使有些运算需要更多的指令。特别在存储器端口或总线宽度限制在 32 以下的情形时,更短的 Thumb opcode 能更有效地使用有限的存储器带宽,因而提供比 32 位代码更佳的性能。典型的嵌入式硬件仅具有较小的 32-bit datapath 寻址范围以及其他更窄的 16 bits 寻址(例如 Game Boy Advance)。在这种情形下,通常可行的方案是编译成 Thumb 代码,并自行优化一些使用(非 Thumb)32 位指令集的 CPU 相关程序区,因而能将它们置入受限的 32-bit 总线宽度的存储器中。
首颗具备 Thumb 技术的处理器是 ARM7TDMI。所有 ARM9 和后来的家族,包括 XScale,都纳入了 Thumb 技术。
Jazelle
ARM 还开发出一项技术,Jazelle DBX(Direct Bytecode eXecution),允许它们在某些架构的硬件上加速运行 Java bytecode,就如其他运行模式般,当调用一些无法支持 bytecodes 的特殊软件时,能提供某些 bytecodes 的加速运行。它能在现存的 ARM 与 Thumb 模式之间互相运行。
首颗具备 Jazelle 技术的处理器是“ARM7EJ-S”:Jazelle 以一个英文字母 ’J’ 标示于 CPU 名称中。它用来让手机制造商能够加速运行 Java ME 的游戏和应用程序,也因此促使了这项技术不断地开发。
Thumb-2
Thumb- 2 技术首见于“ARM1156 核心”,并于 2003 年发表。Thumb- 2 扩充了受限的 16 位 Thumb 指令集,以额外的 32 位指令让指令集的使用更广泛。因此 Thumb- 2 的预期目标是要达到近乎 Thumb 的编码密度,但能表现出近乎 ARM 指令集在 32 位存储器下的性能。
Thumb- 2 至今也从 ARM 和 Thumb 指令集中派生出多种指令,包含位栏操作、分支建表和条件运行等功能。
Thumb Execution Environment(ThumbEE)
ThumbEE,也就是所谓的 Thumb-2EE,业界称为 Jazelle RCT 技术,于 2005 年发表,首见于“Cortex-A8”处理器。ThumbEE 提供从 Thumb- 2 而来的一些扩充性,在所处的运行环境下,使得指令集能特别适用于运行阶段的编码产生(例如实时编译)。Thumb-2EE 是专为一些语言如 Limbo、Java、C#、Perl 和 Python,并能让实时编译器能够输出更小的编译码却不会影响到性能。
ThumbEE 所提供的新功能,包括在每次访问指令时自动检查是否有无效指针,以及一种可以运行数组范围检查的指令,并能够分支到分类器,其包含一小部份经常调用的编码,通常用于高级语言功能的实现,例如对一个新对象做存储器配置。
高级 SIMD(NEON)
高级 SIMD 延伸集,业界称为“NEON”技术,它是一个结合 64 位和 128 位的单指令多重数指令集(SIMD),其针对多媒体和信号处理程序具备标准化加速的能力。NEON 可以在 10 MHz 的处理器上运行 MP3 音效解码,且可以运行 13 MHz 以下的自适应多速率音频压缩编码。NEON 具有一组广泛的指令集、各自的寄存器阵列,以及独立运行的硬件。NEON 支持 8、16、32 和 64 位的整数及单精度浮点数据,并以单指令多重数的方式运算,运行图形和游戏处理中关于语音及视频的部分。单指令多重指令集在矢量超级处理机中是个决定性的要素,它具备同时多项处理功能。在 NEON 技术中,SIMD 最高可同时做 16 个运算。
VFP
VFP(矢量浮点)是在协同处理器针对 ARM 架构的派生技术。它提供低成本的单精度和倍精度浮点运算能力,并完全兼容于 ANSI/IEEE Std 754-1985 二进制浮点算数标准。VFP 提供大多数适用于浮点运算的应用,例如 PDA、智慧手机、语音压缩与解压、3D 图像以及数字音效、打印机、机上盒,和汽车应用等。VFP 架构也支持 SIMD 平行化的短矢量指令运行。这在图像和信号处理等应用上,非常有助于降低编码大小并增加输出效率。
在 ARM 为基础的处理器中,其他可见的浮点、或 SIMD 的协同处理器还包括了 FPA、FPE、iwMMXt。他们提供类似 VFP 的功能,但在 opcode 层面上来说并不具有兼容性。
安全性扩充(TrustZone)
TrustZone 技术出现在 ARMv6KZ 以及较晚期的应用核心架构中。它提供了一种低成本的方案,针对系统单片机内加入专属的安全核心,由硬件建构的访问控制方式支持两颗虚拟的处理器。这个方式可使得应用程序核心能够在两个状态(领域)之间切换,在此架构下可以避免信息从较可信的核心领域泄漏至较不安全的领域。这种内核领域之间的切换通常是与处理器其他功能完全无关系性,因此各个领域可以各自独立运作但却仍能使用同一颗内核。存储器和周边设备也可因此得知目前内核运作的领域为何,并能针对这个方式来提供对设备的机密和编码进行访问控制。典型的 TrustZone 技术应用是要能在一个缺乏安全性的环境下完整地运行操作系统,并在可信的环境下能有更少的安全性的编码。T6[11]是国内第一个开源的 TrustZone 安全内核。
ARM 授权方式
ARM 公司本身并不靠自有的设计来制造或出售 CPU,而是将处理器架构授权给有兴趣的厂家。ARM 提供了多样的授权条款,包括售价与散播性等项目。对于授权方来说,ARM 提供了 ARM 内核的集成硬件叙述,包含完整的软件开发工具(编译器、debugger、SDK),以及针对内含 ARM CPU 硅芯片的销售权。对于无晶圆厂的授权方来说,其希望能将 ARM 内核集成到他们自行研发的芯片设计中,通常就仅针对获取一份生产就绪的智财核心技术(IP Core)认证。对这些客户来说,ARM 会发布所选的 ARM 核心的闸极电路图,连同抽象模拟模型和测试程序,以协助设计集成和验证。需求更多的客户,包括集成组件制造商(IDM)和晶圆厂家,就选择可合成的 RTL(寄存器传输级,如 Verilog)形式来获取处理器的智财权(IP)。借着可集成的 RTL,客户就有能力能进行架构上的优化与加强。这个方式能让设计者完成额外的设计目标(如高震荡频率、低能量耗损、指令集延伸等)而不会受限于无法更动的电路图。虽然 ARM 并不授予授权方再次出售 ARM 架构本身,但授权方可以任意地出售制品(如芯片组件、评估板、完整系统等)。商用晶圆厂是特殊例子,因为他们不仅授予能出售包含 ARM 内核的硅晶成品,对其它客户来讲,他们通常也保留重制 ARM 内核的权利。
就像大多数 IP 出售方,ARM 依照使用价值来决定 IP 的售价。在架构上而言,更低性能的 ARM 内核比更高性能的内核拥有较低的授权费。以硅芯片实现而言,一颗可集成的内核要比一颗硬件宏(黑箱)内核要来得贵。更复杂的价位问题来讲,持有 ARM 授权的商用晶圆厂(例如韩国三星和日本富士通)可以提供更低的授权价格给他们的晶圆厂客户。通过晶圆厂自有的设计技术,客户可以更低或是免费的 ARM 预付授权费来获取 ARM 内核。相较于不具备自有设计技术的专门半导体晶圆厂(如台积电和联电),富士通/三星对每片晶圆多收取了两至三倍的费用。对中少量的应用而言,具备设计部门的晶圆厂提供较低的整体价格(通过授权费用的补助)。对于量产而言,由于长期的成本缩减可借由更低的晶圆价格,减少 ARM 的 NRE 成本,使得专门的晶圆厂也成了一个更好的选择。
许多半导体公司持有 ARM 授权:Atmel、Broadcom、Cirrus Logic、Freescale(于 2004 从摩托罗拉公司独立出来)、富士通、英特尔(借由和 Digital 的控诉调停)、IBM、NVIDIA、台湾新唐科技(Nuvoton Technology)、英飞凌、任天堂、恩智浦半导体(于 2006 年从飞利浦独立出来)、OKI 电气工业、三星电子、Sharp、STMicroelectronics、德州仪器和 VLSI 等许多这些公司均拥有各个不同形式的 ARM 授权。虽然 ARM 的授权项目由保密合约所涵盖,在知识产权工业,ARM 是广为人知最昂贵的 CPU 内核之一。单一的客户产品包含一个基本的 ARM 内核可能就需索取一次高达美金 20 万的授权费用。而若是牵涉到大量架构上修改,则费用就可能超过千万美元。
ARM 内核的授权与应用
ARM 内核 | 设备 | 产品 |
---|---|---|
ARM1 | ARM1 | BBC Micro 的 ARM Evaluation System 第二处理器 |
ARM2 | ARM2 | Acorn Archimedes、Chessmachine |
ARM250 | ARM250 | Acorn Archimedes |
ARM3 | ARM3 | Acorn Archimedes |
ARM60 | ARM60 | 3DO Interactive Multiplayer、Zarlink GPS Receiver |
ARM610 | ARM610 | Acorn Risc PC 600、Apple Newton 100 series |
ARM700 | ARM700 | Acorn Risc PC prototype CPU card |
ARM710 | ARM710 | Acorn Risc PC 700 |
ARM710a | ARM7100、ARM 7500 和 ARM7500FE | Acorn Risc PC 700、Apple eMate 300、Psion Series 5(ARM7100)、Acorn A7000(ARM7500)、Acorn A7000+(ARM7500FE)、网络电脑(ARM7500FE) |
ARM7TDMI(-S) | Atmel AT91SAM7、恩智浦半导体 LPC2000 及 LH754xx、Actel CoreMP7 | Game Boy Advance、Nintendo DS、Apple iPod、Lego NXT, Juice Box、Garmin 导航设备(1990s – early 2000s) |
ARM710T | Psion Series 5mx、Psion Revo/Revo Plus/Diamond Mako | |
ARM720T | 恩智浦半导体 LH7952x | Zipit Wireless Messenger |
StrongARM | Digital SA-110, SA-1100, SA-1110 |
|
ARM810 | Acorn Risc PC prototype CPU card | |
ARM920T | Atmel AT91RM9200、AT91SAM9、Cirrus Logic EP9302、EP9307、EP9312、EP9315、Samsung S3C2442 and S3C2410 | Armadillo、GP32、GP2X(first core)、Tapwave Zodiac(Motorola i.MX1)、Hewlett-Packard HP-49/50 Calculators、Sun SPOT、HTC TyTN、FIC Neo FreeRunner[12])、Garmin 导航设备(mid–late 2000s)、TomTom 导航设备[13] |
ARM922T | 恩智浦半导体 LH7A40x | |
ARM940T | GP2X(second core)、Meizu M6 Mini Player[14][15] | |
ARM926EJ-S | 德州仪器 OMAP1710、OMAP1610、OMAP1611、OMAP1612、OMAP-L137、OMAP-L138;Qualcomm MSM6100、MSM6125、MSM6225、MSM6245、MSM6250、MSM6255A、MSM6260、MSM6275、MSM6280、MSM6300、MSM6500、MSM6800;Freescale i.MX21、i.MX27、i.MX28、Atmel AT91SAM9、恩智浦半导体、Samsung S3C2412 LPC30xx, NEC C10046F5-211-PN2-A SoC –未文件化的内核有可能将 ATi Hollywood 绘图芯片用于 Wii,[16] Telechips TCC7801、TCC7901、ZiiLABS ZMS-05、Rockchip RK2806 及 RK2808、NeoMagic MiMagic Family MM6、MM6+、MM8、MTV;全志科技 F -serial(F1E200/F1C100、F20、F13、F10、F18)[17];信骅科技 ASPEED(AST1510、AST2050、AST2150、AST2300/1050、AST2400/1250、AST3100)[18]. | 移动电话:Sony Ericsson(K, W series);Siemens 以及 Benq(x65 系列和更新版本);LG Arena;GPH Wiz;Squeezebox Duet Controller (Samsung S3C2412)。Squeezebox Radio;Buffalo TeraStation Live (NAS);Drobo FS (NAS),Western Digital MyBook I World Edition;Western Digital MyBook II World Edition;Seagate FreeAgent DockStarSTDSD10G-RK;Seagate FreeAgent GoFlex Home;Chumby Classic |
ARM946E-S | Nintendo DS、Nokia N-Gage、Canon PowerShot A470、Canon EOS 5D Mark II,[19] Conexant 802.11 chips、Samsung S5L2010 | |
ARM966E-S | 意法半导体 STR91xF[20] | |
ARM968E-S | 恩智浦半导体 LPC29xx | |
ARM1026EJ-S | Conexant so4610 以及 so4615 ADSL SoC | |
XScale | Intel 80200、80219、PXA210、PXA250、PXA255、PXA263、PXA26x、PXA27x、PXA3xx、PXA900、IXC1100、IXP42x |
|
ARM1136J(F)-S | 德州仪器 OMAP2420, Qualcomm MSM7200, MSM7201A, MSM7227, Freescale i.MX31 以及 MXC300-30 |
|
ARM1176JZ(F)-S | Conexant CX2427X、Nvidia GoForce 6100;[24];Telechips TCC9101、TCC9201、TCC8900;Fujitsu MB86H60;Samsung S3C6410、S3C6430、[25];Qualcomm MSM7627;Infineon X-GOLD 213;MediaTekMT6573;信骅科技 ASPEED(AST1520、AST2500、AST3200) | Apple iPhone (original and 3G)、Apple iPod touch (1st and 2nd Generation)、Motorola RIZR Z8、Motorola RIZR Z10、Nintendo 3DS
|
ARM11 MPCore | Nvidia APX 2500(Tegra) | |
Cortex-A8 | 德州仪器 OMAP3xxx 系列、飞思卡尔 i.MX51-SOC、Apple A4、ZiiLABS ZMS-08、三星 HummingbirdS5PC100/S5PC110、Marvell ARMADA 500/600、Rockchip RK2918[26]、全志科技 A -serial(A10/A13/A10s)[27]. | HTC Desire、SBM7000、俄勒冈州立大学 OSWALD、Gumstix Overo Earth、Pandora、Apple iPhone 3GS、Apple iPod touch (3rd and 4th Generation)、iPad(A4)、iPhone 4(A4)、Apple TV (Second Generation)(A4)、Archos 5、Archos 43、BeagleBoard、Genesi EFIKA MX、Motorola Droid、Motorola Droid X、摩托罗拉里程碑 2、Motorola Droid R2D2 Edition、Palm Pre、Palm Pre 2、HP Veer、HP Pre 3、Samsung Omnia HD、Samsung Wave S8500、Samsung Galaxy S、Samsung P1000 Galaxy Tab、Sony Ericsson Satio、Sony Ericsson Xperia X10、Touch Book、Nokia N900、魅族 M9、Google Nexus S、Galaxy SL、HTC Sensation、Sharp PC-Z1 “Netwalker”. |
Cortex-A9 | 德州仪器 OMAP4430/4440、ST-Ericsson U8500/U5500、Nvidia Tegra2、Nvidia Tegra3、三星 Orion/Exynos 4210/4212/4412、意法半导体 SPEAr1310、Xilinx Extensible Processing Platform[28]、Trident PNX847x/8x/9x STB SoC[29]、Freescale i.MX6[30]、Apple A5、MediaTekMT6575/6577、VIA Elite-E1000[31] | Apple iPad 2(A5)、LG Optimus 2X、LG Optimus 3D、Motorola Atrix 4G、Motorola DROID BIONIC、Motorola Xoom、PandaBoard、PS VITA(NGP)、HP TouchPad、Galaxy S2(GT-i9100)、Galaxy R(GT-i9103)、Galaxy S3(GT-i9300,E210)、Galaxy Tab 10.1、Galaxy Tab 2、Galaxy Note(N7000)、Galaxy Note 2、Galaxy Note 10.1、Galaxy Ace 2、HTC One X、魅族 MX、魅族 MX2、联想 K860、PlayStation Vita、Sony Xperia U、Sony Xperia sola、Sony Xperia P、Sony Xperia go |
Cortex-A7 | MediaTek MT6589、Allwinner A31 | a820、onda v812 |
Cortex-A15 | 德州仪器 OMAP5、三星 Exynos 5250/5450、ST Ericsson[32]、Nvidia | Chromebook、Nexus 10 |
Cortex-R4(F) | 博通,德州仪器 TMS570 | |
Cortex-M0 | 恩智浦半导体 LPC11xx,[33] Triad Semiconductor,[34]Melfas,[35]Chungbuk Technopark,[36]新唐科技 (Nuvoton)NuMicro Family,[37]austriamicrosystems,[38] 罗姆电子[39] | |
Cortex-M1 | Actel ProASIC3、ProASIC3L、IGLOO 及 Fusion PSC devices、Altera Cyclone III,其他 FPGA 产品也支持,例如:Synplicity[40] | |
Cortex-M3 | 德州仪器 Stellaris,意法半导体 STM32,恩智浦半导体 LPC17xx、Toshiba TMPM330,[41] EmberEM3xx、Atmel AT91SAM3、Europe Technologies EasyBCU、Energy Micro EFM32、ActelSmartFusion、mbed microcontroller | |
Cortex-M4 | 飞思卡尔 Kinetis,恩智浦半导体 LPC43xx,意法半导体 | |
ARM 内核 | 设备 | 产品 |
延伸阅读
- 新唐(Nuvoton)ARM® Cortex™-M0 微控制器 IC NuMicro™ Family – High Density with more functionality
- Inferno
- DirectBand
- AMULET – 异步 ARM 家族
- Philips LPC2000 ARM7TDMI-S Microcontrollers
- Texas Instruments OMAP – 一颗加上 DSP 的 ARM 核心以及应用软件加速内核