博客專欄

EEPW首頁 > 博客 > 一文讀懂CPU架構(gòu)

一文讀懂CPU架構(gòu)

發(fā)布人:傳感器技術(shù) 時間:2022-09-26 來源:工程師 發(fā)布文章

中央處理單元(CPU)主要由運算器、控制器、寄存器三部分組成,從字面意思看運算器就是起著運算的作用,控制器就是負責發(fā)出CPU每條指令所需要的信息,寄存器就是保存運算或者指令的一些臨時文件,這樣可以保證更高的速度。


圖片


CPU有著處理指令、執(zhí)行操作、控制時間、處理數(shù)據(jù)四大作用,打個比喻來說,CPU就像我們的大腦,幫我們完成各種各樣的生理活動。因此如果沒有 CPU,那么電腦就是一堆廢物,無法工作。移動設(shè)備其實很復(fù)雜,這些CPU需要執(zhí)行數(shù)以百萬計的指示,才能使它向我們期待的方向運行,而CPU的速度和功率效率是至關(guān)重要的。速度影響用戶體驗,而效率影響電池壽命。最完美的移動設(shè)備是高性能和低功耗相結(jié)合。


CPU架構(gòu)是CPU廠商給屬于同一系列的CPU產(chǎn)品定的一個規(guī)范,主要目的是為了區(qū)分不同類型CPU的重要標示。


在計算世界中,“體系結(jié)構(gòu)”一詞被用來描述一個抽象的機器,而不是一個具體的機器實現(xiàn)。一般而言,一個CPU的體系結(jié)構(gòu)有一個指令集加上一些寄存器而組成。


從CPU發(fā)明到現(xiàn)在,有非常多種架構(gòu),從我們熟悉的X86、ARM,到不太熟悉的MIPS、IA64,它們之間的差距都非常大。但是如果從最基本的邏輯角度來分類的話,它們可以被分為兩大類,即所謂的“復(fù)雜指令集”與“精簡指令集”系統(tǒng),也就是經(jīng)??吹降摹癈ISC”與“RISC”。


“指令集”與“體系結(jié)構(gòu)”這兩個術(shù)語是同義詞。x86、ARM、MIPS算是是目前最常見也相對最知名的處理器架構(gòu)。·


x86架構(gòu)




圖片


x86或80x86是英特爾首先開發(fā)制造的一種微處理器體系結(jié)構(gòu)的泛稱。該系列較早期的處理器名稱是以數(shù)字來表示,并以“86”作為結(jié)尾,包括Intel 8086、80186、80286、80386以及80486,因此其架構(gòu)被稱為“x86”。


x86架構(gòu)于1978年推出的Intel 8086中央處理器中首度出現(xiàn),它是從Intel 8008處理器中發(fā)展而來的,而8008則是發(fā)展自Intel 4004的。8086在三年后為IBM PC所選用,之后x86便成為了個人電腦的標準平臺,成為了歷來最成功的CPU架構(gòu)。8086是16位元處理器;直到1985年32位元的80386的開發(fā),這個架構(gòu)都維持是16位元。接著一系列的處理器表示了32位元架構(gòu)的細微改進,推出了數(shù)種的擴充,直到2003年AMD對于這個架構(gòu)發(fā)展了64位元的擴充,并命名為AMD64。后來Intel也推出了與之兼容的處理器,并命名為Intel 64。兩者一般被統(tǒng)稱為x86-64或x64,開創(chuàng)了x86的64位時代。


圖片


Intel早在1990年代就與惠普合作提出了一種用在安騰系列處理器中的獨立的64位架構(gòu),這種架構(gòu)被稱為IA-64。IA-64是一種嶄新的架構(gòu),和x86架構(gòu)完全沒有相似性。


x86架構(gòu)是重要地可變指令長度的CISC。字組(word, 4字節(jié))長度的內(nèi)存存取允許不對齊內(nèi)存位址,字組是以低位字節(jié)在前的順序儲存在內(nèi)存中。向后相容性一直都是在x86架構(gòu)的發(fā)展背后一股驅(qū)動力量(設(shè)計的需要決定了這項因素而常常導(dǎo)致批評,尤其是來自對手處理器的擁護者和理論界,他們對于一個被廣泛認為是落后設(shè)計的架構(gòu)的持續(xù)成功感到不解)。但在較新的微架構(gòu)中,x86處理器會把x86指令轉(zhuǎn)換為更像RISC的微指令再予執(zhí)行,從而獲得可與RISC比擬的超標量性能,而仍然保持向前兼容。


如今,我們面前的PC機基本都是x86架構(gòu)計算機。如果你想嘗試其他架構(gòu)的計算機,首先要考慮的是是否放棄Windows系統(tǒng)。(注:Windows 8 起,微軟開始支持x86和ARM兩種架構(gòu)) ·


