当今处理器一共有三个最强大的架构,一个是以intel和AMD为代表的x86架构(CISC),另一个是手机、平板处理器所使用的ARM架构(RISC),最后一个是MIPS架构(RISC)。其中,x86和ARM架构是公认的在商业化进程中表现最为优秀的两大架构。
ARM架构过去称作进阶精简指令机器(Advanced RISC Machine),更早时期被称作Acorn RISC Machine,是一位32位精简指令集(RISC)处理器架构,被广泛地使用在嵌入式系统设计中。
ARM属RISC类,走IP授权商业模式,不直接生产IC,采用Fabless方式运营。在技术上,ARM坚持走与Intel差异化的路线,从而形成了自己庞大的生态系统。说得直白一点,ARM相当于移动领域的x86,全球有超过95%的移动设备采用ARM设计架构的处理器。
虽然ARM被软银收购了,不过这并不妨碍ARM的发展势头。凭借着低功耗、低廉价,ARM迅速在移动端杀出了一条血路,其系列家族占了所有32位嵌入式处理器的75%。今天咱们就来侃一侃伟大的ARM架构:
什么是ARM架构?
有些人将“指令集体系结构”称为架构,这样就有了ARMv8架构、ARMv7-A架构、ARMv6架构等等,这些都是ARM设计的一些RISC指令集。
所谓指令集体系结构,就是ARM公司推出的一整套的精简指令,它是计算机最低层的命令,比如说应用程序需要从内存读取数据,那么最后就是通过调用ARM设计的指令是实现内存读取。
不过,也有人将ARM7、 ARM9、 ARM11以及Cortex等系列内核也称为架构。譬如,现在ARM主流的架构应该就是智能手机领域的Cortex-A系列架构、工业控制嵌入式领域的Cortex-M系列架构、对稳定性要求高的Cortex-R系列架构等。值得一提的是,ARM架构在不断演变的同时,仍保持了各个版本之间的兼容性。
那么,为了清楚地表达每个ARM应用实例所使用的指令集,ARM公司定义了几种主要的ARM指令集结构版本,以版本号V1-V8
表示。V1架构只要原型机ARM1出现过,只有26位寻址空间,没有用于商业产品。
ARM架构及其家族系列
ARMv2架构
该版本架构对V1进行了扩展,例如ARM2和ARM3(V2a)架构。包含了对32位乘法指令和协处理器指令的支持。版本2a是版本2的变种,ARM3芯片采用了版本2a,是第一片采用Cache的ARM处理器。
ARMv3架构ARM作为独立的公司,在1990年设计的第一个微处理器采用的就是版本3的ARM6。它作为IP核、独立的处理器、具有片上高速缓存、MMCU和写缓冲的集成CPU。变种版本有3G和3M。版本3G是不与版本2a相兼容的版本3。版本3M引入了有符号和无符号数乘法和乘加指令。ARMv4架构V4版架构在V3版上作了进一步扩充,V4版架构是目前应用最广的ARM架构,ARM7、ARM8、ARM9和Strong ARM均采用了该架构。V4不再强制要求与26位地址空间兼容,而且还明确了哪些指令会引起未定义指令异常。ARMv5架构V5版架构是在V4版基础上增加了一些新的指令,ARM10和Xscale都采用该版架构。这些新增命令有带有链接和交换的转移BLX指令;计数前导零CLZ指令;BRK中断指令;增加了数字信号处理指令(V5TE版);为协处理器增加更多可选择的指令。ARMv6架构V6版架构于2001年正式发布,首先被应用在ARM11处理器。V6版架构在降低耗电量的同时,还强化了图形处理性能。它还引进了包括单指令多数据(SIMD) 运算在内的一系列新功能。通过追加有效进行多媒体处理的SIMD(Single Instruction,Multiple Data,单指令多数据)功能,将语音及图像的处理功能提高到了原型机的4倍。此外,还引进了作为ARMv6体系结构的变体的Thumb-2和TrustZone技术。ARMv7架构
全新的ARMv7架构是在ARMv6架构的基础上诞生的。ARMv7架构采用了Thumb-2技术,它是在ARM的Thumb代码压缩技术的基础上发展出来的,并且保持了对已存ARM解决方案的完整的代码兼容性。此外,ARMv7还支持改良的运行环境,来迎合不断增加的JIT和DAC技术的使用。ARMv7架构还包括 NEON™ 技术扩展,可将DSP和媒体处理吞吐量提升高达400%,并提供改进的浮点支持以满足下一代3D图形和游戏以及传统嵌入式控制应用的需要。
ARMv8架构
ARMv8是ARM公司的首款支持64位指令集的处理器架构。由于ARM处理器的授权内核被广泛用于手机等诸多电子产品,故
ARMv8架构作为下一代处理器的核心技术而受到普遍关注。ARMv8是在32位ARM架构上进行开发的,主要被用于对扩展虚拟地址和64位数据处理技术有更高要求的产品领域。ARMv8是近20年来,ARM架构变动最大的一次。它引入的Execution State、Exception Level、Security State等新特性,已经和我们对旧的ARM架构的认知。
ARM授权方式
ARM授权方式主要有三种:架构层级授权、内核层级授权、使用层级授权。譬如,苹果A6处理器使用的是ARMv7-A指令集,由于得到了ARM公司架构层级授权所以苹果公司可以对ARM架构进行大幅度改造,甚至可以对ARM指令集进行扩展或缩减,从而出现了苹果公司自己的“Swift架构”。
而ST公司的STM32系列单片机是以ARM Cortex-M3内核为基础然后在加上自己的外设,最后形成了自己的MCU。TI公司并没有权限去对Cortex-M3内核进行改造,所以TI公司获得的应该是内核层级授权。以下是ARM授权使用方:
产品系列
Cortex-A72器
Cortex-A57器
Cortex-A53器
Cortex-A17器
Cortex-A15器
处理
CortexA系列
授权使用方
联发科、海思半导体、瑞芯微、MTK、Qualcomm
、
HiSilicon
、
处理AMD、Broadcom、Calxeda
STMicroelectronics、Samsung
处理
AMD、Broadcom、Samsung 处理
联发科、瑞昱、瑞芯微
处理TexasInstruments、ST-Ericsson、NVIDIA、
SamsungElectronics Broadcom Corporation、Freescale、NEC Electronics、NVIDIA、STMicroelectronics、
Cortex-A9处理器
Texas Instruments、Toshiba、Mindspeed Technologies、ZiiLABS、Open-Silicon、eSilicon Broadcom Corporation、Freescale、Panasonic、
Cortex-A8处理器 Samsung Electronics、STMicroelectronics、Texas
Instruments、PMC-Sierra、ZiiLABS
Broadcom、Freescale、Fujitsu、HiSilicon、LGE、
Cortex-A7处理器
Samsung、STEricsson、Texas Instruments
Cortex-A5处理器 Cambridge Silicon Radio、Open-Silicon、eSilicon
产品系列
Cortex-R系列
授权使用方
Cortex-R7处理器 Broadcom
Cortex-R5处理器 Texas Instruments、Spansion、ScaleoChip
Broadcom Corporation、Texas Instruments、
Cortex-R4处理器
Toshiba、Infineon、Open-Silicon、eSilicon
产品系列
Cortex-M7 处理器
Cortex-M系列
授权使用方
Spansion、Freescale、STMicroelectronics、NXP、Atmel
NXP、STMicroelectronics、Texas Instruments、
Cortex-M4处理器
Freescale、Open-Silicon、eSilicon Accent Srl、Actel Corporation、Broadcom Corporation、Cypress 、Ember、Energy Micro、Fujitsu、NXP、Fuzhou Rockchip Electronics
Cortex-M3处理器
CO. Ltd.、STMicroelectronics、Texas Instruments、Toshiba、Zilog、Open-Silicon、eSilicon
Cortex-M1处理器 Actel Cortex-M0+处理
Freescale、NXP
器
Austriamicrosystems、ChungbukTechnopark、NXP、
Cortex-M0处理器 TriadSemiconductor、Melfas、Open-Silicon、
eSilicon
产品系列
SC000 SC100 SC300
SecurCore处理器
授权使用方
SamsungElectronicsSTMicroelectronics
、
NXP
、
Atmel
、
产品系列
Classic处理器
授权使用方
Accent、BroadcomCorporation、Ceroma、eSiliconCorporation、Freescale、LSILogic、Matsushita、Mindspeed、NECElectronics、Qualcomm、Renesas、STMicroelectronics、TexasInstruments、Toshiba、Comsys、LSILogic、NECElectronics、BroadcomCorporation、InfineonTechnologiesAG、Matsushita、NECElectronics、NXP、Renesas、Sunplus、TexasInstruments、Toshiba、eSilicon、IntelCorporation、NECElectronics、Netronome、NVIDIA、PMCSierra、Renesas、Sarnoff、eSilicon
ARM11系列
ARM9系列
ARM7系列
STMicroelectronics、Atmel、Avago、AnalogDevicesInc、Broadcom、Freescale、NXP、MoschipSemiconductor、Qualcomm、Samsung、Sony、TexasInStruments、Toshiba、Panasonic、eSilicon、Altera、Renesas等
Intel、Infineon、Fujitsu、Atmel、Avago、AnalogDevicesInc、Broadcom、Freescale、NXP、Toshiba、Panasonic、eSilicon、Altera、Panasonic等
基于ARM处理器/微控器的产品主要有:
Fresscale
ARM®处理器/微控制器/控制器 Kinetis微控制器
产品系列
Kinetis K系列、Kinetis E系列、Kinetis EA系列、Kinetis L系列、Kinetis M系列、Kinetis W系列、Kinetis V系列、KinetisMiniMCU
i.MX7系列、i.MX6系列、i.MX53系列、i.MX51系列、i.MX50系列、i.MX35系列、i.MX31系列、i.MX28系列、i.MX27系列、i.MX25系列、i.MX23系列 MAC57Dxxx系列 S32V200系列
VFxxxF系列、VFxxxR系列 LS10系列、 LS2080A
产品系列
RM44L**系列、RM46L**系列、RM48L**系列、TMS570LS**系列
RM57L**系列、TMS570LC**系列 TMS470**系列
MSP432**系列、TM4C12**系列
i.MX应用处理器 32位基于ARM®的MCU S32处理器和微控制器 VFxxx控制器
QorIQ ARM处理器 ARM®处理器
基于ARM-Cortex-R4F处理器 基于ARM-Cortex-R5F处理器 基于ARM-Cortex-M3处理器 基于ARM-Cortex-M4F处理器 ARM®处理器
ARM®Cortex™A57
ARM® Cortex™ A72处理器 ARM® Cortex™ A53 处理器 ARM® Cortex™ A5处理器 ARM®处理器/微控制器/控制器 Cortex-M0+/M0 Cortex-M3 Cortex-M4/M4F Cortex-M0 & M4F
TexasInstruments
Qualcomm
产品系列
骁龙800系列处理器 骁龙600系列处理器 骁龙400系列处理器 骁龙S4Play系列
NXP
产品系列
LPC800系列、LPC1100系列、LPC1200系列 LPC1300系列、LPC1500系列、LPC1700系列、LPC1800系列
LPC408*系列、LPC407*系列 LPC4300系列
Cortex-M0+ & M4F ARM7 ARM9
ARM®微控制器
LPC54100系列 LPC2000系列
LPC2900系列、LPC3000系列
STMicroelectronics
产品系列
STM32F0系列、STM32F1系列、STM32F2系列、
STM32F3系列、STM32F4系列、STM32F7系列、
STM32L0系列、STM32L1系列、STM32L4系列、
STM32T系列、STM32W系列
32位ARM Cortex MCU
Samsung
ARM处理器 ARM7 ARM9 ARM11 微处理器
基于ARM内核的MCU
产品系列 S3C44B0
S3C2410、S3C2416、S3C2440 S3C6410
Toshiba
产品系列
TX00系列、TX03系列、TX04系列、TX09系列
Atmel
ARM®处理器/微控制器 ARMCortex-A5处理器 ARMCortex-M0+处理器 ARMCortex-M0+微控制器 ARMCortex-M7微控制器 ARMCortex-M4微控制器
产品系列 SAMA5系列
SAMC20系列、ATSAMC21系列
SAM D09系列、SAM D21系列、SAM D20系列、SAM D11系列、SAM D10系列、SAM DA1系列
SAM E70系列
SAMG 51系列、SAMG 53系列、SAMG 54系列、SAMG 55系列
ARMCortex-M0+超低功耗微控制
SAML21系列、SAML22系列
器
ARMCortex-M7RISC处理器 SAMS70系列 ARMCortex-M7微控制器 SAMV70系列、SAMV71系列
SAM3N系列、SAM3S 系列、SAM3U系列、
ARMCortex-M3微控制器
SAM3A系列、SAM3X 系列
ARMCortex-M4处理器 SAM4E系列、SAM4N系列、SAM4S系列 ARMCortex-M4 闪存微控制器 SAM 4LS系列、SAM 4LC系列 ARM7闪存微控制器 SAM7S/SE系列、SAM7X/XC系列
ARM9微控制器 ARM9微处理器
SAM9XE系列
SAM9N/CN系列、SAM9R 系列、SAM9X 、SAM9M系列
Spansion
32位ARM内核MCU ARM® Cortex®-M4F ARM® Cortex®-M3 ARM® Cortex®-M0+ ARM® Cortex®-R5 ARM® Cortex®-R4 ARM处理器 ARM内核产品
ARM Cortex-M3处理器 ARM®处理器/微控制器
基于ARM Cortex-A9处理器 ARM微控制器 ARM® Cortex™-M0 ARM® Cortex™-M4
产品系列 FM4系列 FM3系列 FM0+系列 Traveo系列 FCR4系列
AnalogDevicesInc
产品系列 ADuC7***系列 ADUCM***系列
Broadcom
产品系列
StrataGX BCM58525系列
infineon
产品系列 XMC1000系列 XMC4000系列
因篇幅问题不能全部显示,请点此查看更多更全内容