深入了解ARM版本系列及家族成員梳理大全(超詳細(xì))
ARM公司簡介

ARM是Advanced RISC Machines的縮寫,它是一家微處理器行業(yè)的知名企業(yè),該企業(yè)設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC (精簡指令集)處理器。 1985年第一個(gè)ARM原型在英國劍橋誕生。
公司的特點(diǎn)是只設(shè)計(jì)芯片,而不生產(chǎn)。它提供ARM技術(shù)知識(shí)產(chǎn)權(quán)(IP)核,將技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟件和OEM廠商,并提供服務(wù)。有ARM7/ARM9等多個(gè)版本。除了一些Unix圖形工作站外,大多數(shù)ARM核心的處理器都使用在嵌入領(lǐng)域。
ARM,既可以認(rèn)為是一個(gè)公司的名字,也可以認(rèn)為是對一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。

ARM版本Ⅰ: V1版架構(gòu)
該版架構(gòu)只在原型機(jī)ARM1出現(xiàn)過,只有26位的尋址空間,沒有用于商業(yè)產(chǎn)品。
其基本性能有:
基本的數(shù)據(jù)處理指令(無乘法);
基于字節(jié)、半字和字的Load/Store指令;
轉(zhuǎn)移指令,包括子程序調(diào)用及鏈接指令;
供操作系統(tǒng)使用的軟件中斷指令SWI;
尋址空間:64MB(226)。
ARM版本Ⅱ: V2版架構(gòu)
該版架構(gòu)對V1版進(jìn)行了擴(kuò)展,例如ARM2和ARM3(V2a)架構(gòu)。包含了對32位乘法指令和協(xié)處理器指令的支持。 版本2a是版本2的變種,ARM3芯片采用了版本2a,是第一片采用片上Cache的ARM處理器。同樣為26位尋址空間,現(xiàn)在已經(jīng)廢棄不再使用。
V2版架構(gòu)與版本V1相比,增加了以下功能:
乘法和乘加指令;
支持協(xié)處理器操作指令;
快速中斷模式;
SWP/SWPB的最基本存儲(chǔ)器與寄存器交換指令;
尋址空間:64MB。
ARM版本Ⅲ : V3版架構(gòu)
ARM作為獨(dú)立的公司,在1990年設(shè)計(jì)的第一個(gè)微處理器采用的是版本3的ARM6。它作為IP核、獨(dú)立的處理器、具有片上高速緩存、MMU和寫緩沖的集成CPU。 變種版本有3G和3M。版本3G是不與版本2a向前兼容的版本3,版本3M引入了有符號(hào)和無符號(hào)數(shù)乘法和乘加指令,這些指令產(chǎn)生全部64位結(jié)果。 V3版架構(gòu)( 目前已廢棄 )對ARM體系結(jié)構(gòu)作了較大的改動(dòng):
尋址空間增至32位(4GB);
當(dāng)前程序狀態(tài)信息從原來的R15寄存器移到當(dāng)前程序狀態(tài)寄存器CPSR中(Current Program Status Register);
增加了程序狀態(tài)保存寄存器SPSR(Saved Program Status Register);
增加了兩種異常模式,使操作系統(tǒng)代碼可方便地使用數(shù)據(jù)訪問中止異常、指令預(yù)- - 取中止異常和未定義指令異常。;
增加了MRS/MSR指令,以訪問新增的CPSR/SPSR寄存器;
增加了從異常處理返回的指令功能。
【文章福利】小編推薦自己的Linux內(nèi)核技術(shù)交流群:【891587639】整理了一些個(gè)人覺得比較好的學(xué)習(xí)書籍、視頻資料共享在群文件里面,有需要的可以自行添加哦!??!前100名進(jìn)群領(lǐng)取,額外贈(zèng)送一份價(jià)值699的內(nèi)核資料包(含視頻教程、電子書、實(shí)戰(zhàn)項(xiàng)目及代碼)?
?