ARM架構(gòu)




圖片


ARM架構(gòu)(過去稱作進階精簡指令集機器(Advanced RISC Machine),更早稱作Acorn RISC Machine)是一個32位元精簡指令集(RISC) 中央處理器(processor)架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)(embedded)設(shè)計。由于節(jié)能的特點,ARM處理器非常適用于移動通訊領(lǐng)域,符合其主要設(shè)計目標為低耗電的特性。在今日,ARM家族占了所有32位元嵌入式處理器75%的比例[1],使它成為占全世界最多數(shù)的32位元架構(gòu)之一。ARM處理器可以在很多消費性電子產(chǎn)品上看到,從可攜式裝置(PDA、移動電話、多媒體播放器、掌上型電玩,和計算機)到電腦周邊設(shè)備(硬盤、桌上型路由器)甚至在導(dǎo)彈的彈載計算機等軍用設(shè)施中都有他的存在。在此家族中衍伸的重要產(chǎn)品還包括Marvell的XScale架構(gòu)和德州儀器的OMAP系列。



ARM架構(gòu)包含了下述RISC特性:


1、讀取/儲存 架構(gòu)。


2、正交指令集(任意存取指令可以任意的尋址方式存取數(shù)據(jù)Orthogonal instruction set)


3、大量的16 × 32-bit 寄存器陣列(register file)。


4、固定的32 bits 操作碼(opcode)長度,降低編碼數(shù)量所產(chǎn)生的耗費,減輕解碼和流水線化的負擔。


5、大多均為一個CPU周期執(zhí)行。


為了補強這種簡單的設(shè)計方式,相較于同時期的處理器如Intel 80286和Motorola 68020,還多加了一些特殊設(shè)計:


1、大部分指令可以條件式地執(zhí)行,降低在分支時產(chǎn)生的負重,彌補分支預(yù)測器(branch predictor)的不足。


2、算數(shù)指令只會在要求時更改條件編碼(conditioncode)。


3、32-bit筒型位移器(barrelshifter)可用來執(zhí)行大部分的算數(shù)指令和尋址計算而不會損失效能。


4、強大的索引尋址模式(addressing mode)。


5、精簡但快速的雙優(yōu)先級中斷子系統(tǒng),具有可切換的暫存器組。


在今日,ARM家族占了所有32位元嵌入式處理器75%的比例,使它成為占全世界最多數(shù)的32位元架構(gòu)之一。ARM處理器可以在很多消費性電子產(chǎn)品上看到,從可攜式裝置(PDA、移動電話、多媒體播放器、掌上型電玩、計算機)到電腦周邊設(shè)備(硬盤、桌上型路由器)甚至在導(dǎo)彈的彈載計算機等軍用設(shè)施中都有他的存在。


MIPS架構(gòu)





MIPS架構(gòu)(英語:MIP Sarchitecture,為“無內(nèi)部互鎖流水級的微處理器Microprocessor without Interlocked Pipeline Stages的縮寫,也是Millionsof Instructions Per Second的相關(guān)語),是一種采取精簡指令集(RISC)的處理器架構(gòu),1981年出現(xiàn),由MIPS科技公司開發(fā)并授權(quán),廣泛被使用在許多電子產(chǎn)品、網(wǎng)絡(luò)設(shè)備、個人娛樂裝置與商業(yè)裝置上。其機制是盡量利用軟件辦法避免流水線中的數(shù)據(jù)相關(guān)問題。它最早是在80年代初期由斯坦福(Stanford)大學(xué)Hennessy教授領(lǐng)導(dǎo)的研究小組研制出來的。MIPS公司的R系列就是在此基礎(chǔ)上開發(fā)的RISC工業(yè)產(chǎn)品的微處理器。這些系列產(chǎn)品為很多計算機公司采用構(gòu)成各種工作站和計算機系統(tǒng)。


MIPS是出現(xiàn)最早的商業(yè)RISC架構(gòu)芯片之一。MIPS的系統(tǒng)結(jié)構(gòu)及設(shè)計理念比較先進,強調(diào)軟硬件協(xié)同提高性能,同時簡化硬件設(shè)計。


圖片


2002年,中國科學(xué)院計算所開始研發(fā)龍芯處理器,采用MIPS架構(gòu),但未經(jīng)MIPS公司的授權(quán),遭到侵權(quán)的控告。2007年,中國科學(xué)院與MIPS公司達成和解,得到正式授權(quán)。中國龍芯2和前代產(chǎn)品采用的都是64位MIPS指令架構(gòu)。過去,MIPS架構(gòu)的產(chǎn)品多見于工作站領(lǐng)域,索尼PS2游戲機所用的“Emotion Engine”也采用MIPS指令,這些MIPS處理器的性能都非常強勁,而龍芯2也屬于這個陣營,在軟件方面與上述產(chǎn)品完全兼容。


