ARM架构
此条目可参照英语维基百科相应条目来扩充。 (2022年8月8日) |
ARM架构,过去称作高级精简指令集机器(英语:Advanced RISC Machine,更早称作艾康精简指令集机器,Acorn RISC Machine),是一个精简指令集(RISC)处理器架构家族,其广泛地使用在许多嵌入式系统设计。由于节能的特点,其在其他领域上也有很多作为。ARM处理器非常适用于移动通信领域,符合其主要设计目标为低成本、高性能、低耗电的特性。另一方面,超级计算机消耗大量电能,ARM同样被视作更高效的选择[3]。安谋控股(ARM Holdings)开发此架构并授权其他公司使用,以供他们实现ARM的某一个架构,开发自主的系统单片机和系统模块(system-on-module,SoC)。
推出年份 | 1985年 |
---|---|
设计公司 | ARM Holdings |
是否开放架构? | 专有 |
体系结构类型 | 寄存器-寄存器 |
字长/寄存器资料宽度 | 32位或64位 |
指令集架构设计策略 | RISC |
分支预测结构 | 条件代码、比较和分支 |
推出年份 | 2011年 |
---|---|
最新架构版本 | ARMv9.0-A、ARMv9.1-A、ARMv9.2-A、ARMv9.3-A、ARMv9.4-A |
字节序 | 可配置大小端序(默认小端序) |
指令编码长度 | AArch64/A64、AArch32/A32:32位 T32(Thumb-2):16或32位 兼容ARMv7用户空间[1] |
扩展指令集 | Thumb-2、NEON、Jazelle、VFPv4-D16、VFPv4 |
通用寄存器 | 31个64位整数寄存器[1] |
浮点寄存器 | 32个128位寄存器[1],用于32位和64位标量浮点数或SIMD浮点数或整数;或密码数值 |
最新架构版本 | ARMv8-R、ARMv8-M、ARMv7-A、ARMv7-R、ARMv7E-M、ARMv7-M、ARMv6-M |
---|---|
字节序 | 可配置大小端序(默认小端序) 但Cortex-M不能在指令运行时调整 |
指令编码长度 | 32位 Thumb-2:16或32位 |
扩展指令集 | Thumb-2、NEON、Jazelle、DSP、Saturated、FPv4-SP、FPv5 |
通用寄存器 | 15个32位整数寄存器 R15是程序计数器(在较老的架构设计中为26位寻址) R14作为链接寄存器(link register) |
浮点寄存器 | 最多32个64位寄存器[2],SIMD/标准浮点数(可选项) |
最新架构版本 | ARMv6、ARMv5、ARMv4T、ARMv3、ARMv2 |
---|---|
字节序 | ARMv3开始为可配置大小端序(默认小端序) |
指令编码长度 | 32位 Thumb:16或32位 |
扩展指令集 | Thumb、Jazelle |
通用寄存器 | 15个32位整数寄存器 R15是程序计数器(在较老的架构设计中为26位寻址) R14作为链接寄存器(link register) |
ARM架构版本从ARMv3到ARMv7支持32位空间和32位算数运算,大部分架构的指令为定长32位(Thumb)指令集支持变长的指令集,提供对32位和16位指令集的支持),而2011年发布的ARMv8-A架构添加了对64位空间和64位算术运算的支持,同时也更新了32位定长指令集[4]。
至2009年为止,ARM架构处理器占市面上所有32位嵌入式RISC处理器90%的比例[5],使它成为占全世界最多数的32位架构。ARM处理器可以在很多消费性电子产品上看到,从便携式装置(PDA、行动电话、多媒体播放器、掌上型电子游戏和电脑)到电脑外设(硬盘、桌面型路由器),甚至在导弹的弹载电脑等军用设施中都有它的存在。在此还有一些基于ARM设计的衍伸产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。
2011年,ARM的客户报告79亿ARM处理器出货量,占有95%的智能电话、90%的硬盘驱动器、40%的数码电视和机上盒、15%的微控制器、和20%的移动电脑[6]。在2012年,微软与ARM科技生产新的Surface平板电脑,AMD宣布它将于2014年开始生产基于ARM核心的64位伺服器晶片,[7]2016年,日本富士通公司宣布“京”超级计算机的后继机种将采用ARM架构[3],该超级计算机于2019年5月定名为“富岳”[8],2020年6月于TOP500夺冠[9][10][11]。
特色和应用
自2005年,每年超过一亿的手机销售约98%使用了ARM处理器[13]。截至2009年,占大约90%的嵌入式32位RISC处理器[14]和ARM处理器被广泛使用在消费性电子产品,包括个人数码助理(PDA)、平板电脑、行动电话、数码媒体和音乐播放器、手持式游戏游戏机、计算器和电脑外围装置(如硬盘驱动器和路由器)。
除了消费电子,ARM架构处理器也开始用于以往x86、x64处理器独大的个人电脑、伺服器。而在2020年成为TOP500排名第一的“富岳”为首部夺冠的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位用来保存处理器状态标记。ARM2可能是全世界最简单实用的32位微处理器,仅容纳了30,000个晶体管(六年后的摩托罗拉68000包含了70,000颗)。之所以精简的原因在于它不含微码(这大概占了68000的晶体管数约1/4至1/3);而且与当时大多数的处理器相同,它没有包含任何的高速缓存。这个精简的特色使它只需消耗很少的电能,却能发挥比Intel 80286更好的性能[15]。后继的处理器“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挂牌上市[16],使得Advanced RISC Machines成了ARM Ltd旗下拥有的产品[17]。
这个项目到后来进入“ARM6”,首版的样品在1991年发布,然后苹果电脑使用ARM6架构的ARM 610来当作他们Apple Newton产品的处理器。在1994年,艾康电脑使用ARM 610做为他们个人电脑产品的处理器。
在这些变革之后,内核部分却大多维持一样的大小——ARM2有30,000颗晶体管,但ARM6却也只增长到35,000颗。主要概念是以ODM的方式,使ARM核心能搭配一些选配的零件而制成一颗完整的CPU,而且可在现有的晶圆厂里制作并以低成本的方式达到很大的性能。
ARM的经营模式在于出售其IP核,授权厂家依照设计制作出建构于此核的微控制器和中央处理器。最成功的实现案例属ARM7TDMI,几乎卖出了数亿套内建微控制器的装置。
Digital曾购买这个架构的产权并研发出“StrongARM”。在233 MHz的频率下,这颗CPU只消耗1瓦特的电能(后来的晶片消耗得更少)。这项设计后来为了和英特尔的控诉和解而技术移转,英特尔因而利用StrongARM架构补强他们老旧的i960产品。英特尔后来开发出他们自有的高性能架构产品XScale,之后卖给了迈威尔科技。
2020年11月11日,苹果公司发布基于ARM晶片(Apple M1)的苹果台式电脑和手提电脑,2021年4月21日,苹果公司发布基于M1 CPU的24 吋Mac和新iPad Pro
内核种类
指令集架构 | 处理器家族 |
---|---|
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-A35、Cortex-A50系列[18]、Cortex-A70系列、Cortex-X1 |
ARMv9 | Cortex-A510、Cortex-A710、Cortex-A715、Cortex-X2、Cortex-X3、ARM Neoverse N2 |
由ARM提供了一个厂商汇总,是在其设计中实现ARM内核的众多厂商一个总结[19]。
架构
从1995年开始,《ARM体系结构参考手册》是ARM文档的主要来源,提供了关于ARM处理器架构和指令集,区分接口,所有的ARM处理器的支持(如指令语义)的实现细节可能会有所不同。该体系结构随着时间的演变,并与Cortex系列的核心开始,存在三个“配置”的定义如下:
- "应用"配置: Cortex-A 系列
- "嵌入式"配置: Cortex-R 系列
- "微处理器"配置: ARM 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内核现已支持)
- 大量的16 × 32-bit寄存器堆
- 固定的32 bits操作码(opcode)长度,降低编码数量所产生的耗费,减轻解码和流水线的负担。
- 大多均为一个CPU周期执行。
为了补强这种简单的设计方式,相较于同时期的处理器如Intel 80286和Motorola 68020,还多加了一些特殊设计:
- 大部分指令可以条件式地执行,降低在分支时产生的负重,弥补早期晶片分支预测器的不足。
- 算数指令只会在要求时更改条件编码(condition code)
- 32-bit筒型位移器可用来执行大部分的算数指令和寻址计算而不会损失性能
- 强大的索引寻址模式
- 支持快速叶端函数调用的链寄存器
- 精简但快速的双优先级中断子系统,具有可切换的寄存器组
寄存器
寄存器 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语言中,循环为:
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),
;或"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[20]是中国第一个开源的TrustZone安全内核(该项目目前已经在公开领域消失)。OP-TEE(Open Portable Trusted Executive Environment)成为目前(2017/7)较为成功的可信执行环境(TEE)开源项目。
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授权:Atmel、Broadcom、Cirrus Logic、Freescale(于2004从摩托罗拉公司独立出来)、富士通、英特尔(借由和Digital的控诉调停)、IBM、NVIDIA、台湾新唐科技(Nuvoton Technology)、英飞凌、任天堂、恩智浦半导体(于2006年从飞利浦独立出来)、冲电气、三星电子、苹果、夏普、意法半导体、德州仪器和VLSI等许多这些公司均拥有各个不同形式的ARM授权。虽然ARM的授权项目由保密合约所涵盖,在知识产权工业,ARM是广为人知最昂贵的CPU内核之一。单一的客户产品包含一个基本的ARM内核可能就需索取一次高达美金20万的授权费用。而若是牵涉到大量架构上修改,则费用就可能超过千万美元。
ARM核心时间线
下表列出每个核心发布年份[21][22]。未包括ARM7之前的核心。
年份 | 经典核心 | Cortex核心 | |||||||
---|---|---|---|---|---|---|---|---|---|
ARM7 | ARM8 | ARM9 | ARM10 | ARM11 | 微控制器 | 实时 | 应用 (32位) |
应用 (64位) | |
1993 | ARM700 | ||||||||
1994 | ARM710 ARM7DI ARM7TDMI |
||||||||
1995 | ARM710a | ||||||||
1996 | ARM810 | ||||||||
1997 | ARM710T ARM720T ARM740T |
||||||||
1998 | ARM9TDMI ARM940T |
||||||||
1999 | ARM9E-S ARM966E-S |
||||||||
2000 | ARM920T ARM922T ARM946E-S |
ARM1020T | |||||||
2001 | ARM7TDMI-S ARM7EJ-S |
ARM9EJ-S ARM926EJ-S |
ARM1020E ARM1022E |
||||||
2002 | ARM1026EJ-S | ARM1136J(F)-S | |||||||
2003 | ARM968E-S | ARM1156T2(F)-S ARM1176JZ(F)-S |
|||||||
2004 | Cortex-M3 | ||||||||
2005 | ARM11MPCore | Cortex-A8 | |||||||
2006 | ARM996HS | ||||||||
2007 | Cortex-M1 | Cortex-A9 | |||||||
2008 | |||||||||
2009 | Cortex-M0 | Cortex-A5 | |||||||
2010 | Cortex-M4(F) | Cortex-A15 | |||||||
2011 | Cortex-R4 Cortex-R5 Cortex-R7 |
Cortex-A7 | |||||||
2012 | Cortex-M0+ | Cortex-A53 Cortex-A57 | |||||||
2013 | Cortex-A12 | ||||||||
2014 | Cortex-M7(F) | Cortex-A17 | |||||||
2015 | Cortex-A35 Cortex-A72 | ||||||||
2016 | Cortex-M23 Cortex-M33(F) |
Cortex-R8 Cortex-R52 |
Cortex-A32 | Cortex-A73 | |||||
2017 | Cortex-A55 Cortex-A75 | ||||||||
2018 | Cortex-M35P | Cortex-A76 | |||||||
2019 | Cortex-A77 | ||||||||
2020 | Cortex-A78 | ||||||||
2021 | Cortex-X2 | ||||||||
2022 | Cortex-X3 | ||||||||
2023 | Cortex-X4 |
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 |
ARM7TDMI(-S) | Atmel AT91SAM7、恩智浦半导体LPC2000及LH754xx、Actel CoreMP7 | Game Boy Advance、Nintendo DS、Apple iPod、Lego NXT, Juice Box、Garmin导航装置(1990s – early 2000s) |
ARM710a | ARM7100、ARM 7500和ARM7500FE | Acorn Risc PC 700、Apple eMate 300、Psion Series 5(ARM7100)、Acorn A7000(ARM7500)、Acorn A7000+(ARM7500FE)、Acorn Network Computer(ARM7500FE) |
StrongARM | Digital SA-110, SA-1100, SA-1110 | SA-110: Apple Newton 2x00 series、Acorn Risc PC、Rebel/Corel Netwinder、Chalice CATS,SA-1100: Psion netBook,SA-1110: LART、Intel Assabet、Ipaq H36x0、Balloon2、Zaurus SL-5x00、HP Jornada 7xx、Jornada 560 series、Palm Zire 31 |
ARM810 | Acorn Risc PC prototype CPU card | |
ARM710T | Psion Series 5mx、Psion Revo/Revo Plus/Diamond Mako | |
ARM720T | 恩智浦半导体LH7952x | Zipit Wireless Messenger |
ARM940T | GP2X(second core)、Meizu M6 Mini Player[23][24] | |
ARM966E-S | 意法半导体STR91xF[25] | |
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[26])、Garmin导航装置(mid–late 2000s)、TomTom导航装置[27] |
ARM922T | 恩智浦半导体LH7A40x | |
ARM926EJ-S | 新唐科技(Nuvoton)NuMicro Family,[28]德州仪器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,[29]Telechips TCC7801、TCC7901、ZiiLABS ZMS-05、Rockchip RK2806及RK2808、NeoMagic MiMagic Family MM6、MM6+、MM8、MTV;全志科技F-serial(F1E200/F1C100、F20、F13、F10、F18)[30];信骅科技ASPEED(页面存档备份,存于互联网档案馆) (AST1510、AST2050、AST2150、AST2300/1050、AST2400/1250、AST3100)[31]. | 行动电话: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 DockStar STDSD10G-RK;Seagate FreeAgent GoFlex Home;Chumby Classic |
ARM946E-S | Nintendo DS、Nokia N-Gage、Canon PowerShot A470、Canon EOS 5D Mark II,[32]Conexant 802.11 chips、Samsung S5L2010 | |
XScale | Intel 80200、80219、PXA210、PXA250、PXA255、PXA263、PXA26x、PXA27x、PXA3xx、PXA900、IXC1100、IXP42x | 80219: Thecus N2100,OP321: Iyonix,PXA210/PXA250: Zaurus SL-5600、iPAQ H3900、Sony CLIÉ NX60、NX70V、NZ90,PXA255: Gumstix basix & connex、Palm Tungsten E2、Zaurus SL-C860、Mentor Ranger & Stryder、iRex ILiad,PXA263: Sony CLIÉ NX73V, NX80V,PXA26x: Tungsten T3,PXA27x: Gumstix verdex、"Trizeps-Modules"(页面存档备份,存于互联网档案馆)、"eSOM270-Module"(页面存档备份,存于互联网档案馆),PXA270 COM、HTC Universal、HP hx4700、Zaurus SL-C1000、3000、3100、3200、Dell Axim x30、x50、and x51 series、Motorola Q、Balloon3、Trolltech Greenphone、Palm TX、Motorola Ezx Platform A728、A780、A910、A1200、E680、E680i、E680g、E690、E895、Rokr E2、Rokr E6、Fujitsu Siemens LOOX N560、Toshiba Portégé G500、Trēo 650-755p、Zipit Z2、HP iPaq 614c Business Navigator、I-mate PDA2,PXA3XX: Samsung Omnia、Samsung SGH-i780,PXA900: Blackberry 8700、Blackberry Pearl(8100),IXP42x: NSLU2 |
ARM1026EJ-S | Conexant so4610以及so4615 ADSL SoC | |
ARM1136J(F)-S | 德州仪器OMAP2420, Qualcomm MSM7200, MSM7201A, MSM7227, Freescale i.MX31以及MXC300-30 | OMAP2420: Nokia E90、Nokia N93、Nokia N95、Nokia N82、Zune、BUGbase,[33]Nokia N800、Nokia N810,Motorola Q9 Freescale i.MX31: original Zune 30 GB, Toshiba Gigabeat S and Kindle DX ,Freescale MXC300-30 :Nokia E63、Nokia E71、Nokia 5800、Nokia E51、Nokia 6700 Classic、Nokia 6120 Classic、Nokia 6210 Navigator、Nokia 6220 Classic、Nokia 6290、Nokia 6710 Navigator、Nokia 6720 Classic、Nokia E75、Nokia N97、Nokia N81 Qualcomm MSM7200: Eten Glofiish、HTC TyTN II、HTC Nike,Qualcomm MSM7201A: HTC Dream、HTC Magic、Motorola i1、Motorola Z6、HTC Hero、Samsung SGH-i627 (Propel Pro)、Sony Ericsson Xperia X10 Mini Pro,Qualcomm MSM7227: ZTE Link, HTC Legend、HTC Aria、Viewsonic ViewPad 7[34][35] |
ARM968E-S | 恩智浦半导体LPC29xx | |
ARM1176JZ(F)-S | Conexant CX2427X、Nvidia GoForce 6100;[36];Telechips TCC9101、TCC9201、TCC8900;Fujitsu MB86H60;Samsung S3C6410、S3C6430、[37];Qualcomm MSM7627;Infineon X-GOLD 213;MediaTek MT6573;信骅科技ASPEED(页面存档备份,存于互联网档案馆)(AST1520、AST2500、AST3200);Broadcom BCM2835、BCM21553 | Apple iPhone (original and 3G)、Apple iPod touch (1st and 2nd Generation)、Motorola RIZR Z8、Motorola RIZR Z10、Nintendo 3DS S3C6410: Samsung Omnia II、Samsung Moment、Samsung M910 Intercept、SmartQ 5, Qualcomm MSM7627: Palm Pixi、LG Optimus V(VM670)Motorola Calgary/Devour MediaTek MT6573: Lenovo-A60 BCM2835: Raspberry Pi |
ARM11 MPCore | Nvidia APX 2500(Tegra) |
延伸阅读
- AMULET - 异步ARM家族
- Arm v7 架构的路由器列表
- Arm v8 架构的路由器列表
参考资料
- ^ 1.0 1.1 1.2 Grisenthwaite, Richard. ARMv8-A Technology Preview (PDF). 2011 [2011-10-31]. (原始内容存档 (PDF)于2018-11-09).
- ^ Procedure Call Standard for the ARM Architecture (PDF). ARM Holdings. 2013-11-30 [2013-05-27]. (原始内容存档 (PDF)于2013-04-28).
- ^ 3.0 3.1 Fujitsu drops SPARC, turns to ARM for Post-K supercomputer. [2016-07-04]. (原始内容存档于2016-06-25).
- ^ ARM Discloses Technical Details Of The Next Version Of The ARM Architecture (新闻稿). ARM Holdings. 2011-10-27 [2013-09-20]. (原始内容存档于2019-01-01).
- ^ 5.0 5.1 Fitzpatrick, J. An interview with Steve Furber. Communications of the ACM. 2011, 54 (5): 34 [2012-06-02]. doi:10.1145/1941487.1941501. (原始内容存档于2011-07-27).
- ^ ARM Holdings eager for PC and server expansion, 2011-02-01 [2012-11-23], (原始内容存档于2012-11-16)
- ^ AMD in chip tie-up with UK's ARM, BBC, 2012-10-30 [2012-11-08], (原始内容存档于2012-11-16)
- ^ 「富岳」ニュース -2.名称決定-. 理化学研究所 计算科学研究センター. [2020-10-28]. (原始内容存档于2021-01-20).
- ^ 日本のスパコン「富岳」、8年半ぶり世界一奪還. 日本経済新闻. 2020-06-23 [2020-10-28]. (原始内容存档于2021-02-21).
- ^ 日本のスパコン「富岳」世界ランキング1位、世界初の2期連続4冠. QEEE. INTLOOP株式会社. 2020-11-17 [2020-12-20]. (原始内容存档于2021-07-25).
- ^ 株式会社インプレス. 富岳は、主要なスパコンベンチのすべてで1位を獲得することが重要. PC Watch. 2020-11-17 [2020-12-20]. (原始内容存档于2021-07-25).
- ^ ソフトバンク、ARM買収を正式発表, 2016-07-18 [2016-07-19], (原始内容存档于2016-07-19)
- ^ "ARMed for the living room" (页面存档备份,存于互联网档案馆).
- ^ Jason Fitzpatrick. An interview with Steve Furber. Communications of the ACM. 2011-05-01, 54 (5): 34–39 [2018-04-02]. ISSN 0001-0782. doi:10.1145/1941487.1941501.
- ^ Patterson, Jason. The Acorn Archimedes" (页面存档备份,存于互联网档案馆), The History Of Computers During My Lifetime – The 1980s by (accessed 12 March 2008)]
- ^ 存档副本 (PDF). [2006-09-20]. (原始内容 (PDF)存档于2006-10-04).
- ^ "ARM Corporate Backgrounder" (页面存档备份,存于互联网档案馆), ARM Technology.
- ^ ARM Launches Cortex-A50 Series, the World’s Most Energy-Efficient 64-bit Processors (新闻稿). ARM Holdings. [2012-10-31]. (原始内容存档于2013-01-09).
- ^ Line Card (PDF). 2003 [2012-10-01]. (原始内容 (PDF)存档于2017-10-20).
- ^ T6: TrustZone Based Trusted Kernel, trustkernel, 2014-07-08 [2014-07-08], (原始内容存档于2022-04-18)
- ^ ARM Company Milestones.. [2018-11-30]. (原始内容存档于2014-03-28).
- ^ ARM Press Releases.. [2018-11-30]. (原始内容存档于2014-04-09).
- ^ Rockbox Samsung SA58xxx series. [2008-02-22]. (原始内容存档于2008-07-20).
- ^ Rockbox Meizu M6 Port – Hardware Information. [2008-02-22]. (原始内容存档于2008-05-12).
- ^ STR9 – STR912 – STR912FW44 microcontroller – documents and files download page. Mcu.st.com. [2009-04-18]. (原始内容存档于2012-05-24).
- ^ Neo1973: GTA01Bv4 versus GTA02 comparison. [2007-11-15]. (原始内容存档于2015-11-20).
- ^ S3C2410. [2010-01-13]. (原始内容存档于2012-03-13).
- ^ 28.0 28.1 28.2 ARM Cortex™-M0 NuMicro™ Family. Nuvoton. 2013-04-25 [2013-04-25]. (原始内容存档于2014-09-05).
- ^ Starlet (页面存档备份,存于互联网档案馆).
- ^ AllWinner Technology(全志科技). [2014-09-30]. (原始内容存档于2014-10-06).
- ^ ASPEED Technology(信驊科技). [2014-09-30]. (原始内容存档于2014-10-06).
- ^ Datasheets - Magic Lantern Firmware Wiki. Magiclantern.wikia.com. 2010-12-28 [2011-01-06]. (原始内容存档于2011-07-18).
- ^ Bug Labs, [2011-05-16], (原始内容存档于2011-05-19).
- ^ Qualcomm chips kernel ARM—from phones to laptops. xi0.info. [2010-05-08]. (原始内容存档于2012-03-13).
- ^ Qualcomm MSM7227 RISC Chipset. PDADB. [2010-05-08]. (原始内容存档于2012-03-13).
- ^ GoForce 6100. Nvidia. [2009-04-18]. (原始内容存档于2015-11-20).
- ^ Samsung S3C6410 and S3C6430 Series ARM Proccessors. Samsung. [2009-10-08]. (原始内容存档于2009-09-01).
- ^ Press release, Toshiba, 2008 [2011-05-16], (原始内容存档于2011-06-14).
- ^ (英文) RK2918 specs (页面存档备份,存于互联网档案馆)
- ^ http://www.allwinnertech.com/product[永久失效链接]
- ^ ARM Extends Cortex Family with First Processor Optimized for FPGA, ARM, [2011-05-16], (原始内容存档于2007-05-05).
- ^ Xilinx WP369 Extensible Processing Platform Ideal Solution for a Wide Range of Embedded Systems, White Paper (PDF). [2011-01-06]. (原始内容 (PDF)存档于2011-09-02).
- ^ NXP Semiconductors and ARM Showcase NXP 847x/8x/9x, the World’s First Fully Integrated 45 nm Set-Top Box(STB)SoC Platform at CES 2010. Embeddedsystemnews.com. 2010-01-06 [2011-01-06]. (原始内容存档于2010-12-19).
- ^ Freescale announces i.MX 6 processor series, wants quad cores in your smartphone. Engadget. 2010-12-29 [2011-01-06]. (原始内容存档于2011-01-06).
- ^ VAB-1000 1.0GHz VIA Elite E1000 Cortex-A9 dual-core SoC (PDF).[永久失效链接]
- ^ Walko, John. NXP first to demo ARM Cortex-M0 silicon. EE Times. 2009-03-23 [2009-06-29]. (原始内容存档于2012-03-13).
- ^ ARM Powered VCAs. Triad Semiconductor. [2011-01-06]. (原始内容存档于2011-07-16).
- ^ Richard Wilson. Cortex-M0 used in low power touch controller. Electronics Weekly. 2009-06-10 [2011-01-06]. (原始内容存档于2011-08-16).
- ^ Chungbuk Technopark Chooses ARM Cortex-M0 Processor. Design Reuse. [2011-01-06]. (原始内容存档于2010-10-07).
- ^ Austriamicrosystems Chooses ARM Cortex-M0 Processor for Mixed Signal Applications. EDA Café. [2011-01-06]. (原始内容存档于2011-07-22).
- ^ Rohm Licenses ARM Cortex-M0 Processor. ARM. 2010-05-13 [2011-01-06]. (原始内容存档于2010-11-16).
- ^ Why Cortex-A15 makes for Smarter, Lightning-Quick Mobile Devices in the Future—ARM Community. Blogs. ARM. [2011-01-06]. (原始内容存档于2010-12-06).
- ^ Love to Get Your Hands on a Raspberry Pi 2? Hat Tip to Broadcom. Broadcom. 2015-02-02 [2015-07-22]. (原始内容存档于2015-07-23).
- ^ Compact3128 Card size board. Boardcon Embedded Design. [2018-04-09]. (原始内容存档于2018-04-11).
- ^ Upton, Eben. Raspberry Pi 3 on sale now at $35 - Raspberry Pi. Raspberry Pi. 2016-02-29 [2016-02-29]. (原始内容存档于2016-02-29) (英国英语).
- ^ EM3288 SBC. Boardcon Embedded Design. [2018-04-09]. (原始内容存档于2017-10-14).
- ^ Frumusanu, Andrei. Qualcomm Announces Snapdragon 845 Mobile Platform. Anandtech. 2017-12-06 [2017-12-07]. (原始内容存档于2018-06-12).
外部链接
- ARM Information Center(页面存档备份,存于互联网档案馆)
- (英文)ARM Ltd.(页面存档备份,存于互联网档案馆)
- (英文)ARM Assembler Programming; tutorial, resources, and examples(页面存档备份,存于互联网档案馆)
- (英文)TrustZone(TM)Technology(页面存档备份,存于互联网档案馆)
- (英文)T6: TrustZone Based Trusted Kernel (页面存档备份,存于互联网档案馆)
- (英文)ARM Microcontroller Development Resources(页面存档备份,存于互联网档案馆) - header files, schematics, CAD files, etc.
- (中文)什么是ARM?
- (繁体中文)无所不在的MCU,ARM行不行?(页面存档备份,存于互联网档案馆)