Arm CPU


ARM CPU 架构(Architecture)过去称作高级精简指令集机器(英语:Advanced RISC Machine,更早称作艾康精简指令集机器,Acorn RISC Machine),是一个精简指令集(RISC)处理器架构家族,其广泛地使用在许多嵌入式系统设计。由于节能的特点,其在其他领域上也有很多作为。ARM处理器非常适用于移动通信领域,符合其主要设计目标为低成本、高性能、低耗电的特性。另一方面,超级计算机消耗大量电能,ARM同样被视作更高效的选择。安谋控股(ARM Holdings)开发此架构并授权其他公司使用,以供其实现ARM的某一个架构,开发自主的系统单片机和系统模块(system-on-module,SoC)。其源于艾康电脑公司于1983年开始的开发项目,由Roger Wilson和Steve Furber带领团队在1985年时开发出样本“ARM1”,而首颗真正能量产的“ARM2”于次年投产。

艾康电脑甚至于1990年将设计团队另组成一间名为安谋国际科技(Advanced RISC Machines Ltd.)的新公司。也基于这原因,使得ARM有时候反而称作Advanced RISC Machine而不是Acorn RISC Machine。由于其母公司ARM Holdings plc于1998年在伦敦证券交易所和NASDAQ挂牌上市,使得Advanced RISC Machines成了ARM Ltd旗下拥有的产品。“Acorn”实际上就是公司Logo上那个“橡子”的意思,寓意自家微处理器业务像种子般“落地生根发芽”。

ARM架构版本从ARMv3到ARMv7支持32位空间和32位算数运算,大部分架构的指令为定长32位(Thumb)指令集支持变长的指令集,提供对32位和16位指令集的支持),而2011年发布的ARMv8-A架构添加了对64位空间和64位算术运算的支持,同时也更新了32位定长指令集。
至2009年为止,ARM架构处理器占市面上所有32位嵌入式RISC处理器90%的比例,使它成为占全世界最多数的32位架构。ARM处理器可以在很多消费性电子产品上看到,从便携式设备(PDA、移动电话、多媒体播放器、掌上型电子游戏和计算机)到电脑外设(硬盘、桌面型路由器),甚至在导弹的弹载计算机等军用设施中都有它的存在。在此还有一些基于ARM设计的衍伸产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。
2011年,ARM的客户报告79亿ARM处理器出货量,占有95%的智能手机、90%的硬盘驱动器、40%的数字电视和机上盒、15%的微控制器、和20%的移动电脑。在2012年,微软与ARM科技生产新的Surface平板电脑,AMD宣布它将于2014年开始生产基于ARM核心的64位服务器芯片,2016年,日本富士通公司宣布“京”超级计算机的后继机种将采用ARM架构,该超级计算机于2019年5月定名为“富岳”,2020年6月于TOP500夺冠。
2016年7月18日,日本软银集团斥资3.3兆日元(约合311亿美元)收购了安谋控股。
字节序为可配置大小端序(默认小端序);指令为AArch64/A64、AArch32/A32:32位。ARM2具有32位的数据总线、26位的寻址空间,并提供64 Mbyte的寻址范围与16个32-bit的寄存器。寄存器中有一个作为程序计数器,其前面6位和后面2位用来保存处理器状态标记。ARM2可能是全世界最简单实用的32位微处理器,仅容纳了30,000个晶体管(六年后的摩托罗拉68000包含了70,000颗)。之所以精简的原因在于它不含微码(这大概占了68000的晶体管数约1/4至1/3);而且与当时大多数的处理器相同,它没有包含任何的高速缓存。这个精简的特色使它只需消耗很少的电能,却能发挥比Intel 80286更好的性能。后继的处理器“ARM3”则备有4KB的高速缓存,使它能发挥更佳的性能。项目到后来进入“ARM6”,首版的样品在1991年发布,然后苹果电脑使用ARM6架构的ARM 610来当作Apple Newton产品的处理器。在1994年,艾康电脑使用ARM 610做为其个人电脑产品的处理器。

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。
由ARM提供了一个厂商汇总,是在其设计中实现ARM内核的众多厂商一个总结:
架构
从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处理器提供硬件虚拟化引进的管理模式。
指令集讲求精简又快速的设计方式,整体电路化却又不采用微码。
ARM架构包含了以下精简指令集处理器的特性:
加载-存储架构
不支持地址不对齐存储器访问(ARMv6内核现已支持)
大量的16 × 32-bit寄存器堆
固定的32 bits操作码(opcode)长度,降低编码数量所产生的耗费,减轻解码和流水线的负担。
大多均为一个CPU周期执行。
为了补强这种简单的设计方式,相较于同时期的处理器如Intel 80286和Motorola 68020,还多加了一些特殊设计:
大部分指令可以条件式地执行,降低在分支时产生的负重,弥补早期芯片分支预测器的不足。
算数指令只会在要求时更改条件编码(condition code)
32-bit筒型位移器可用来执行大部分的算数指令和寻址计算而不会损失性能
强大的索引寻址模式
支持快速叶端函数调用的链寄存器
精简但快速的双优先级中断子系统,具有可切换的寄存器组。
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的顶级优势,在授权许可费用不高的情况下,帮助客户节省了大量时间成本和资金成本,此外还能帮助客户定制解决方案。
ARM的发展过程充满传奇,更多转折与坎坷可从《“英国苹果”到RISC芯片王者——ARM的前世今生之完整追溯》了解更多。