ARM與MIPS




與當前商業(yè)化最成功的ARM架構(gòu)相比,MIPS的優(yōu)勢主要有以下幾點:


1、MIPS支持64bit指令和操作,ARM目前只到32bit 。


2、MIPS有專門的除法器,可以執(zhí)行除法指令 。


3、MIPS的內(nèi)核寄存器比ARM多一倍,所以同樣的性能下MIPS的功耗會比ARM更低,同樣功耗下性能比ARM更高。


4、MIPS指令比ARM稍微多一點,稍微靈活一點。


5、有觀點認為MIPS的bank寄存器性能也要好于ARM,不過沒見過能反映出來的測試。


以上為MIPS對比ARM架構(gòu)的優(yōu)勢,接下來我們再看一看MIPS架構(gòu)的不足之處, 與ARM架構(gòu)相比,MIPS架構(gòu)也存在著以下幾點不足:


1、MIPS的內(nèi)存地址起始有問題,這導(dǎo)致了MIPS在內(nèi)存和cache的支持方面都有限制,現(xiàn)在的MIPS處理器單內(nèi)核面對高容量內(nèi)存時有問題。


2、MIPS今后的發(fā)展方向是并行線程,類似INTEL的超線程,而ARM未來的發(fā)展方向是物理多核,目前看來物理多核占優(yōu)。由此來看,我國的龍芯向多核發(fā)展還是頗具遠見的。


3、MIPS雖然結(jié)構(gòu)更加簡單,但是到現(xiàn)在還是順序單****,ARM已經(jīng)進化到了亂序雙****,甚至NV的丹佛已經(jīng)是亂序三****了。


商業(yè)上二者差別也大,ARM很昂貴,而且不能隨意自行更改內(nèi)核。而MIPS就要開放的多了。(這也算龍芯為什么不采用ARM架構(gòu)的原因了。)


ARM與X86架構(gòu)




性能對比


X86結(jié)構(gòu)的電腦無論如何都比ARM結(jié)構(gòu)的系統(tǒng)在性能方面要快得多、強得多。X86的CPU的主頻隨便就是1GHZ以上、雙核、四核大行其道,現(xiàn)在通常使用22nm制程的工藝進行生產(chǎn);而ARM方面:CPU通常是幾百兆,最近才出現(xiàn)1G左右的CPU,制程通常使用32nm或45nm制程的工藝,可以說在性能和生產(chǎn)工藝方面ARM根本不是X86結(jié)構(gòu)系統(tǒng)的對手。


但ARM的優(yōu)勢不在于性能強大而在于效率,ARM采用RISC流水線指令集,在完成綜合性工作方面根本就處于劣勢,而在一些任務(wù)相對固定的應(yīng)用場合其優(yōu)勢就能發(fā)揮得淋漓盡致。


擴展能力對比


X86結(jié)構(gòu)的電腦采用“橋”的方式與擴展設(shè)備(如:硬盤、內(nèi)存等)進行連接,而且x86結(jié)構(gòu)的電腦出現(xiàn)了近30年,其配套擴展的設(shè)備種類多、價格也比較便宜,所以x86結(jié)構(gòu)的電腦能很容易進行性能擴展,如增加內(nèi)存、硬盤等。


ARM結(jié)構(gòu)的電腦是通過專用的數(shù)據(jù)接口使CPU與數(shù)據(jù)存儲設(shè)備進行連接,所以ARM的存儲、內(nèi)存等性能擴展難以進行(一般在產(chǎn)品設(shè)計時已經(jīng)定好其內(nèi)存及數(shù)據(jù)存儲的容量),所以采用ARM結(jié)構(gòu)的系統(tǒng),一般不考慮擴展?;痉钚小皦蛴镁秃谩钡脑瓌t。


操作系統(tǒng)的兼容性


X86系統(tǒng)由微軟及Intel構(gòu)建的Wintel聯(lián)盟一統(tǒng)天下,壟斷了個人電腦操作系統(tǒng)近30年,形成巨大的用戶群,也深深固化了眾多用戶的使用習(xí)慣,同時x86系統(tǒng)在硬件和軟件開發(fā)方面已經(jīng)形成統(tǒng)一的標準,幾乎所有x86硬件平臺都可以直接使用微軟的視窗系統(tǒng)及現(xiàn)在流行的幾乎所有工具軟件,所以x86系統(tǒng)在兼容性方面具有無可比擬的優(yōu)勢。


