ARM架構簡介&ARMv8架構的未來

        一、ARM簡介

        ARM於1990年11月在英國倫敦成立,ARM是Advanced RISC Machines的縮寫,是微處理器行業的一家知名企業,該企業設計了大量廉價、高性能、低功耗的RISC處理器架構相關技術及軟件。目前,全世界有幾十家著名的半導體公司都使用ARM公司的授權,其中包括TI、Motorola、Philips、IBM、Intel、ST、NEC、LG、ATMEL等。
        ARM不僅代表一個公司,同樣代表一類微處理器,也代表一種技術,還代表一種新型的產業發展模式。

        ARM公司是知識產權(IP)公司,本身不生產芯片,靠轉讓設計許可,由合作伙伴公司來生產各具特色的芯片

近年來ARM技術的突出成果表現在:第一片ARM處理器是1983年10月到1985年4月間在位於英國劍橋的Acorn Computer公司開發,1990年,爲廣泛推廣ARM技術而成立了獨立的公司——ARM,並快速融入世界市場,在ARM的發展歷程中,從ARM7開始,ARM核得到普遍認可和廣泛使用,ARM9、ARM10、Strong-ARM、ARM11和Cortex等系列性能優越,尤其在面向高端數字音視頻處理等多媒體產品的應用,Cortex是ARM爲滿足不斷擴展的嵌入式技術應用所做的一次改進。

        廣泛的產業聯盟和豐富的軟硬件支持,使得基於ARM的嵌入式應用領域更加廣闊,產品投放市場更爲迅速據最新統計,全球有100多家巨型IT公司,超過95%的手機,超過四分之一的電子設備都在使用ARM技術,ARM已經成爲世界上銷量最大的32位微處理器,迄今爲止,還沒有任何商業化的IP核交易和使用達到ARM的規模,造就了IP核的商業神話。

        二、ARM處理器的特點

        2.1 體積小、功耗低、成本低、性能高
        2.2 支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容16位器件
        2.3 大量使用寄存器,使得指令執行速度更快尋址方式簡單靈活,執行效率高
        2.4 指令長度固定

        三、ARM處理器的應用

        ARM微處理器除了具有ARM的共同特點以外,每一個系列的ARM微處理器都有各自的特點和應用領域,目前包括下面幾個系列:ARM1、ARM2、ARM3、ARM6、ARM7、ARM8、ARM9、ARM10、SecurCore、Inter的Xscale和StrongARM、ARM11和Cortex以及對應的修改版或增強版。隨着架構升級,初始頻率越高、架構越先進,功能也越強,Cortex主要用於高端和多核處理器上。

        3.1 高性能方向:
        Samsung(三星):S5PC100、S5PC110、S5PV210均採用Cortex-A8核,600MHZ--1GHZ
        Apple A4 Cortex-A8核1GHz(iPad、iPod、touch4、iPhone4)
        中芯微 VC882 Cortex-A8 1GHz--1.2GHz(主要應用於國內一些MID產品)
        高通snapdragon QSD8250 
        高通第一代1GHZ單核處理器,Cortex-A8(HTC HD2手機)

        3.2 低成本、低功耗的微控制器方向
        Cortext-M3(工業控制)

        代表:ST的stm32系列36MHz--72MHz
        3.3 實時方向
        Cortex-R4(汽車電子、硬盤控制器等)
        代表:TI的TMS570LS
        3.4 安全方向
        SecurCore系統(智能卡、監控、POS機等)
        代表:大量的智能卡、和SIM卡等

        四、ARM體系結構介紹及分類

        ARM採用RISC結構,簡化了處理器設計,並在減少複雜指令的同時,提高了處理器的速度只提供load/store指令與存儲器打交道,其餘指令都不允許進行存儲器操作。

        下面對兩種指令集的對比:(大意摘自百度百科)

         CISC:全稱是Complex Instruction Set Computer,中文意是複雜指令計算機,它是臺式計算機系統基本處理部件,每個微處理器的核心是運行指令的電路。指令由完成任務的多個步驟所組成,把數值傳送進寄存器或進行相加運算。這樣一來,它能夠以更快的速度執行操作。因爲計算機執行每個指令類型都需要額外的晶體管和電路元件,計算機指令集越大就會使微處理器更復雜,執行操作也會更慢。

         RISC:全稱是Reduced Instruction Set Computer,中文意是精簡指令集計算機,它是計算機中央處理器的一種設計模式,這種設計思路對指令數目和尋址方式都做了精簡,使其實現更容易,指令並行執行程度更好,編譯器的效率更高。常用的精指令集微處理器包括DECAlpha、ARC、ARM、AVR、MIPS、PA-RISC、PowerArchitecture(包括PowerPC)和SPARC等。這種設計思路最早的產生緣自於有人發現,儘管傳統處理器設計了許多特性讓代碼編寫更加便捷,但這些複雜特性需要幾個指令週期才能實現,並且常常不被運行程序所採用。此外,處理器和主內存之間運行速度的差別也變得越來越大。在這些因素促使下,出現了一系列新技術,使處理器的指令得以流水執行,同時降低處理器訪問內存的次數。早期,這種指令集的特點是指令數目少,每條指令都採用標準字長、執行時間短、中央處理器的實現細節對於機器級程序是可見的。

        4.1 Cortex-A8簡單介紹

        Cortex-A8內核使用了13級的整型指令流水線和10級NEON指令流水線,並改善了指令分支預測命中率,從