艾康电脑甚至于1990年将设计团队另组成一间名为安谋国际科技(Advanced RISC Machines Ltd.)的新公司。也基于这原因,使得ARM有时候反而称作Advanced RISC Machine而不是Acorn RISC Machine。由于其母公司ARM Holdings plc于1998年在伦敦证券交易所和NASDAQ挂牌上市,使得Advanced RISC Machines成了ARM Ltd旗下拥有的产品。“Acorn”实际上就是公司Logo上那个“橡子”的意思,寓意自家微处理器业务像种子般“落地生根发芽”。

ARM架构版本从ARMv3到ARMv7支持32位空间和32位算数运算,大部分架构的指令为定长32位(Thumb)指令集支持变长的指令集,提供对32位和16位指令集的支持),而2011年发布的ARMv8-A架构添加了对64位空间和64位算术运算的支持,同时也更新了32位定长指令集。
至2009年为止,ARM架构处理器占市面上所有32位嵌入式RISC处理器90%的比例,使它成为占全世界最多数的32位架构。ARM处理器可以在很多消费性电子产品上看到,从便携式设备(PDA、移动电话、多媒体播放器、掌上型电子游戏和计算机)到电脑外设(硬盘、桌面型路由器),甚至在导弹的弹载计算机等军用设施中都有它的存在。在此还有一些基于ARM设计的衍伸产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。
2011年,ARM的客户报告79亿ARM处理器出货量,占有95%的智能手机、90%的硬盘驱动器、40%的数字电视和机上盒、15%的微控制器、和20%的移动电脑。在2012年,微软与ARM科技生产新的Surface平板电脑,AMD宣布它将于2014年开始生产基于ARM核心的64位服务器芯片,2016年,日本富士通公司宣布“京”超级计算机的后继机种将采用ARM架构,该超级计算机于2019年5月定名为“富岳”,2020年6月于TOP500夺冠。
2016年7月18日,日本软银集团斥资3.3兆日元(约合311亿美元)收购了安谋控股。
字节序为可配置大小端序(默认小端序);指令为AArch64/A64、AArch32/A32:32位。ARM2具有32位的数据总线、26位的寻址空间,并提供64 Mbyte的寻址范围与16个32-bit的寄存器。寄存器中有一个作为程序计数器,其前面6位和后面2位用来保存处理器状态标记。ARM2可能是全世界最简单实用的32位微处理器,仅容纳了30,000个晶体管(六年后的摩托罗拉68000包含了70,000颗)。之所以精简的原因在于它不含微码(这大概占了68000的晶体管数约1/4至1/3);而且与当时大多数的处理器相同,它没有包含任何的高速缓存。这个精简的特色使它只需消耗很少的电能,却能发挥比Intel 80286更好的性能。后继的处理器“ARM3”则备有4KB的高速缓存,使它能发挥更佳的性能。项目到后来进入“ARM6”,首版的样品在1991年发布,然后苹果电脑使用ARM6架构的ARM 610来当作Apple Newton产品的处理器。在1994年,艾康电脑使用ARM 610做为其个人电脑产品的处理器。

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。
由ARM提供了一个厂商汇总,是在其设计中实现ARM内核的众多厂商一个总结:
指令集架构 | 处理器家族 |
---|---|
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系列、Cortex-A70系列、Cortex-X1 |
ARMv9 | Cortex-A510、Cortex-A710、Cortex-A715、Cortex-X2、Cortex-X3、ARM Neoverse N2 |
架构
从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处理器提供硬件虚拟化引进的管理模式。
指令集讲求精简又快速的设计方式,整体电路化却又不采用微码。
ARM架构包含了以下精简指令集处理器的特性:
加载-存储架构
不支持地址不对齐存储器访问(ARMv6内核现已支持)
大量的16 × 32-bit寄存器堆
固定的32 bits操作码(opcode)长度,降低编码数量所产生的耗费,减轻解码和流水线的负担。
大多均为一个CPU周期执行。
为了补强这种简单的设计方式,相较于同时期的处理器如Intel 80286和Motorola 68020,还多加了一些特殊设计:
大部分指令可以条件式地执行,降低在分支时产生的负重,弥补早期芯片分支预测器的不足。
算数指令只会在要求时更改条件编码(condition code)
32-bit筒型位移器可用来执行大部分的算数指令和寻址计算而不会损失性能
强大的索引寻址模式
支持快速叶端函数调用的链寄存器
精简但快速的双优先级中断子系统,具有可切换的寄存器组。
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的顶级优势,在授权许可费用不高的情况下,帮助客户节省了大量时间成本和资金成本,此外还能帮助客户定制解决方案。
ARM的发展过程充满传奇,更多转折与坎坷可从《“英国苹果”到RISC芯片王者——ARM的前世今生之完整追溯》了解更多。