ARM系統(tǒng)幾乎都采用Linux的操作系統(tǒng),而且?guī)缀跛械挠布到y(tǒng)都要單獨構(gòu)建自己的系統(tǒng),與其他系統(tǒng)不能兼容,這也導(dǎo)致其應(yīng)用軟件不能方便移植,這一點一直嚴重制約了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),為ARM的發(fā)展提供了強大的支持和動力。


軟件開發(fā)的方便性及可使用工具的多樣性


軟件配套、軟件開發(fā)工具的配套及兼容等工作,X86已經(jīng)到達非常成熟甚至可以說是完美的境界。所以使用X86電腦系統(tǒng)不僅有大量的第三方軟件可供選擇也有大量的軟件編程工具可以 幫助您完成您所希望完成的工作。


Arm結(jié)構(gòu)的電腦系統(tǒng)因為硬件性能的制約、操作系統(tǒng)的精簡、以及系統(tǒng)兼容等問題的制約,造成Arm結(jié)構(gòu)的電腦系統(tǒng)不可能像X86電腦系統(tǒng)那樣有眾多的編程工具和第三方軟件可供選擇及使用,ARM的編程語言大多采用C和JAVA或C++。


因此,基于x86結(jié)構(gòu)電腦系統(tǒng)平臺開發(fā)軟件比arm結(jié)構(gòu)系統(tǒng)更容易、更簡單、實際成本也更低,同時更容易找到第三方軟件(免去自己開發(fā)的時間和成本),而且軟件移植更容易。


功耗對比


X86電腦因考慮要適應(yīng)各種應(yīng)用的需求,其發(fā)展思路是:性能+速度。20多年來x86電腦的速度從原來8088的幾M發(fā)展到現(xiàn)在隨便就是幾G,而且還是幾核,其速度和性能已經(jīng)提升了千、萬倍,技術(shù)進步使x86電腦成為大眾生活中不可缺少的一部分。但是x86電腦發(fā)展的方向和模式,使其功耗一直居高不下,一臺電腦隨便就是幾百瓦,即使是號稱低功耗節(jié)能的手提電腦或上網(wǎng)本,也有十幾、二十多瓦的功耗,這與ARM結(jié)構(gòu)的電腦就無法相比。


ARM的設(shè)計及發(fā)展思路是:滿足某個特殊方面的應(yīng)用即可,在某一專項領(lǐng)域是最強的,(哪怕在其他方面一無是處),這樣Arm以其不是最強的技術(shù),同樣也不是很高級制程的制造工藝,生產(chǎn)出性能不是很強的電腦系統(tǒng),但在某個專業(yè)應(yīng)用方面則是最好的,特別是在眾多終端應(yīng)用,尤其在移動終端應(yīng)用上占有絕對優(yōu)勢的統(tǒng)治地位,這個原因就是:耗耗。


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


從以上對比分析,給了我們的一個很清晰的感覺,ARM和X86結(jié)構(gòu)的電腦根本就無法對比,ARM根本就不是X86電腦的的對手。如果只考慮上述幾個方面的要數(shù),ARM確實無法與X86電腦競爭,甚至連比較的資格都沒有。但是近1、2年,ARM的產(chǎn)品在終端應(yīng)用特別是手持終端應(yīng)用飛速發(fā)展(如:智能手機、平板電腦等),其銷售數(shù)量已經(jīng)遠遠超出x86結(jié)構(gòu)的電腦銷售數(shù)量,可見ARM是具有其與X86結(jié)構(gòu)電腦不可對比的優(yōu)勢。


X86系統(tǒng)和ARM系統(tǒng)應(yīng)該是兩個完全不同領(lǐng)域的應(yīng)用,如果功能單一又受到環(huán)境制約的應(yīng)用,如:POS、ATM、多媒體廣告機(現(xiàn)已經(jīng)有ARM+DSP的產(chǎn)品)、車載電腦終端等應(yīng)用,應(yīng)該首先考慮ARM方案,ARM方案與X86相比,其功耗和成本占有很大優(yōu)勢。


現(xiàn)在ARM很強大,但它距離X86還是非常遙遠,畢竟它們設(shè)計的出發(fā)點不一樣, X86無法做到ARM的功耗,而ARM也無法做到X86的性能。不過這也不意味著ARM以后就只能占據(jù)低端,畢竟任何架構(gòu)都有其優(yōu)點,一旦有應(yīng)用針對其進行優(yōu)化,那么就可以揚長避短。X86的繁榮也正是因為整個世界的資源都針對它進行了優(yōu)化所致。只要能為ARM找到合適的應(yīng)用與適合的領(lǐng)域,未來ARM也未必不可以進入更高的層次。


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: CPU

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