X86 架構(gòu)和 ARM 架構(gòu)
X86是一個(gè)intel通用計(jì)算機(jī)系列的標(biāo)準(zhǔn)編號(hào)縮寫,也標(biāo)識(shí)一套通用的計(jì)算機(jī)指令集合,X86是由Intel推出的一種復(fù)雜指令集,用于控制芯片的運(yùn)行的程序,現(xiàn)在X86已經(jīng)廣泛運(yùn)用到了家用PC領(lǐng)域。x86是一個(gè)intel通用計(jì)算機(jī)系列的標(biāo)準(zhǔn)編號(hào)縮寫,也標(biāo)識(shí)一套通用的計(jì)算機(jī)指令集合,X與處理器沒有任何關(guān)系,它是一個(gè)對(duì)所有*86系統(tǒng)的簡(jiǎn)單的通配符定義,例如:i386, 586,奔騰(pentium)。由于早期intel的CPU編號(hào)都是如8086,80286來編號(hào),由于這整個(gè)系列的CPU都是指令兼容的,所以都用X86來標(biāo)識(shí)所使用的指令集合如今的奔騰,P2,P4,賽揚(yáng)系列都是支持X86指令系統(tǒng)的,所以都屬于X86家族。X86的不足在什么地方?
(1)可變的指令長(zhǎng)度 X86指令的長(zhǎng)度是不定的,而且有幾種不同的格式,結(jié)果造成X86 CPU的解碼工作非常復(fù)雜,為了提高CPU的工作頻率,不得不延長(zhǎng)CPU中的流水線,而過長(zhǎng)的流水線在分支預(yù)測(cè)出錯(cuò)的情況下,又會(huì)帶來CPU工作停滯時(shí)間較長(zhǎng)的弊端。
(2)寄存器的貧乏 X86指令集架構(gòu)只有8個(gè)通用寄存器,而且實(shí)際只能使用6個(gè)。這種情況同現(xiàn)代的超標(biāo)量CPU極不適應(yīng),雖然工程師們采用寄存器重命名的技術(shù)來彌補(bǔ)這個(gè)缺陷,但造成了CPU過于復(fù)雜,流水線過長(zhǎng)的局面。
(3)內(nèi)存訪問 X86指令可訪問內(nèi)存地址,而現(xiàn)代RISC CPU則使用LOAD/STORE模式,只有LOAD和STORE指令才能從內(nèi)存中讀取數(shù)據(jù)到寄存器,所有其他指令只對(duì)寄存器中的操作數(shù)計(jì)算。在目前CPU的速度是內(nèi)存速度的5倍或5倍以上的情況下,后一種工作模式才是正途。 (4)浮點(diǎn)堆棧 X87 FPU是目前最慢的FPU,主要的原因之一就在于X87指令使用一個(gè)操作數(shù)堆棧。如果沒有足夠多的寄存器進(jìn)行計(jì)算,你就不得不使用堆棧來存放數(shù)據(jù),這會(huì)浪費(fèi)大量的時(shí)間來使用FXCH指令(即把正確的數(shù)據(jù)放到堆棧的頂部)。
(5)4GB限制 這似乎不是問題,但是,在6年前,主流PC只有4MB內(nèi)存,而目前的絕大部分PC裝備了64MB以上的內(nèi)存,是以前的16倍,所以,在下一個(gè)十年,PC內(nèi)存突破1GB絕對(duì)不會(huì)令人驚訝,而且目前的大型服務(wù)器已經(jīng)使用了1GB以上的內(nèi)存,突破4GB內(nèi)存的情況很快就會(huì)出現(xiàn)。
(6)芯片變大 所有用于提高X86 CPU性能的方法,如寄存器重命名、巨大的緩沖器、亂序執(zhí)行、分支預(yù)測(cè)、X86指令轉(zhuǎn)化等等,都使CPU的芯片面積變得更大,也限制了工作頻率的進(jìn)一步提高,而額外集成的這些晶體管都只是為了解決X86指令的問題。
GOOGLE的Android系統(tǒng)和蘋果的IPAD、IPHONE推出后,ARM架構(gòu)的電腦系統(tǒng)(特別是在終端方面應(yīng)用)受到用戶的廣泛支持和追捧,ARM+Android成為IT、通信領(lǐng)域最熱門的話題,眾多芯片廠商紛紛推出具有各種獨(dú)特應(yīng)用功能基于ARM結(jié)構(gòu)開發(fā)的產(chǎn)品,近期最新形成的“異構(gòu)概念”更成為電腦今后發(fā)展主要方向。在IT行業(yè)推崇了20多年的“性價(jià)比“概念受到根本的動(dòng)搖和沖擊,“適用的才是最好的”已經(jīng)被越來越多的用戶接受。
我們就ARM架構(gòu)的系統(tǒng)與X86架構(gòu)系統(tǒng)的特性進(jìn)行一個(gè)系統(tǒng)分析,方便用戶在選擇系統(tǒng)時(shí)進(jìn)行理性、合理的比價(jià)分析。
一、性能:
X86結(jié)構(gòu)的電腦無論如何都比ARM結(jié)構(gòu)的系統(tǒng)在性能方面要快得多、強(qiáng)得多。X86的CPU隨便就是1G以上、雙核、四核大行其道,通常使用45nm(甚至更高級(jí))制程的工藝進(jìn)行生產(chǎn);而ARM方面:CPU通常是幾百兆,最近才出現(xiàn)1G左右的CPU,制程通常使用不到65nm制程的工藝,可以說在性能和生產(chǎn)工藝方面ARM根本不是X86結(jié)構(gòu)系統(tǒng)的對(duì)手。
但ARM的優(yōu)勢(shì)不在于性能強(qiáng)大而在于效率,ARM采用RISC流水線指令集,在完成綜合性工作方面根本就處于劣勢(shì),而在一些任務(wù)相對(duì)固定的應(yīng)用場(chǎng)合其優(yōu)勢(shì)就能發(fā)揮得淋漓盡致。
二、擴(kuò)展能力
X86結(jié)構(gòu)的電腦采用“橋”的方式與擴(kuò)展設(shè)備(如:硬盤、內(nèi)存等)進(jìn)行連接,而且x86結(jié)構(gòu)的電腦出現(xiàn)了近30年,其配套擴(kuò)展的設(shè)備種類多、價(jià)格也比較便宜,所以x86結(jié)構(gòu)的電腦能很容易進(jìn)行性能擴(kuò)展,如增加內(nèi)存、硬盤等。
ARM結(jié)構(gòu)的電腦是通過專用的數(shù)據(jù)接口使CPU與數(shù)據(jù)存儲(chǔ)設(shè)備進(jìn)行連接,所以ARM的存儲(chǔ)、內(nèi)存等性能擴(kuò)展難以進(jìn)行(一般在產(chǎn)品設(shè)計(jì)時(shí)已經(jīng)定好其內(nèi)存及數(shù)據(jù)存儲(chǔ)的容量),所以采用ARM結(jié)構(gòu)的系統(tǒng),一般不考慮擴(kuò)展?;痉钚?ldquo;夠用就好”的原則。
三、操作系統(tǒng)的兼容性
X86系統(tǒng)由微軟及Intel構(gòu)建的Wintel聯(lián)盟一統(tǒng)天下,壟斷了個(gè)人電腦操作系統(tǒng)近30年,形成巨大的用戶群,也深深固化了眾多用戶的使用習(xí)慣,同時(shí)x86系統(tǒng)在硬件和軟件開發(fā)方面已經(jīng)形成統(tǒng)一的標(biāo)準(zhǔn),幾乎所有x86硬件平臺(tái)都可以直接使用微軟的視窗系統(tǒng)及現(xiàn)在流行的幾乎所有工具軟件,所以x86系統(tǒng)在兼容性方面具有無可比擬的優(yōu)勢(shì)。
ARM系統(tǒng)幾乎都采用Linux的操作系統(tǒng),而且?guī)缀跛械挠布到y(tǒng)都要單獨(dú)構(gòu)建自己的系統(tǒng),與其他系統(tǒng)不能兼容,這也導(dǎo)致其應(yīng)用軟件不能方便移植,這一點(diǎn)一直嚴(yán)重制約了ARM系統(tǒng)的發(fā)展和應(yīng)用。GOOGLE開發(fā)了開放式的Android系統(tǒng)后,統(tǒng)一了ARM結(jié)構(gòu)電腦的操作系統(tǒng),使新推出基于ARM結(jié)構(gòu)的電腦系統(tǒng)有了統(tǒng)一的、開放式的、免費(fèi)的操作系統(tǒng),為ARM的發(fā)展提供了強(qiáng)大的支持和動(dòng)力。
四、軟件開發(fā)的方便性及可使用工具的多樣性
X86結(jié)構(gòu)的系統(tǒng)推出已經(jīng)近30年,在此期間,x86電腦經(jīng)過飛速發(fā)展的黃金時(shí)期,用戶的應(yīng)用、軟件配套、軟件開發(fā)工具的配套及兼容等工作,已經(jīng)到達(dá)非常成熟甚至可以說是完美的境界。所以使用X86電腦系統(tǒng)不僅有大量的第三方軟件可供選擇,也有大量的軟件編程工具可以幫助您完成您所希望完成的工作。
Arm結(jié)構(gòu)的電腦系統(tǒng)因?yàn)橛布阅艿闹萍s、操作系統(tǒng)的精簡(jiǎn)、以及系統(tǒng)兼容等問題的制約,造成Arm結(jié)構(gòu)的電腦系統(tǒng)不可能像X86電腦系統(tǒng)那樣有眾多的編程工具和第三方軟件可供選擇及使用,ARM的編程語(yǔ)言大多采用C和JAVA。
對(duì)這一點(diǎn)的比較,更直接的結(jié)論是:基于x86結(jié)構(gòu)電腦系統(tǒng)平臺(tái)開發(fā)軟件比arm結(jié)構(gòu)系統(tǒng)更容易、更簡(jiǎn)單、實(shí)際成本也更低,同時(shí)更容易找到第三方軟件(免去自己開發(fā)的時(shí)間和成本),而且軟件移植更容易。
從以上對(duì)比分析,給了我們的一個(gè)很清晰的感覺,ARM和X86結(jié)構(gòu)的電腦根本就無法對(duì)比,ARM根本就不是X86電腦的的對(duì)手。是的,如果只考慮上述幾個(gè)方面的要數(shù),ARM確實(shí)無法與X86電腦競(jìng)爭(zhēng),甚至連比較的資格都沒有。但是近1、2年,ARM的產(chǎn)品在終端應(yīng)用特別是手持終端應(yīng)用飛速發(fā)展(如:智能手機(jī)、平板電腦等),其銷售數(shù)量已經(jīng)遠(yuǎn)遠(yuǎn)超出x86結(jié)構(gòu)的電腦銷售數(shù)量,可見ARM是具有其與X86結(jié)構(gòu)電腦不可對(duì)比的優(yōu)勢(shì)。該優(yōu)勢(shì)就是:功耗.
五、功耗
X86電腦因考慮要適應(yīng)各種應(yīng)用的需求,其發(fā)展思路是:性能+速度。20多年來x86電腦的速度從原來8088的幾M發(fā)展到現(xiàn)在隨便就是幾G,而且還是幾核,其速度和性能已經(jīng)提升了千、萬(wàn)倍,技術(shù)進(jìn)步使x86電腦成為大眾生活中不可缺少的一部分。但是x86電腦發(fā)展的方向和模式,使其功耗一直居高不下,一臺(tái)電腦隨便就是幾百瓦,即使是號(hào)稱低功耗節(jié)能的手提電腦或上網(wǎng)本,也有十幾、二十多瓦的功耗,這與ARM結(jié)構(gòu)的電腦就無法相比。
ARM的設(shè)計(jì)及發(fā)展思路是:滿足某個(gè)特殊方面的應(yīng)用即可,在某一專項(xiàng)領(lǐng)域是最強(qiáng)的,(哪怕在其他方面一無是處),這樣Arm以其不是最強(qiáng)的技術(shù),同樣也不是很高級(jí)制程的制造工藝,生產(chǎn)出性能不是很強(qiáng)的電腦系統(tǒng),但在某個(gè)專業(yè)應(yīng)用方面則是最好的,特別是在眾多終端應(yīng)用,尤其在移動(dòng)終端應(yīng)用上占有絕對(duì)優(yōu)勢(shì)的統(tǒng)治地位,這個(gè)原因就是:功耗。
高功耗導(dǎo)致了一系列X86系統(tǒng)無法解決的問題出現(xiàn):系統(tǒng)的續(xù)航能力弱、體積無法縮小、穩(wěn)定性差、對(duì)使用環(huán)境要求高等問題。從這里我們可以看到x86系統(tǒng)與ARM系統(tǒng)是在兩個(gè)完全不同領(lǐng)域方面的應(yīng)用,他們之間根本不存在替換性,在服務(wù)器、工作站以及其他高性能運(yùn)算等應(yīng)用方面,是可以不考慮功耗和使用環(huán)境等條件時(shí),X86系統(tǒng)占了優(yōu)絕對(duì)優(yōu)勢(shì);但受功耗、環(huán)境等條件制約且工作任務(wù)固定的情況下ARM就占有很大的優(yōu)勢(shì),在手持式移動(dòng)終端領(lǐng)域,X86的功耗更使他英雄毫無用武之地。
但在很多的應(yīng)用終端領(lǐng)域,現(xiàn)正成為兩大陣營(yíng)爭(zhēng)奪的重點(diǎn),ARM陣營(yíng)努力增加其性能和系統(tǒng)(特別是操作系統(tǒng))的通用性,蠶食x86系統(tǒng)的部分終端應(yīng)用市場(chǎng);X86陣營(yíng)努力降低功耗保住其市場(chǎng),同時(shí)侵入手持移動(dòng)終端市場(chǎng)。
我們今天討論的重點(diǎn)就是在兩大陣營(yíng)都能可以覆蓋的終端應(yīng)用領(lǐng)域進(jìn)行對(duì)比、分析。這類型的應(yīng)用一定是終端應(yīng)用,通常有下面幾個(gè)特征:
1、系統(tǒng)的工作性質(zhì)比較固定(如:POS、ATM、車載電腦系統(tǒng)、多媒體廣告播放系統(tǒng)、視頻監(jiān)控系統(tǒng),以及眾多的信息接收、控制系統(tǒng)和專業(yè)的工控系統(tǒng)等等);
2、應(yīng)用環(huán)境比較惡劣,如:溫度變化很大,高溫超過40度,低溫達(dá)零下20度;多塵、潮濕等;
3、有一定的應(yīng)用數(shù)量,但數(shù)量不是很大。
這部分的應(yīng)用領(lǐng)域傳統(tǒng)上是由X86結(jié)構(gòu)的低功耗工控機(jī)(系統(tǒng))實(shí)現(xiàn)的,但近幾年ARM系統(tǒng)的飛速發(fā)展,特別是Android操作系統(tǒng)出現(xiàn)后,ARM+Android大有取代x86系統(tǒng)占領(lǐng)(低功耗)終端應(yīng)用領(lǐng)域的趨勢(shì)。我們?cè)诳紤]這種應(yīng)用對(duì)比時(shí)根據(jù)ARM和X86的特性對(duì)比主要還考慮以下以及因數(shù):
1、性能:
如果ARM系統(tǒng)的性能能滿足應(yīng)用需求時(shí),建議盡可能可慮采用ARM結(jié)構(gòu)的產(chǎn)品,否則只能考慮X86的產(chǎn)品。注意在這里我們要強(qiáng)調(diào)的是:不要講兩個(gè)系統(tǒng)的絕對(duì)性能進(jìn)行比較,而是以能否您的應(yīng)用特點(diǎn)為標(biāo)準(zhǔn)進(jìn)行分析。
2、應(yīng)用數(shù)量:
如果您的應(yīng)用數(shù)量太少,您可能根本不值得獨(dú)立開發(fā)一套應(yīng)用系統(tǒng),但如果您的應(yīng)用數(shù)量達(dá)到幾百甚至過千時(shí),您是值得考慮自己開發(fā)一套新的系統(tǒng)的。因?yàn)椋篈rm的開發(fā)成本和制造成本相對(duì)比較低,如果有幾百個(gè)以上終端應(yīng)用,應(yīng)該可以分?jǐn)偟糸_發(fā)成本。
如果選用X86結(jié)構(gòu)的系統(tǒng),根本不應(yīng)該考慮單獨(dú)開發(fā)一套專用系統(tǒng)(因?yàn)殚_發(fā)成本太高,可能是ARM的10倍),而是在市場(chǎng)上篩選出最接近您需求的產(chǎn)品,以避免高昂的硬件開發(fā)成本,和今后的制造成本(如果批次生產(chǎn)的數(shù)量不夠,排產(chǎn)成本也會(huì)很高)。
3、操作系統(tǒng)
ARM的操作系統(tǒng)通常是單獨(dú)建立一個(gè)自己的Linux系統(tǒng),且系統(tǒng)與系統(tǒng)間不能兼容,這嚴(yán)重制約了Arm的應(yīng)用擴(kuò)展,但Android出現(xiàn)后,系統(tǒng)兼容的屏障正逐步消失,促進(jìn)了系統(tǒng)以及應(yīng)用軟件的兼容,大大擴(kuò)大了ARM應(yīng)用軟件的的數(shù)量同時(shí)擴(kuò)大了其應(yīng)用空間。
4、功耗以及功耗延伸的系列問題
ARM的優(yōu)勢(shì)是功耗低,其實(shí)低功耗還意味著:
1)穩(wěn)定性高:因?yàn)楣脑礁唠娮釉骷姆€(wěn)定性和可靠性越差,對(duì)低功耗的產(chǎn)品只要選擇好外圍元件的品質(zhì),系統(tǒng)的穩(wěn)定性不會(huì)有太大問題;
2)散熱成本低和可以考慮更小的產(chǎn)品體積:對(duì)高功耗的產(chǎn)品不可避免要考慮散熱問題,而散熱設(shè)備(或器件)的存在,有制約了產(chǎn)品的體積,對(duì)某些場(chǎng)合的應(yīng)用構(gòu)成致命的制約。但ARM的功耗<1W,完全不用考慮散熱問題。
3)功耗低對(duì)供電電源的要求低:幾乎所有電子產(chǎn)品,(在同等條件下)功耗越高對(duì)電源的要求越高,電源的成本就越高。
4)功耗低電池的續(xù)航時(shí)間長(zhǎng),這不作詳盡解釋。
5)功耗低對(duì)抗環(huán)境傷害的能力強(qiáng):低功耗產(chǎn)品因?yàn)椴挥每紤]散熱,可以將產(chǎn)品密封保護(hù)起來,但高功耗產(chǎn)品必須散熱,甚至需要風(fēng)扇幫助散熱,這樣必然使很多的元件和線路裸露在空氣中,被空氣中的塵埃、濕氣、酸堿物質(zhì)等腐蝕。
5、軟件開發(fā)成本問題
Arm的操作系統(tǒng)很小(精簡(jiǎn))不可能帶很多工具,通常基于Arm的軟件大多用C或JAVA開發(fā),其成本會(huì)比基于X86系統(tǒng)的高。而且對(duì)大多數(shù)ARM而言,因其操作系統(tǒng)不一樣,軟件業(yè)不能在兩個(gè)系統(tǒng)中自由互換使用,但一般來說:用C或JAVA編寫的軟件只需在ARM平臺(tái)的操作系統(tǒng)中編譯一下就可以移植過去。
但對(duì)Android系統(tǒng)開發(fā)的軟件,只要能在某臺(tái)Arm設(shè)備中運(yùn)行,就可以在另一臺(tái)基于同樣系統(tǒng)的設(shè)備中運(yùn)行。
6、硬件的開發(fā)成本
ARM實(shí)際上在CPU芯片中已經(jīng)整合了幾乎所有功能,幾乎所有線路按原理圖直接拉出就可以了,需要擴(kuò)展的部分一般不多,所以其開發(fā)成本會(huì)比較低,通常三五萬(wàn)就可以了。
但X86的外圍線路很多,需要相當(dāng)經(jīng)驗(yàn)的工程師,而且還有BIOS等設(shè)計(jì),所以X86主板的設(shè)計(jì)費(fèi)用會(huì)比較高,通常要二三十萬(wàn)。
7、硬件的制造及應(yīng)用成本
無論Arm或X86主板其制造成本都是由元件和加工費(fèi)構(gòu)成,通常一片ARM的主板價(jià)格與一片X86主板的價(jià)格差不多,但ARM是一片可以獨(dú)立使用的產(chǎn)品,但x86主板通常還要加上:CPU、內(nèi)存、硬盤甚至還有顯卡。另外X86還要配上一個(gè)電源,這個(gè)電源比ARM得電源要貴很多。所以:明顯X86在硬件方面的應(yīng)用成本比ARM高得多。
總結(jié)上面對(duì)比,X86系統(tǒng)和ARM系統(tǒng)應(yīng)該是兩個(gè)完全不同領(lǐng)域的應(yīng)用,如果功能單一又受到環(huán)境制約的應(yīng)用,如:POS、ATM、多媒體廣告機(jī)(現(xiàn)已經(jīng)有ARM+DSP的產(chǎn)品)、車載電腦終端等應(yīng)用,應(yīng)該首先考慮ARM方案,ARM方案與X86相比,其功耗和成本占有很大優(yōu)勢(shì)。
評(píng)論