ARM版本Ⅳ : V4版架構(gòu)
V4版架構(gòu)在V3版上作了進(jìn)一步擴(kuò)充,V4版架構(gòu)是目前應(yīng)用最廣的ARM體系結(jié)構(gòu),ARM7、ARM8、ARM9和StrongARM都采用該架構(gòu)。 V4不再強(qiáng)制要求與26位地址空間兼容,而且還明確了哪些指令會(huì)引起未定義指令異常。
指令集中增加了以下功能:
符號(hào)化和非符號(hào)化半字及符號(hào)化字節(jié)的存/取指令;
增加了T變種,處理器可工作在Thumb狀態(tài),增加了16位Thumb指令集;
完善了軟件中斷SWI指令的功能;
處理器系統(tǒng)模式引進(jìn)特權(quán)方式時(shí)使用用戶寄存器操作;
把一些未使用的指令空間捕獲為未定義指令
ARM版本Ⅴ : V5版架構(gòu)
V5版架構(gòu)是在V4版基礎(chǔ)上增加了一些新的指令,ARM10和Xscale都采用該版架構(gòu)。
這些新增命令有:
帶有鏈接和交換的轉(zhuǎn)移BLX指令;
計(jì)數(shù)前導(dǎo)零CLZ指令; BRK中斷指令;
增加了數(shù)字信號(hào)處理指令(V5TE版);
為協(xié)處理器增加更多可選擇的指令;
改進(jìn)了ARM/Thumb狀態(tài)之間的切換效率;
E—增強(qiáng)型DSP指令集,包括全部算法操作和16位乘法操作;
J----支持新的JAVA,提供字節(jié)代碼執(zhí)行的硬件和優(yōu)化軟件加速功能。
ARM版本Ⅵ : V6版架構(gòu)
V6版架構(gòu)是2001年發(fā)布的,首先在2002年春季發(fā)布的ARM11處理器中使用。在降低耗電量地同時(shí),還強(qiáng)化了圖形處理性能。通過追加有效進(jìn)行多媒體處理的SIMD(Single Instruction, Multiple Data,單指令多數(shù)據(jù) )功能,將語音及圖像的處理功能提高到了原型機(jī)的4倍。
此架構(gòu)在V5版基礎(chǔ)上增加了以下功能:
THUMBTM:35%代碼壓縮;
DSP擴(kuò)充:高性能定點(diǎn)DSP功能;
JazelleTM:Java性能優(yōu)化,可提高8倍;
Media擴(kuò)充:音/視頻性能優(yōu)化,可提高4倍
ARM版本ⅤⅡ: V7版架構(gòu)
V7架構(gòu)是在ARMv6架構(gòu)的基礎(chǔ)上誕生的。該架構(gòu)采用了Thumb-2技術(shù),它是在ARM的Thumb代碼壓縮技術(shù)的基礎(chǔ)上發(fā)展起來的, 并且保持了對現(xiàn)存ARM解決方案的完整的代碼兼容性。Thumb-2技術(shù)比純32位代碼少使用31%的內(nèi)存,減小了系統(tǒng)開銷。同時(shí)能夠提供比已有的基于Thumb技術(shù)的解決方案高出38%的性能。
ARMv7架構(gòu)還采用了NEON技術(shù),將DSP和媒體處理能力提高了近4倍,并支持改良的浮點(diǎn)運(yùn)算,滿足下一代3D圖形、游戲物理應(yīng)用以及傳統(tǒng)嵌入式控制應(yīng)用的需求。此外,ARMv7還支持改良的運(yùn)行環(huán)境,以迎合不斷增加的JIT(Just In Time)和DAC(DynamicAdaptive Compilation)技術(shù)的使用。
ARM版本ⅤⅢ: V8版架構(gòu)
v8架構(gòu)是在32位ARM架構(gòu)上進(jìn)行開發(fā)的,將被首先用于對擴(kuò)展虛擬地址和64位數(shù)據(jù)處理技術(shù)有更高要求的產(chǎn)品領(lǐng)域,如企業(yè)應(yīng)用、高檔消費(fèi)電子產(chǎn)品。ARMv8架構(gòu)包含兩個(gè)執(zhí)行狀態(tài):AArch64和AArch32。AArch64執(zhí)行狀態(tài)針對64位處理技術(shù),引入了一個(gè)全新指令集A64;而AArch32執(zhí)行狀態(tài)將支持現(xiàn)有的ARM指令集。目前的ARMv7架構(gòu)的主要特性都將在ARMv8架構(gòu)中得以保留或進(jìn)一步拓展,如:TrustZone技術(shù)、虛擬化技術(shù)及NEON advanced SIMD技術(shù)等。

