ARM架構過去稱作進階精簡指令集機器(AdvancedRISCMachine,更早稱作:AcornRISCMachine),是一個32位精簡指令集(RISC)處理器架構,其廣泛地使用在許多嵌入式系統設計。由于節能的特點,ARM處理器非常適用于移動通訊領域,符合其主要設計目標為低耗電的特性。
在今日,ARM家族占了所有32位嵌入式處理器75%的比例,使它成為占全世界最多數的32位架構之一。ARM處理器可以在很多消費性電子產品上看到,從可攜式裝置(PDA、移動電話、多媒體播放器、掌上型電子游戲,和計算機)到電腦外設(硬盤、桌上型路由器)甚至在導彈的彈載計算機等軍用設施中都有他的存在。在此還有一些基于ARM設計的派生產品,重要產品還包括Marvell的XScale架構和德州儀器的OMAP系列。
下圖所示的是ARM構架圖。它由32位ALU、若干個32位通用寄存器以及狀態寄存器、32&TImes;8位乘法器、32&TImes;32位桶形移位寄存器、指令譯碼以及控制邏輯、指令流水線和數據/地址寄存器組成。
1、ALU:它有兩個操作數鎖存器、加法器、邏輯功能、結果以及零檢測邏輯構成。
2、桶形移位寄存器:ARM采用了32&TImes;32位的桶形移位寄存器,這樣可以使在左移/右移n位、環移n位和算術右移n位等都可以一次完成。
3、高速乘法器:乘法器一般采用“加一移位”的方法來實現乘法。ARM為了提高運算速度,則采用兩位乘法的方法,根據乘數的2位來實現“加一移位”運算;ARM高速乘法器采用32&TImes;8位的結構,這樣,可以降低集成度(其相應芯片面積不到并行乘法器的1/3)。
4、浮點部件:浮點部件是作為選件供ARM構架使用。FPA10浮點加速器是作為協處理方式與ARM相連,并通過協處理指令的解釋來執行。
5、控制器:ARM的控制器采用的是硬接線的可編程邏輯陣列PLA。
6、寄存器
目前的PC架構絕大多數都是Intel的X86架構,貌似也是因為INTEL的這個X86架構早就了目前INTEL如日中天的地位。X86架構(The X86 architecture)是微處理器執行的計算機語言指令集,指一個intel通用計算機系列的標準編號縮寫,也標識一套通用的計算機指令集合。
當然,這個架構圖并不是所有的都是如此,根據不同的主板,平臺,架構是略有差別的比如說,目前很多主板已經將北橋集成到CPU當中,將南橋集成為PCH,但大致的框架還是如此的。下面對這個架構圖上的各個內容分別進行一些簡介。
1:CPU,大家都不陌生的名詞,中央處理器,計算機的核心大腦。
2: 北橋(North Bridge Chipset):北橋是電腦主板上的一塊芯片,位于CPU插座邊,起連接作用。
3:南橋芯片(South Bridge)是主板芯片組的重要組成部分,一般位于主板上離CPU插槽較遠的下方,PCI插槽的附近,這種布局是考慮到它所連接的I/O總線較多,離處理器遠一點有利于布線。
4: 內存是計算機中重要的部件之一,它是與CPU進行溝通的橋梁。計算機中所有程序的運行都是在內存中進行的,因此內存的性能對計算機的影響非常大。
5:顯卡(Video card,Graphics card)全稱顯示接口卡,又稱顯示適配器,是計算機最基本配置、最重要的配件之一。
6:顯示j接口
7:網卡是工作在鏈路層的網絡組件,是局域網中連接計算機和傳輸介質的接口,不僅能實現與局域網傳輸介質之間的物理連接和電信號匹配,還涉及幀的發送與接收、幀的封裝與拆封、介質訪問控制、數據的編碼與解碼以及數據緩存的功能等。
8:聲卡的基本功能是把來自話筒、磁帶、光盤的原始聲音信號加以轉換,輸出到耳機、揚聲器、擴音機、錄音機等聲響設備,或通過音樂設備數字接口(MIDI)使樂器發出美妙的聲音。
9:SATA(Serial Advanced Technology Attachment,串行高級技術附件)是一種基于行業標準的串行硬件驅動器接口,是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盤接口規范。
10:硬盤是電腦主要的存儲媒介之一,由一個或者多個鋁制或者玻璃制的碟片組成。碟片外覆蓋有鐵磁性材料。
11:總線
一、性能
X86結構的電腦無論如何都比ARM結構的系統在性能方面要快得多、強得多。X86的CPU隨便就是1G以上、雙核、四核大行其道,通常使用45nm(甚至更高級)制程的工藝進行生產;而ARM方面:CPU通常是幾百兆,最近才出現1G左右的CPU,制程通常使用不到65nm制程的工藝,可以說在性能和生產工藝方面ARM根本不是X86結構系統的對手。
但ARM的優勢不在于性能強大而在于效率,ARM采用RISC流水線指令集,在完成綜合性工作方面根本就處于劣勢,而在一些任務相對固定的應用場合其優勢就能發揮得淋漓盡致。
二、擴展能力
X86結構的電腦采用“橋”的方式與擴展設備(如:硬盤、內存等)進行連接,而且x86結構的電腦出現了近30年,其配套擴展的設備種類多、價格也比較便宜,所以x86結構的電腦能很容易進行性能擴展,如增加內存、硬盤等。
ARM結構的電腦是通過專用的數據接口使CPU與數據存儲設備進行連接,所以ARM的存儲、內存等性能擴展難以進行(一般在產品設計時已經定好其內存及數據存儲的容量),所以采用ARM結構的系統,一般不考慮擴展。基本奉行“夠用就好”的原則。
三、操作系統的兼容性
X86系統由微軟及Intel構建的Wintel聯盟一統天下,壟斷了個人電腦操作系統近30年,形成巨大的用戶群,也深深固化了眾多用戶的使用習慣,同時x86系統在硬件和軟件開發方面已經形成統一的標準,幾乎所有x86硬件平臺都可以直接使用微軟的視窗系統及現在流行的幾乎所有工具軟件,所以x86系統在兼容性方面具有無可比擬的優勢。
ARM系統幾乎都采用Linux的操作系統,而且幾乎所有的硬件系統都要單獨構建自己的系統,與其他系統不能兼容,這也導致其應用軟件不能方便移植,這一點一直嚴重制約了ARM系統的發展和應用。GOOGLE開發了開放式的Android系統后,統一了ARM結構電腦的操作系統,使新推出基于ARM結構的電腦系統有了統一的、開放式的、免費的操作系統,為ARM的發展提供了強大的支持和動力。
四、軟件開發的方便性及可使用工具的多樣性
X86結構的系統推出已經近30年,在此期間,x86電腦經過飛速發展的黃金時期,用戶的應用、軟件配套、軟件開發工具的配套及兼容等工作,已經到達非常成熟甚至可以說是完美的境界。所以使用X86電腦系統不僅有大量的第三方軟件可供選擇,也有大量的軟件編程工具可以幫助您完成您所希望完成的工作。
Arm結構的電腦系統因為硬件性能的制約、操作系統的精簡、以及系統兼容等問題的制約,造成Arm結構的電腦系統不可能像X86電腦系統那樣有眾多的編程工具和第三方軟件可供選擇及使用,ARM的編程語言大多采用C和JAVA。
對這一點的比較,更直接的結論是:基于x86結構電腦系統平臺開發軟件比arm結構系統更容易、更簡單、實際成本也更低,同時更容易找到第三方軟件(免去自己開發的時間和成本),而且軟件移植更容易。
從以上對比分析,給了我們的一個很清晰的感覺,ARM和X86結構的電腦根本就無法對比,ARM根本就不是X86電腦的的對手。是的,如果只考慮上述幾個方面的要數,ARM確實無法與X86電腦競爭,甚至連比較的資格都沒有。但是近1、2年,ARM的產品在終端應用特別是手持終端應用飛速發展(如:智能手機、平板電腦等),其銷售數量已經遠遠超出x86結構的電腦銷售數量,可見ARM是具有其與X86結構電腦不可對比的優勢。該優勢就是:功耗。
五、功耗
X86電腦因考慮要適應各種應用的需求,其發展思路是:性能+速度。20多年來x86電腦的速度從原來8088的幾M發展到現在隨便就是幾G,而且還是幾核,其速度和性能已經提升了千、萬倍,技術進步使x86電腦成為大眾生活中不可缺少的一部分。但是x86電腦發展的方向和模式,使其功耗一直居高不下,一臺電腦隨便就是幾百瓦,即使是號稱低功耗節能的手提電腦或上網本,也有十幾、二十多瓦的功耗,這與ARM結構的電腦就無法相比。