ARM與X86架構的對決

weixin_33858249發表於2017-12-10

CISC(複雜指令集計算機)和RISC(精簡指令集計算機)是當前CPU的兩種架構。它們的區別在於不同的CPU設計理念和方法。早期的CPU全部是CISC架構,它的設計目的是 CISC要用最少的機器語言指令來完成所需的計算任務。RISC和CISC是設計製造微處理器的兩種典型技術,雖然它們都是試圖在體系結構、操作執行、軟體硬體、編譯時間和執行時間等諸多因素中做出某種平衡,以求達到高效的目的,但採用的方法不同,因此,在很多方面差異很大.

x86架構採用CISC,而ARM採用RISC。

ARM成立於1991年,是一家出售IP(技術智慧財產權)的公司,所謂的技術智慧財產權,就有點像是賣房屋的結構設計圖,至於要怎修改,哪邊開窗戶,以及要怎加蓋其它的花園,就看買了設計圖的廠商自己決定。

而ARM的架構是採用RISC架構,如同它的名稱一樣,Advanced RISC Machines,RISC架構在當初的PC架構爭霸戰雖然敗給Intel所主導的x86處理器架構,卻默默在另外的領域成長壯大;小從硬碟轉速控制、電信基地臺的計算、汽車噴射引擎的控制、音響系統、相機引擎,大到電動機具的控制等等,都能夠看見採用ARM授權架構處理器的身影。

而有了設計圖,當然還要有把設計圖實現的廠商,而這些就是ARM架構的授權客戶群。包括: 
TI OMAP、Qualcomm Snapdragon、三星的蜂鳥(Hummingbird)、獵戶座(Orion)、飛思卡爾(Freescale)的i.MX,或是ST-Ericsson的應用處理器、Freescale、聯發科、Telechip、新岸線等。

X86是英特爾Intel首先開發製造的一種微處理器體系結構的泛稱,包括Intel8086、80186、80286、80386以及80486以86結尾系列,英特爾統治整個CPU產業鏈長達數十年。但是,Intel以增加處理器本身複雜度作為代價,去換取更高的效能,但整合的指令集數量越來越多,給硬體帶來的負荷也就越來越大,無形中增加了功耗和設計難度。

ARM(Advanced RISC Machines)公司是蘋果、Acorn、VLSI、Technology等公司的合資企業。ARM採用將晶片的設計方案授權(licensing)給其他公司生產的模式,在世界範圍結成了超過100個的合作伙伴(Partners),將封閉設計的Intel公司變成全民公敵。ARM處理器非常適用於行動通訊領域,具有低成本、高效能和低耗電的特性,ARM的高價效比和低耗能在移動市場比英特爾更具優勢。

ARM的架構相較於x86有哪些特點?相較於基於CISC的x86架構處理器,由於為了滿足電腦產業發展而不斷加入指令集,使得處理器日益龐大,但每個指令集用到的頻率也越差越大,許多指令到後來已經相當少用,甚至是可以被新的指令所取代。而ARM架構則大幅簡化架構,僅保留所需要的指令,可以讓整個處理器更為簡化,擁有小體積、高效能的特性。

另外,ARM的架構老早就已經作到高密度整合,由於ARM授權的彈性以及核心架構單純,ARM處理器架構可以很容易與其它專職的特殊核心,像是GPU、多媒體譯碼核心、基頻調變解調器、I/O控制等架構整合,透過SoC(System On a Chip,系統單晶片)的方式,一顆小小的ARM架構應用處理器,完成近年x86架構處理器積極跨足的單晶片設計,並且透過各種不同的核心分工各司其職,ARM架構應用處理器的核心負擔相較傳統x86處理器低上許多,並且因為早前應用處理器的需求就是以低功耗為重點,即便如今效能不斷提升,仍是以保有省電的特性為前提發展。

ARM架構的另一個優點,就是自由性,只要像ARM買下核心授權,就可以與其它IP公司的方案以及這家授權客戶本身的優勢技術整合,雖同為同一世代的ARM核心架構,即便頻率相同,結果也不同。不過這也使得ARM應用處理器光從基本規格是不一定能看出操作效能的,例如同樣隸屬高通Snapdragon,頻率1GHz的第一世代旗艦QSD8x50甚至不敵頻率僅800MHz的第二世代MSM7230。

