各ARM體系結構版本區(qū)別
ARM體系結構從最初開發(fā)到現(xiàn)在有了很大的改進,并仍在完善和發(fā)展。 為了清楚地表達每個ARM應用實例所使用的指令集,ARM公司定義了6種主要的ARM指令集體系結構版本,以版本號V1~V6表示。
ARM版本Ⅰ: V1版架構 該版架構只在原型機ARM1出現(xiàn)過,只有26位的尋址空間,沒有用于商業(yè)產(chǎn)品。 其基本性能有: 基本的數(shù)據(jù)處理指令(無乘法); 基于字節(jié)、半字和字的Load/Store指令; 轉(zhuǎn)移指令,包括子程序調(diào)用及鏈接指令; 供操作系統(tǒng)使用的軟件中斷指令SWI; 尋址空間:64MB(226)。 ARM版本Ⅱ: V2版架構 該版架構對V1版進行了擴展,例如ARM2和ARM3(V2a)架構。包含了對32位乘法指令和協(xié)處理器指令的支持。 版本2a是版本2的變種,ARM3芯片采用了版本2a,是第一片采用片上Cache的ARM處理器。同樣為26位尋址空間,現(xiàn)在已經(jīng)廢棄不再使用。 V2版架構與版本V1相比,增加了以下功能: 乘法和乘加指令; 支持協(xié)處理器操作指令; 快速中斷模式; SWP/SWPB的最基本存儲器與寄存器交換指令; 尋址空間:64MB。 ARM版本Ⅲ : V3版架構 ARM作為獨立的公司,在1990年設計的第一個微處理器采用的是版本3的ARM6。它作為IP核、獨立的處理器、具有片上高速緩存、MMU和寫緩沖的集成CPU。 變種版本有3G和3M。版本3G是不與版本2a向前兼容的版本3,版本3M引入了有符號和無符號數(shù)乘法和乘加指令,這些指令產(chǎn)生全部64位結果。 V3版架構( 目前已廢棄 )對ARM體系結構作了較大的改動: 尋址空間增至32位(4GB); 當前程序狀態(tài)信息從原來的R15寄存器移到當前程序狀態(tài)寄存器CPSR中(Current Program Status Register); 增加了程序狀態(tài)保存寄存器SPSR(Saved Program Status Register); 增加了兩種異常模式,使操作系統(tǒng)代碼可方便地使用數(shù)據(jù)訪問中止異常、指令預取中止異常和未定義指令異常。; 增加了MRS/MSR指令,以訪問新增的CPSR/SPSR寄存器; 增加了從異常處理返回的指令功能。 ARM版本Ⅳ : V4版架構 V4版架構在V3版上作了進一步擴充,V4版架構是目前應用最廣的ARM體系結構,ARM7、ARM8、ARM9和StrongARM都采用該架構。 V4不再強制要求與26位地址空間兼容,而且還明確了哪些指令會引起未定義指令異常。 指令集中增加了以下功能: 符號化和非符號化半字及符號化字節(jié)的存/取指令; 增加了T變種,處理器可工作在Thumb狀態(tài),增加了16位Thumb指令集; 完善了軟件中斷SWI指令的功能; 處理器系統(tǒng)模式引進特權方式時使用用戶寄存器操作; 把一些未使用的指令空間捕獲為未定義指令 ARM版本Ⅴ : V5版架構 V5版架構是在V4版基礎上增加了一些新的指令,ARM10和Xscale都采用該版架構。 這些新增命令有: 帶有鏈接和交換的轉(zhuǎn)移BLX指令; 計數(shù)前導零CLZ指令; BRK中斷指令; 增加了數(shù)字信號處理指令(V5TE版); 為協(xié)處理器增加更多可選擇的指令; 改進了ARM/Thumb狀態(tài)之間的切換效率; E---增強型DSP指令集,包括全部算法操作和16位乘法操作; J----支持新的JAVA,提供字節(jié)代碼執(zhí)行的硬件和優(yōu)化軟件加速功能。 ARM版本Ⅵ : V6版架構 V6版架構是2001年發(fā)布的,首先在2002年春季發(fā)布的ARM11處理器中使用。在降低耗電量地同時,還強化了圖形處理性能。通過追加有效進行多媒體處理的SIMD(Single Instruction, Multiple Data,單指令多數(shù)據(jù) )功能,將語音及圖像的處理功能提高到了原型機的4倍。 此架構在V5版基礎上增加了以下功能: THUMBTM:35%代碼壓縮; DSP擴充:高性能定點DSP功能; JazelleTM:Java性能優(yōu)化,可提高8倍; Media擴充:音/視頻性能優(yōu)化,可提高4倍 |