當今處理器一共有三個最強大的架構(gòu),一個是以intel和AMD為代表的x86架構(gòu)(CISC),另一個是手機、平板處理器所使用的ARM架構(gòu)(RISC),最后一個是MIPS架構(gòu)(RISC)。其中,x86和ARM架構(gòu)是公認的在商業(yè)化進程中表現(xiàn)最為優(yōu)秀的兩大架構(gòu)。 ARM架構(gòu)過去稱作進階精簡指令機器(Advanced RISC Machine),更早時期被稱作Acorn RISC Machine,是一位32位精簡指令集(RISC)處理器架構(gòu),被廣泛地使用在嵌入式系統(tǒng)設(shè)計中。 ARM屬RISC類,走IP授權(quán)商業(yè)模式,不直接生產(chǎn)IC,采用Fabless方式運營。在技術(shù)上,ARM堅持走與Intel差異化的路線,從而形成了自己龐大的生態(tài)系統(tǒng)。說得直白一點,ARM相當于移動領(lǐng)域的x86,全球有超過95%的移動設(shè)備采用ARM設(shè)計架構(gòu)的處理器。 雖然ARM被軟銀收購了,不過這并不妨礙ARM的發(fā)展勢頭。憑借著低功耗、低廉價,ARM迅速在移動端殺出了一條血路,其系列家族占了所有32位嵌入式處理器的75%。今天咱們就來侃一侃偉大的ARM架構(gòu): 
什么是ARM架構(gòu)? 有些人將“指令集體系結(jié)構(gòu)”稱為架構(gòu),這樣就有了ARMv8架構(gòu)、ARMv7-A架構(gòu)、ARMv6架構(gòu)等等,這些都是ARM設(shè)計的一些RISC指令集。 所謂指令集體系結(jié)構(gòu),就是ARM公司推出的一整套的精簡指令,它是計算機最低層的命令,比如說應用程序需要從內(nèi)存讀取數(shù)據(jù),那么最后就是通過調(diào)用ARM設(shè)計的指令是實現(xiàn)內(nèi)存讀取。 不過,也有人將ARM7、 ARM9、 ARM11以及Cortex等系列內(nèi)核也稱為架構(gòu)。譬如,現(xiàn)在ARM主流的架構(gòu)應該就是智能手機領(lǐng)域的Cortex-A系列架構(gòu)、工業(yè)控制嵌入式領(lǐng)域的Cortex-M系列架構(gòu)、對穩(wěn)定性要求高的Cortex-R系列架構(gòu)等。值得一提的是,ARM架構(gòu)在不斷演變的同時,仍保持了各個版本之間的兼容性。 那么,為了清楚地表達每個ARM應用實例所使用的指令集,ARM公司定義了幾種主要的ARM指令集結(jié)構(gòu)版本,以版本號V1-V8表示。V1架構(gòu)只要原型機ARM1出現(xiàn)過,只有26位尋址空間,沒有用于商業(yè)產(chǎn)品。 
ARM架構(gòu)及其家族系列 
該版本架構(gòu)對V1進行了擴展,例如ARM2和ARM3(V2a)架構(gòu)。包含了對32位乘法指令和協(xié)處理器指令的支持。版本2a是版本2的變種,ARM3芯片采用了版本2a,是第一片采用Cache的ARM處理器。 ARM作為獨立的公司,在1990年設(shè)計的第一個微處理器采用的就是版本3的ARM6。它作為IP核、獨立的處理器、具有片上高速緩存、MMCU和寫緩沖的集成CPU。變種版本有3G和3M。版本3G是不與版本2a相兼容的版本3。版本3M引入了有符號和無符號數(shù)乘法和乘加指令。V4版架構(gòu)在V3版上作了進一步擴充,V4版架構(gòu)是目前應用最廣的ARM架構(gòu),ARM7、ARM8、ARM9和Strong ARM均采用了該架構(gòu)。V4不再強制要求與26位地址空間兼容,而且還明確了哪些指令會引起未定義指令異常。V5版架構(gòu)是在V4版基礎(chǔ)上增加了一些新的指令,ARM10和Xscale都采用該版架構(gòu)。這些新增命令有帶有鏈接和交換的轉(zhuǎn)移BLX指令;計數(shù)前導零CLZ指令;BRK中斷指令;增加了數(shù)字信號處理指令(V5TE版);為協(xié)處理器增加更多可選擇的指令。V6版架構(gòu)于2001年正式發(fā)布,首先被應用在ARM11處理器。V6版架構(gòu)在降低耗電量的同時,還強化了圖形處理性能。它還引進了包括單指令多數(shù)據(jù)(SIMD) 運算在內(nèi)的一系列新功能。通過追加有效進行多媒體處理的SIMD(Single Instruction,Multiple Data,單指令多數(shù)據(jù))功能,將語音及圖像的處理功能提高到了原型機的4倍。此外,還引進了作為ARMv6體系結(jié)構(gòu)的變體的Thumb-2和TrustZone技術(shù)。全新的ARMv7架構(gòu)是在ARMv6架構(gòu)的基礎(chǔ)上誕生的。ARMv7架構(gòu)采用了Thumb-2技術(shù),它是在ARM的Thumb代碼壓縮技術(shù)的基礎(chǔ)上發(fā)展出來的,并且保持了對已存ARM解決方案的完整的代碼兼容性。此外,ARMv7還支持改良的運行環(huán)境,來迎合不斷增加的JIT和DAC技術(shù)的使用。ARMv7架構(gòu)還包括 NEON? 技術(shù)擴展,可將DSP和媒體處理吞吐量提升高達400%,并提供改進的浮點支持以滿足下一代3D圖形和游戲以及傳統(tǒng)嵌入式控制應用的需要。 ARMv8是ARM公司的首款支持64位指令集的處理器架構(gòu)。由于ARM處理器的授權(quán)內(nèi)核被廣泛用于手機等諸多電子產(chǎn)品,故ARMv8架構(gòu)作為下一代處理器的核心技術(shù)而受到普遍關(guān)注。ARMv8是在32位ARM架構(gòu)上進行開發(fā)的,主要被用于對擴展虛擬地址和64位數(shù)據(jù)處理技術(shù)有更高要求的產(chǎn)品領(lǐng)域。ARMv8是近20年來,ARM架構(gòu)變動最大的一次。它引入的Execution State、Exception Level、Security State等新特性,已經(jīng)和我們對舊的ARM架構(gòu)的認知。 ARM授權(quán)方式 ARM授權(quán)方式主要有三種:架構(gòu)層級授權(quán)、內(nèi)核層級授權(quán)、使用層級授權(quán)。譬如,蘋果A6處理器使用的是ARMv7-A指令集,由于得到了ARM公司架構(gòu)層級授權(quán)所以蘋果公司可以對ARM架構(gòu)進行大幅度改造,甚至可以對ARM指令集進行擴展或縮減,從而出現(xiàn)了蘋果公司自己的“Swift架構(gòu)”。 而ST公司的STM32系列單片機是以ARM Cortex-M3內(nèi)核為基礎(chǔ)然后在加上自己的外設(shè),最后形成了自己的MCU。TI公司并沒有權(quán)限去對Cortex-M3內(nèi)核進行改造,所以TI公司獲得的應該是內(nèi)核層級授權(quán)。以下是ARM授權(quán)使用方: CortexA系列 | 產(chǎn)品系列 | 授權(quán)使用方 | Cortex-A72處理器 | 聯(lián)發(fā)科、海思半導體、瑞芯微、MTK、Qualcomm | Cortex-A57處理器 | AMD、Broadcom、Calxeda、HiSilicon、STMicroelectronics、Samsung | Cortex-A53處理器 | AMD、Broadcom、Samsung | Cortex-A17處理器 | 聯(lián)發(fā)科、瑞昱、瑞芯微 | Cortex-A15處理器 | TexasInstruments、ST-Ericsson、NVIDIA、SamsungElectronics | Cortex-A9處理器 | Broadcom Corporation、Freescale、NEC Electronics、NVIDIA、STMicroelectronics、Texas Instruments、Toshiba、Mindspeed Technologies、ZiiLABS、Open-Silicon、eSilicon | Cortex-A8處理器 | Broadcom Corporation、Freescale、Panasonic、Samsung Electronics、STMicroelectronics、Texas Instruments、PMC-Sierra、ZiiLABS | Cortex-A7處理器 | Broadcom、Freescale、Fujitsu、HiSilicon、LGE、Samsung、STEricsson、Texas Instruments | Cortex-A5處理器 | Cambridge Silicon Radio、Open-Silicon、eSilicon | Cortex-R系列 | 產(chǎn)品系列 | 授權(quán)使用方 | Cortex-R7處理器 | Broadcom | Cortex-R5處理器 | Texas Instruments、Spansion、ScaleoChip | Cortex-R4處理器 | Broadcom Corporation、Texas Instruments、Toshiba、Infineon、Open-Silicon、eSilicon | Cortex-M系列 | 產(chǎn)品系列 | 授權(quán)使用方 | Cortex-M7 處理器 | Spansion、Freescale、STMicroelectronics、NXP、Atmel | Cortex-M4處理器 | NXP、STMicroelectronics、Texas Instruments、Freescale、Open-Silicon、eSilicon | Cortex-M3處理器 | Accent Srl、Actel Corporation、Broadcom Corporation、Cypress 、Ember、Energy Micro、Fujitsu、NXP、Fuzhou Rockchip Electronics CO. Ltd.、STMicroelectronics、Texas Instruments、Toshiba、Zilog、Open-Silicon、eSilicon | Cortex-M1處理器 | Actel | Cortex-M0+處理器 | Freescale、NXP | Cortex-M0處理器 | Austriamicrosystems、ChungbukTechnopark、NXP、TriadSemiconductor、Melfas、Open-Silicon、eSilicon | SecurCore處理器 | 產(chǎn)品系列 | 授權(quán)使用方 | SC000 | SamsungElectronics、NXP、Atmel、STMicroelectronics | SC100 | SC300 | Classic處理器 | 產(chǎn)品系列 | 授權(quán)使用方 | ARM11系列 | 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 | ARM9系列 | STMicroelectronics、Atmel、Avago、AnalogDevicesInc、Broadcom、Freescale、NXP、MoschipSemiconductor、Qualcomm、Samsung、Sony、TexasInStruments、Toshiba、Panasonic、eSilicon、Altera、Renesas等 | ARM7系列 | Intel、Infineon、Fujitsu、Atmel、Avago、AnalogDevicesInc、Broadcom、Freescale、NXP、Toshiba、Panasonic、eSilicon、Altera、Panasonic等 |
基于ARM處理器/微控器的產(chǎn)品主要有: Fresscale | ARM?處理器/微控制器/控制器 | 產(chǎn)品系列 | Kinetis微控制器 | Kinetis K系列、Kinetis E系列、Kinetis EA系列、Kinetis L系列、Kinetis M系列、Kinetis W系列、Kinetis V系列、KinetisMiniMCU | i.MX應用處理器 | i.MX7系列、i.MX6系列、i.MX53系列、i.MX51系列、i.MX50系列、i.MX35系列、i.MX31系列、i.MX28系列、i.MX27系列、i.MX25系列、i.MX23系列 | 32位基于ARM?的MCU | MAC57Dxxx系列 | S32處理器和微控制器 | S32V200系列 | VFxxx控制器 | VFxxxF系列、VFxxxR系列 | QorIQ ARM處理器 | LS10系列、 LS2080A | TexasInstruments | ARM?處理器 | 產(chǎn)品系列 | 基于ARM-Cortex-R4F處理器 | RM44L**系列、RM46L**系列、RM48L**系列、TMS570LS**系列 | 基于ARM-Cortex-R5F處理器 | RM57L**系列、TMS570LC**系列 | 基于ARM-Cortex-M3處理器 | TMS470**系列 | 基于ARM-Cortex-M4F處理器 | MSP432**系列、TM4C12**系列 | Qualcomm | ARM?處理器 | 產(chǎn)品系列 | ARM?Cortex?A57 | 驍龍800系列處理器 | ARM? Cortex? A72處理器 | 驍龍600系列處理器 | ARM? Cortex? A53 處理器 | 驍龍400系列處理器 | ARM? Cortex? A5處理器 | 驍龍S4Play系列 | NXP | ARM?處理器/微控制器/控制器 | 產(chǎn)品系列 | Cortex-M0+/M0 | LPC800系列、LPC1100系列、LPC1200系列 | Cortex-M3 | LPC1300系列、LPC1500系列、LPC1700系列、LPC1800系列 | Cortex-M4/M4F | LPC408*系列、LPC407*系列 | Cortex-M0 & M4F | LPC4300系列 | Cortex-M0+ & M4F | LPC54100系列 | ARM7 | LPC2000系列 | ARM9 | LPC2900系列、LPC3000系列 | STMicroelectronics | ARM?微控制器 | 產(chǎn)品系列 | 32位ARM Cortex MCU | STM32F0系列、STM32F1系列、STM32F2系列、 STM32F3系列、STM32F4系列、STM32F7系列、 STM32L0系列、STM32L1系列、STM32L4系列、 STM32T系列、STM32W系列 | Samsung | ARM處理器 | 產(chǎn)品系列 | ARM7 | S3C44B0 | ARM9 | S3C2410、S3C2416、S3C2440 | ARM11 | S3C6410 | Toshiba | 微處理器 | 產(chǎn)品系列 | 基于ARM內(nèi)核的MCU | TX00系列、TX03系列、TX04系列、TX09系列 | Atmel | ARM?處理器/微控制器 | 產(chǎn)品系列 | ARMCortex-A5處理器 | SAMA5系列 | ARMCortex-M0+處理器 | SAMC20系列、ATSAMC21系列 | ARMCortex-M0+微控制器 | SAM D09系列、SAM D21系列、SAM D20系列、SAM D11系列、SAM D10系列、SAM DA1系列 | ARMCortex-M7微控制器 | SAM E70系列 | ARMCortex-M4微控制器 | SAMG 51系列、SAMG 53系列、SAMG 54系列、SAMG 55系列 | ARMCortex-M0+超低功耗微控制器 | SAML21系列、SAML22系列 | ARMCortex-M7RISC處理器 | SAMS70系列 | ARMCortex-M7微控制器 | SAMV70系列、SAMV71系列 | ARMCortex-M3微控制器 | SAM3N系列、SAM3S 系列、SAM3U系列、 SAM3A系列、SAM3X 系列 | ARMCortex-M4處理器 | SAM4E系列、SAM4N系列、SAM4S系列 | ARMCortex-M4 閃存微控制器 | SAM 4LS系列、SAM 4LC系列 | ARM7閃存微控制器 | SAM7S/SE系列、SAM7X/XC系列 | ARM9微控制器 | SAM9XE系列 | ARM9微處理器 | SAM9N/CN系列、SAM9R 系列、SAM9X 、SAM9M系列 | Spansion | 32位ARM內(nèi)核MCU | 產(chǎn)品系列 | ARM? Cortex?-M4F | FM4系列 | ARM? Cortex?-M3 | FM3系列 | ARM? Cortex?-M0+ | FM0+系列 | ARM? Cortex?-R5 | Traveo系列 | ARM? Cortex?-R4 | FCR4系列 | AnalogDevicesInc | ARM處理器 | 產(chǎn)品系列 | ARM內(nèi)核產(chǎn)品 | ADuC7***系列 | ARM Cortex-M3處理器 | ADUCM***系列 | Broadcom | ARM?處理器/微控制器 | 產(chǎn)品系列 | 基于ARM Cortex-A9處理器 | StrataGX BCM58525系列 | infineon | ARM微控制器 | 產(chǎn)品系列 | ARM? Cortex?-M0 | XMC1000系列 | ARM? Cortex?-M4 | XMC4000系列 |
|