ARM11的88%提高到Cortex-A8的95%。

        採用對稱雙ALU超標量流水線(ALU0和ALU1),支持並行發射兩條指令,集成二級緩存(L2)
        Cortex-A8中採用的TrustZone技術確保消費類產品中的安全交易(如運行開放式操作系統的手機、POS
機和機頂盒等)、數據隱私和DRM得到保護
        Cortex開啓了ARM處理器的新紀元

        4.2 ARM系列產品命令規則,例如:ARM7 TDMI的基本含義爲:
        T:Thumb指令是把32位ARM指令集重新編碼後形成的一個特殊的16位的指令集
        D:支持片上Debug
        M:內嵌硬件乘法器(Multiplier)
        I:嵌入式ICE(In Circuit Emulator),支持在線調試

        4.3 ARM系列產品後綴規則,例如:ARM 926EJ-S

        增強型DSP指令(E變種),E變種的ARM體系增加了一些增強處理器對典型的DSP算法處理能力的附加指令
        Java硬件加速器Jazelle(J變種),ARM的Jazelle技術是Java語言和先進的32位RISC芯片完美結合的產物,主要用於支持JVM。
        ARM多媒體功能擴展(S變種),支持SIMD(Single Instruction Multiple Data),即單指令多數據處理。

        第一個數字:系列名稱

        9: ARM9,10: ARM10,11: ARM11
        第二個數字:Memory system
        2: 帶有MMU(如ARM720T、ARM922T、ARM1020E)
        4: 帶有MPU(如ARM940T、ARM946EJ-S)
        6: 無MMU與MPU(如ARM966EJ-S、ARM968EJ-S)
        第三個數字:Memory size
        0: 標準Cache (4-128KB)
        2: 減小的Cache
        6: 可變的Cache

        五、ARM處理器版本與體系結構的關係:
        V1      =>
 ARM1

        V2      => ARM2

        V2a    => ARM2As,ARM3

        V3      => ARM6,ARM600,ARM610,ARM7,ARM700,ARM710

        V4      => StrongARM,ARM8,ARM810

        V5T    => ARM7TDMI,ARM710T,ARM720T,ARM740T,ARM9TDMI,ARM920T,ARM940T

        V5TE => ARM9E-S,ARM10TDMI,ARM1020E

        V6      => ARM1136J(F)-S,ARM1176JZ(F)-S,ARM11,MPCore

        V6T2  => ARM1156T2(F)-S

        V7      => ARM Cortex-M,ARM Cortex-R,ARM Cortex-A8/9/15

        V8      => ARM Cortex-A57/53

        六、ARMv8架構的未來

        ARMv8是在32位ARM架構上進行開發的,將被首先用於對擴展虛擬地址和64位數據處理技術有更高要求的產品領域,如企業應用、高檔消費電子產品。ARMv8架構包含兩個執行狀態:AArch64和AArch32。AArch64執行狀態針對64位處理技術,引入了一個全新指令集A64;而AArch32執行狀態將支持現有的ARM指令集。目前的ARMv7架構的主要特性都將在ARMv8架構中得以保留或進一步拓展,如:TrustZone技術、虛擬化技術及NEON advanced SIMD技術,等。
        配合ARMv8架構的推出,ARM正在努力確保一個強大的設計生態系統來支持64位指令集。ARM的主要合作伙伴已經能夠獲得支持ARMv8架構的ARM編譯器和快速模型(Fast Model)。在新架構的支持下,對一系列開源操作系統、應用程序和第三方工具的初始開發已經在開展中。通過合作,ARM合作伙伴們共同加速64位生態系統的開發,在許多情況下,這可視爲是對現有支持基於ARMv7架構產品的廣泛生態系統的自然延伸。
       具備64位計算能力的ARMv8架構,將使其合作伙伴有望進入高端服務器市場。然而,很多合作伙伴卻缺乏在該市場的技術積累。判斷ARMv8架構能否繼續取得巨大的市場成功,尚需時日。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章