官术网_书友最值得收藏!

1.2 ARM體系結構

1.2.1 ARM體系結構的版本

迄今為止,ARM公司定義了8種主要的ARM ISA(Instruction Set Architecture,指令集體系結構),指令集有了巨大的改進,功能不斷擴大,版本號分別為ARMv1~ARMv6、ARMv7 A&R、ARMv7 M。同時,各版本中還有一些變種,這些變種定義了指令集中不同的功能。對于相同的ARM體系結構,基于它們的應用軟件是兼容的。如圖1.1所示為ARM體系結構升級路線56FE。

圖1.1 ARM體系結構升級路線56FE

ARM微處理器現用的體系結構中至少支持兩種指令集:32位ARM指令集和16位Thumb指令集。Thumb指令集為ARM指令集的功能子集,但與等價的ARM代碼相比較,使用Thumb指令集可以得到密度更高的代碼。ARM指令集體系結構與擴展如圖1.2所示。

圖1.2 ARM指令集體系結構與擴展

1.ARMv4

ARMv4是目前所支持的最老的版本,之前的版本不再使用。某些ARM7系列和Intel的StrongARM處理器采用該版本指令集。ARMv4指令集可以在32位地址空間執行32位ARM指令集,并且有了T變種,可以在Thumb狀態下支持16位的Thumb指令集。與32位指令相比可以節省35%的存儲空間,依舊保留32位系統的優勢。

2.ARMv5

ARMv5是在1999年發布的,與ARMv4相比,提升了ARM和Thumb兩種指令的交互工作能力,改進了在T變量中ARM/Thumb狀態之間的切換效率。同時有了E變種,可以支持DSP指令,在音頻數字信號處理中可以提高70%的性能。2000年增加了J變種,可以運行Java指令。

3.ARMv6

ARMv6版本于2001年發布,其主要特點是增加了SIMD功能擴展,同時拓展了Thumb-2和TrustZone技術。SIMD用于視頻編解碼與三維繪圖等數字信號處理,為音頻視頻在內的應用系統提供了優化功能,可以使音頻視頻的處理能力提高4倍。Thumb-2是一種新型混合指令集,融合了16位和32位指令,用于實現密度和性能的最佳平衡。TrustZone技術作為ARM體系結構的擴展,是一種新的硬件安全技術。第一款ARMv6處理器是ARM1136J(F)-STM,在2002年春季發布。

4.ARMv7

ARMv7在相當于ARM11下一代的CPU內核Cortex系列上采用,針對用途不同,定義了三大分工明確的系列。A系列面向尖端的基于虛擬內存的操作系統和用戶應用,R系列針對實時系統,M系列對微控制器和低成本應用提供優化。ARMv7的M采用了Thumb-2技術,A系列和R系列還采用了NEON技術,將DSP和媒體處理能力提高了近4倍,并支持改良的浮點運算,滿足下一代3D圖形和游戲應用及傳統的嵌入式控制應用的需求。

ARMv7 A注重提高運算性能,主要面向手機、PDA、便攜式游戲機等產品的微控制器。通過強化浮點運算,提高了三維圖形游戲所必需的畫像處理性能。可以在Windows CE、Symbian OS、Linux等比較大型復雜的OS上運行。與ARMv6相比,其最大的區別就是增強了SIMD型指令,推出的名為NEON技術具有可進行64位數據或128位數據運算的混合型SIMD指令集,可將與VFP協處理器共享的寄存器按64位×32條或128位×16條來處理。此外,VFP的版本也由VFPv2提升到了最新的VFPv3。

ARMv7 R重視實時處理,可以減少數據輸入/輸出延遲時間,以及提高指令預測精度等,主要面向打印機與網絡終端和汽車等領域;同ARMv7 A一樣,支持NEON和VFPv3。

ARMv7 M面向廉價微控制器。v7 A與v7 R都是v6的功能強化版,而v7 M則是特意降低制造成本的一種選擇;未加入NEON和VFPv3等新功能,省略了SIMD指令集與緩存等,即便是與v6相比功能也顯得有些簡單了。

主站蜘蛛池模板: 乌苏市| 江都市| 青冈县| 顺昌县| 乐业县| 灵山县| 忻城县| 四会市| 郸城县| 澄迈县| 遂溪县| 普安县| 江安县| 金昌市| 洛南县| 望都县| 霍城县| 镇坪县| 霍城县| 宜黄县| 禹州市| 收藏| 桂东县| 深州市| 德令哈市| 襄垣县| 会同县| 襄汾县| 乡城县| 寻甸| 勃利县| 望谟县| 苏尼特右旗| 庆安县| 昭通市| 德格县| 子长县| 克什克腾旗| 柳州市| 贞丰县| 丁青县|