ARM的架構之所以在智慧手機以及平板能夠迅速竄紅,蘋果iOS裝置可說是大功臣,在蘋果之前,智慧手機在市場上一直載浮載沉,雖然有著號稱智慧手機平臺市佔率第一的Nokia Symbian,以及Windows Mobile、Palm OS、BlackBerry等系統,不過當時的環境在缺乏行動網路為後盾,線上商店的概念也還未發展成型;一直到蘋果以iPhone打響新世代智慧手機第一炮後,市場才真正體認到智慧手機原來可以是這麼容易使用。

iPhone的出現也間接帶起市場對於ARM架構應用處理器的需求,不過光是蘋果也無法帶起市場對於ARM處理器的需求,如WM(WP7)手機與Symbian也紛紛加入新一代智慧手機戰局,但是真正成為關鍵的,是Google Android宣佈參戰後,其它手機廠商取得一個相較過去成熟的通用智慧手機平臺,而各廠商又為了進行產品差異化,開始針對ARM架構應用處理器的效能以及硬體支援要求,使得過去發展緩速的ARM架構一下子熱絡起來,也讓ARM架構一夕之間成為火熱話題。

GOOGLE的Android系統和蘋果的IPAD、IPHONE推出後,ARM架構的電腦系統(特別是在終端方面應用)受到使用者的廣泛支援和追捧,ARM+Android成為IT、通訊領域最熱門的話題,眾多晶片廠商紛紛推出具有各種獨特應用功能基於ARM結構開發的產品,近期最新形成的“異構概念”更成為電腦今後發展主要方向。在IT行業推崇了20多年的“價效比“概念受到根本的動搖和衝擊,“適用的才是最好的”已經被越來越多的使用者接受。

我們就ARM架構的系統與X86架構系統的特性進行一個系統分析,方便使用者在選擇系統時進行理性、合理的比價分析。

一、效能:

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結構的電腦就無法相比。

ARM的設計及發展思路是:滿足某個特殊方面的應用即可,在某一專項領域是最強的,(哪怕在其他方面一無是處),這樣Arm以其不是最強的技術,同樣也不是很高階製程的製造工藝,生產出效能不是很強的電腦系統,但在某個專業應用方面則是最好的,特別是在眾多終端應用,尤其在移動終端應用上佔有絕對優勢的統治地位,這個原因就是:功耗。

高功耗導致了一系列X86系統無法解決的問題出現:系統的續航能力弱、體積無法縮小、穩定性差、對使用環境要求高等問題。從這裡我們可以看到x86系統與ARM系統是在兩個完全不同領域方面的應用,他們之間根本不存在替換性,在伺服器、工作站以及其他高效能運算等應用方面,是可以不考慮功耗和使用環境等條件時,X86系統佔了優絕對優勢;但受功耗、環境等條件制約且工作任務固定的情況下ARM就佔有很大的優勢,在手持式移動終端領域,X86的功耗更使他英雄毫無用武之地。

但在很多的應用終端領域,現正成為兩大陣營爭奪的重點,ARM陣營努力增加其效能和系統(特別是作業系統)的通用性,蠶食x86系統的部分終端應用市場;X86陣營努力降低功耗保住其市場,同時侵入手持移動終端市場。

我們今天討論的重點就是在兩大陣營都能可以覆蓋的終端應用領域進行對比、分析。這型別的應用一定是終端應用,通常有下面幾個特徵:

  1. 系統的工作性質比較固定(如:POS、ATM、車載電腦系統、多媒體廣告播放系統、視訊監控系統,以及眾多的資訊接收、控制系統和專業的工控系統等等);

  2. 應用環境比較惡劣,如:溫度變化很大,高溫超過40度,低溫達零下20度;多塵、潮溼等;

  3. 有一定的應用數量,但數量不是很大。

這部分的應用領域傳統上是由X86結構的低功耗工控機(系統)實現的,但近幾年ARM系統的飛速發展,特別是Android作業系統出現後,ARM+Android大有取代x86系統佔領(低功耗)終端應用領域的趨勢。我們在考慮這種應用對比時根據ARM和X86的特性對比主要還考慮以下以及因數:

1、效能:

如果ARM系統的效能能滿足應用需求時,建議儘可能可慮採用ARM結構的產品,否則只能考慮X86的產品。注意在這裡我們要強調的是:不要講兩個系統的絕對效能進行比較,而是以能否您的應用特點為標準進行分析。

2、應用數量:

如果您的應用數量太少,您可能根本不值得獨立開發一套應用系統,但如果您的應用數量達到幾百甚至過千時,您是值得考慮自己開發一套新的系統的。因為:Arm的開發成本和製造成本相對比較低,如果有幾百個以上終端應用,應該可以分攤掉開發成本。

如果選用X86結構的系統,根本不應該考慮單獨開發一套專用系統(因為開發成本太高,可能是ARM的10倍),而是在市場上篩選出最接近您需求的產品,以避免高昂的硬體開發成本,和今後的製造成本(如果批次生產的數量不夠,排產成本也會很高)。

3、作業系統

ARM的作業系統通常是單獨建立一個自己的Linux系統,且系統與系統間不能相容,這嚴重製約了Arm的應用擴充套件,但Android出現後,系統相容的屏障正逐步消失,促進了系統以及應用軟體的相容,大大擴大了ARM應用軟體的的數量同時擴大了其應用空間。

4、功耗以及功耗延伸的系列問題

ARM的優勢是功耗低,其實低功耗還意味著:

1)穩定性高:因為功耗越高電子元器件的穩定性和可靠性越差,對低功耗的產品只要選擇好外圍元件的品質,系統的穩定性不會有太大問題;

2)散熱成本低和可以考慮更小的產品體積:對高功耗的產品不可避免要考慮散熱問題,而散熱裝置(或器件)的存在,有制約了產品的體積,對某些場合的應用構成致命的制約。但ARM的功耗<1W,完全不用考慮散熱問題。

3)功耗低對供電電源的要求低:幾乎所有電子產品,(在同等條件下)功耗越高對電源的要求越高,電源的成本就越高。

4)功耗低電池的續航時間長,這不作詳盡解釋。

5)功耗低對抗環境傷害的能力強:低功耗產品因為不用考慮散熱,可以將產品密封保護起來,但高功耗產品必須散熱,甚至需要風扇幫助散熱,這樣必然使很多的元件和線路裸露在空氣中,被空氣中的塵埃、溼氣、酸鹼物質等腐蝕。

5、軟體開發成本問題

Arm的作業系統很小(精簡)不可能帶很多工具,通常基於Arm的軟體大多用C或JAVA開發,其成本會比基於X86系統的高。而且對大多數ARM而言,因其作業系統不一樣,軟體業不能在兩個系統中自由互換使用,但一般來說:用C或JAVA編寫的軟體只需在ARM平臺的作業系統中編譯一下就可以移植過去。

但對Android系統開發的軟體,只要能在某臺Arm裝置中執行,就可以在另一臺基於同樣系統的裝置中執行。

6、硬體的開發成本

ARM實際上在CPU晶片中已經整合了幾乎所有功能,幾乎所有線路按原理圖直接拉出就可以了,需要擴充套件的部分一般不多,所以其開發成本會比較低,通常三五萬就可以了。

但X86的外圍線路很多,需要相當經驗的工程師,而且還有BIOS等設計,所以X86主機板的設計費用會比較高,通常要二三十萬。

7、硬體的製造及應用成本

無論Arm或X86主機板其製造成本都是由元件和加工費構成,通常一片ARM的主機板價格與一片X86主機板的價格差不多,但ARM是一片可以獨立使用的產品,但x86主機板通常還要加上:CPU、記憶體、硬碟甚至還有顯示卡。

另外X86還要配上一個電源,這個電源比ARM得電源要貴很多。

所以:明顯X86在硬體方面的應用成本比ARM高得多。

總結上面對比,X86系統和ARM系統應該是兩個完全不同領域的應用,如果功能單一又受到環境制約的應用,如:POS、ATM、多媒體廣告機(現已經有ARM+DSP的產品)、車載電腦終端等應用,應該首先考慮ARM方案,ARM方案與X86相比,其功耗和成本佔有很大優勢。

相關文章