編輯切換為居中
ARM微處理器核心以及體系結(jié)構(gòu)的發(fā)展歷史
1.ARM7處理器
ARM7處理器采用了ARMV4T(馮·諾依曼)體系結(jié)構(gòu),這種體系結(jié)構(gòu)將程序指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合并在 一起。主要特點(diǎn)就是程序和數(shù)據(jù)共用一個(gè)存儲(chǔ)空間,程序指令存儲(chǔ)地址和數(shù)據(jù)存儲(chǔ)地址指向同一個(gè)存儲(chǔ)器的不同物理位置,采用單一的地址及數(shù)據(jù)總線,程序指令和 數(shù)據(jù)的寬度相同。這樣,處理器在執(zhí)行指令時(shí),必須先從存儲(chǔ)器中取出指令進(jìn)行譯碼,再取操作數(shù)執(zhí)行運(yùn)算。
總體來說ARM7體系結(jié)構(gòu)具有三級(jí)流水、空間統(tǒng)一的 指令與數(shù)據(jù)Cache、平均功耗為0.6mW/MHz、時(shí)鐘速度為66MHz、每條指令平均執(zhí)行1.9個(gè)時(shí)鐘周期等特性。其中的ARM710、ARM720和ARM740為內(nèi)帶Cache的ARM核。
ARM7指令集同Thumb指令集擴(kuò)展組合在一起,可以減少內(nèi)存容量和系統(tǒng)成本。同時(shí),它還利用嵌入式ICE調(diào)試技術(shù)來簡化系統(tǒng)設(shè)計(jì),并用一個(gè)DSP增強(qiáng)擴(kuò)展來改進(jìn)性能。ARM7體系結(jié)構(gòu)是小型、快速、低能耗、集成式的RISC內(nèi)核結(jié)構(gòu)。該產(chǎn)品的典型用途是數(shù)字蜂窩電話和硬盤驅(qū)動(dòng)器等,目前主流的ARM7內(nèi)核是ARM7TDMI、ARM7TDMI-S、ARM7EJ-S、ARM720T。
現(xiàn)在市場上 用得最多的ARM7處理器有Samsung公司的S3C44BOX與S3C4510處理器、Atmel公司的AT91FR40162系列處理器、Cirrus公司的EP73xx系列等。通常來說前兩三年大部分手機(jī)基帶部分的應(yīng)用處理器基本上都以ARM7為主。還有很多的通信模塊,如CDMA模塊、GPRS模塊和GPS模塊中都含有ARM7處理器。
2.ARM9、ARM9E處理器
ARM9處理器采用ARMV4T(哈佛)體系結(jié)構(gòu)。這種體系結(jié)構(gòu)是一種將程序指令存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開的存儲(chǔ)器 結(jié)構(gòu),是一種并行體系結(jié)構(gòu)。其主要特點(diǎn)是程序和數(shù)據(jù)存儲(chǔ)在不同的存儲(chǔ)空間中,即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。它們是兩個(gè)相互獨(dú)立的存儲(chǔ)器,每個(gè)存儲(chǔ)器獨(dú)立編 址、獨(dú)立訪問。與兩個(gè)存儲(chǔ)器相對應(yīng)的是系統(tǒng)中的4套總線,程序的數(shù)據(jù)總線和地址總線,數(shù)據(jù)的數(shù)據(jù)總線和地址總線。這種分離的程序總線和數(shù)據(jù)總線可允許在一 個(gè)機(jī)器周期內(nèi)同時(shí)獲取指令字和操作數(shù),從而提高了執(zhí)行速度,使數(shù)據(jù)的吞吐量提高了一倍。又由于程序和數(shù)據(jù)存儲(chǔ)器在兩個(gè)分開的物理空間中,因而取指和執(zhí)行能 完全重疊。
ARM9采用五級(jí)流水處理及分離的Cache結(jié)構(gòu),平均功耗為0.7mW/MHz。時(shí)鐘速度為120MHz~200MHz,每條指令平均執(zhí)行1.5個(gè)時(shí)鐘周期。與ARM7處理器系列相似,其中的ARM920、ARM940和ARM9E處理器均為含有Cache的CPU核,性能為132MIPS(120MHz時(shí)鐘,3.3V供電)或220MIPS(200MHz時(shí)鐘)。
ARM9處理器同時(shí)也配備Thumb指令擴(kuò)展、調(diào)試和Harvard總線。在生產(chǎn)工藝相同的情況下,性能是ARM7TDMI處理器的兩倍之多。常用于無線設(shè)備、儀器儀表、聯(lián)網(wǎng)設(shè)備、機(jī)頂盒設(shè)備、高端打印機(jī)及 數(shù)碼相機(jī)應(yīng)用中。
ARM9E內(nèi)核是在ARM9內(nèi)核的基礎(chǔ)上增加了緊密耦合存儲(chǔ)器TCM及DSP部分。目前主流的ARM9內(nèi)核是ARM920T、ARM922T、ARM940。相關(guān)的處理器芯片有Samsung公司的S3C2510、Cirrus公司的EP93xx系列等。主流的ARM9E內(nèi)核是ARM926EJ-S、ARM946E-S、ARM966E-S等。目前市場上常見的PDA,比如說PocketPC中一般都是用ARM9處理器,其中以Samsung公司的S3C2410處理器居多。
3.ARM10E處理器
ARM10E處理器采用ARMVST體系結(jié)構(gòu),可以分為六級(jí)流水處理,采用指令與數(shù)據(jù)分離的Cache結(jié)構(gòu), 平均功耗1000mW,時(shí)鐘速度為300MHz,每條指令平均執(zhí)行1.2個(gè)時(shí)鐘周期。ARM10TDMI與所有ARM核在二進(jìn)制級(jí)代碼中兼容,內(nèi)帶高速32×16 MAC,預(yù)留DSP協(xié)處理器接口。其中的VFP10(向量浮點(diǎn)單元)為七級(jí)流水結(jié)構(gòu)。其中的ARM1020T處理器則是由ARMl0TDMI、32KB指 令、數(shù)據(jù)Caches及MMU部分構(gòu)成的。其系統(tǒng)時(shí)鐘高達(dá)300MHz時(shí)鐘,指令Cache和數(shù)據(jù)Cache分別為32KB,數(shù)據(jù)寬度為64位,能夠支持 多種商用操作系統(tǒng),適用于下一代高性能手持式因特網(wǎng)設(shè)備及數(shù)字式消費(fèi)類應(yīng)用。主流的ARM10內(nèi)核是ARM1020E、ARM1022E、ARM1026EJ-S等。
4.SecurCore處理器
SecurCore系列處理器提供了基于高性能的32位RISC技術(shù)的安全解決方案,該系列處理器具有體積 小、功耗低、代碼密度大和性能高等特點(diǎn)。另外最為特別的就是該系列處理器提供了安全解決方案的支持。采用軟內(nèi)核技術(shù),以提供最大限度的靈活性,以及防止外 部對其進(jìn)行掃描探測,提供面向智能卡的和低成本的存儲(chǔ)保護(hù)單元MPU,可以靈活地集成用戶自己的安全特性和其他的協(xié)處理器,目前含有SC100、SC110、SC200、SC210 4種產(chǎn)品。
5.StrongARM處理器
StrongARM處理器采用ARMV4T的五級(jí)流水體系結(jié)構(gòu)。目前有SA110、SA1100、SA1110等3個(gè)版本。另外Intel公司的基于ARMv5TE體系結(jié)構(gòu)的XScale PXA27x系列處理器,與StrongARM相比增加了I/D Cache,并且加入了部分DSP功能,更適合于移動(dòng)多媒體應(yīng)用。目前市場上的大部分智能手機(jī)的核心處理器就是XScale系列處理器。
6.ARM11處理器
ARM11系列微處理器是ARM公司近年推出的新一代RISC處理器,它是ARM新指令架構(gòu)——ARMv6的第一代設(shè)計(jì)實(shí)現(xiàn)。該系列主要有ARM1136J,ARM1156T2和ARM1176JZ三個(gè)內(nèi)核型號(hào),分別針對不同應(yīng)用領(lǐng)域。
ARM11處理器系列可以在使用130nm代工廠技術(shù)、小至2.2mm2芯片面積和低 至0.24mW/MHz的前提下達(dá)到高達(dá)500MHz的性能表現(xiàn)。ARM11處理器系列以眾多消費(fèi)產(chǎn)品市場為目標(biāo),推出了許多新的技術(shù),包括針對媒體處理 的SIMD,用以提高安全性能的TrustZone技術(shù),智能能源管理(IEM),以及需要非常高的、可升級(jí)的超過2600 Dhrystone 2.1 MIPS性能的系統(tǒng)多處理技術(shù)。主要的ARM11處理器有ARM1136JF-S、ARM1156T2F-S、ARM1176JZF-S、ARM11 MCORE等多種。
7.Cortex系列處理器
ARM Cortex-M系列支持Thumb-2指令集(Thumb指令集的擴(kuò)展集),可以執(zhí)行所有已存的為早期處理器編寫的代碼。通過一個(gè)前向的轉(zhuǎn)換方式, 為ARM Cortex-M系列處理器所寫的用戶代碼可以與ARM Cortex-R系列微處理器完全兼容。
ARMCortex-M系列系統(tǒng)代碼(如實(shí)時(shí)操作系統(tǒng))可以很容易地移植到基于ARM Cortex-R系列的系統(tǒng)上。
ARMCortex-A和Cortex-R系列處理器還支持ARM 32位指令集,向后完全兼容早期的ARM處理器,包括從1995年發(fā)布的ARM7TDMI處理器到2002年發(fā)布的ARMll處理器系列。
