中央處理單元(CPU)主要由運算器、控制器、寄存器三部分組成,從字面意思看運算器就是起著運算的作用,控制器就是負責發出CPU每條指令所需要的信息,寄存器就是保存運算或者指令的一些臨時文件,這樣可以保證更高的速度。
CPU有著處理指令、執行操作、控制時間、處理數據四大作用,打個比喻來說,CPU就像我們的大腦,幫我們完成各種各樣的生理活動。因此如果沒有 CPU,那么電腦就是一堆廢物,無法工作。移動設備其實很復雜,這些CPU需要執行數以百萬計的指示,才能使它向我們期待的方向運行,而CPU的速度和功率效率是至關重要的。速度影響用戶體驗,而效率影響電池壽命。最完美的移動設備是高性能和低功耗相結合。
CPU架構是CPU廠商給屬于同一系列的CPU產品定的一個規范,主要目的是為了區分不同類型CPU的重要標示。
在計算世界中,“體系結構”一詞被用來描述一個抽象的機器,而不是一個具體的機器實現。 一般而言,一個CPU的體系結構有一個指令集加上一些寄存器而組成。
從CPU發明到現在,有非常多種架構,從我們熟悉的X86、ARM,到不太熟悉的MIPS、IA64,它們之間的差距都非常大。但是如果從最基本的邏輯角度來分類的話,它們可以被分為兩大類,即所謂的“復雜指令集”與“精簡指令集”系統,也就是經常看到的“CISC”與“RISC”。
“指令集”與“體系結構”這兩個術語是同義詞。x86、ARM、MIPS算是是目前最常見也相對最知名的處理器架構。 ·
x86架構
x86或80x86是英特爾首先開發制造的一種微處理器體系結構的泛稱。該系列較早期的處理器名稱是以數字來表示,并以“86”作為結尾,包括Intel 8086、80186、80286、80386以及80486,因此其架構被稱為“x86”。
x86架構于1978年推出的Intel 8086中央處理器中首度出現,它是從Intel 8008處理器中發展而來的,而8008則是發展自Intel 4004的。8086在三年后為IBM PC所選用,之后x86便成為了個人電腦的標準平臺,成為了歷來最成功的CPU架構。 8086是16位元處理器;直到1985年32位元的80386的開發,這個架構都維持是16位元。接著一系列的處理器表示了32位元架構的細微改進,推出了數種的擴充,直到2003年AMD對于這個架構發展了64位元的擴充,并命名為AMD64。后來Intel也推出了與之兼容的處理器,并命名為Intel 64。兩者一般被統稱為x86-64或x64,開創了x86的64位時代。
Intel早在1990年代就與惠普合作提出了一種用在安騰系列處理器中的獨立的64位架構,這種架構被稱為IA-64。IA-64是一種嶄新的架構,和x86架構完全沒有相似性。
x86架構是重要地可變指令長度的CISC。字組(word, 4字節)長度的內存存取允許不對齊內存位址,字組是以低位字節在前的順序儲存在內存中。向后相容性一直都是在x86架構的發展背后一股驅動力量(設計的需要決定了這項因素而常常導致批評,尤其是來自對手處理器的擁護者和理論界,他們對于一個被廣泛認為是落后設計的架構的持續成功感到不解)。但在較新的微架構中,x86處理器會把x86指令轉換為更像RISC的微指令再予執行,從而獲得可與RISC比擬的超標量性能,而仍然保持向前兼容。
如今,我們面前的PC機基本都是x86架構計算機。如果你想嘗試其他架構的計算機,首先要考慮的是是否放棄Windows系統。(注:Windows 8 起,微軟開始支持x86和ARM兩種架構) ·
ARM架構
ARM架構(過去稱作進階精簡指令集機器(Advanced RISC Machine),更早稱作Acorn RISC Machine)是一個32位元精簡指令集(RISC) 中央處理器(processor)架構,其廣泛地使用在許多嵌入式系統(embedded)設計。由于節能的特點,ARM處理器非常適用于移動通訊領域,符合其主要設計目標為低耗電的特性。在今日,ARM家族占了所有32位元嵌入式處理器75%的比例[1],使它成為占全世界最多數的32位元架構之一。ARM處理器可以在很多消費性電子產品上看到,從可攜式裝置(PDA、移動電話、多媒體播放器、掌上型電玩,和計算機)到電腦周邊設備(硬盤、桌上型路由器)甚至在導彈的彈載計算機等軍用設施中都有他的存在。在此家族中衍伸的重要產品還包括Marvell的XScale架構和德州儀器的OMAP系列。
ARM架構包含了下述RISC特性:
1、讀取/儲存 架構。
2、正交指令集(任意存取指令可以任意的尋址方式存取數據Orthogonal instruction set)
3、大量的16 × 32-bit 寄存器陣列(register file)。
4、固定的32 bits 操作碼(opcode)長度,降低編碼數量所產生的耗費,減輕解碼和流水線化的負擔。
5、大多均為一個CPU周期執行。
為了補強這種簡單的設計方式,相較于同時期的處理器如Intel 80286和Motorola 68020,還多加了一些特殊設計:
1、大部分指令可以條件式地執行,降低在分支時產生的負重,彌補分支預測器(branch predictor)的不足。
2、算數指令只會在要求時更改條件編碼(conditioncode)。
3、32-bit筒型位移器(barrelshifter)可用來執行大部分的算數指令和尋址計算而不會損失效能。
4、強大的索引尋址模式(addressing mode)。
5、精簡但快速的雙優先級中斷子系統,具有可切換的暫存器組。
在今日,ARM家族占了所有32位元嵌入式處理器75%的比例,使它成為占全世界最多數的32位元架構之一。ARM處理器可以在很多消費性電子產品上看到,從可攜式裝置(PDA、移動電話、多媒體播放器、掌上型電玩、計算機)到電腦周邊設備(硬盤、桌上型路由器)甚至在導彈的彈載計算機等軍用設施中都有他的存在。
MIPS架構
MIPS架構(英語:MIP Sarchitecture,為“無內部互鎖流水級的微處理器Microprocessor without Interlocked Pipeline Stages的縮寫,也是Millionsof Instructions Per Second的相關語),是一種采取精簡指令集(RISC)的處理器架構,1981年出現,由MIPS科技公司開發并授權,廣泛被使用在許多電子產品、網絡設備、個人娛樂裝置與商業裝置上。其機制是盡量利用軟件辦法避免流水線中的數據相關問題。它最早是在80年代初期由斯坦福(Stanford)大學Hennessy教授領導的研究小組研制出來的。MIPS公司的R系列就是在此基礎上開發的RISC工業產品的微處理器。這些系列產品為很多計算機公司采用構成各種工作站和計算機系統。
MIPS是出現最早的商業RISC架構芯片之一。MIPS的系統結構及設計理念比較先進,強調軟硬件協同提高性能,同時簡化硬件設計。
2002年,中國科學院計算所開始研發龍芯處理器,采用MIPS架構,但未經MIPS公司的授權,遭到侵權的控告。2007年,中國科學院與MIPS公司達成和解,得到正式授權。中國龍芯2和前代產品采用的都是64位MIPS指令架構。過去,MIPS架構的產品多見于工作站領域,索尼PS2游戲機所用的“Emotion Engine”也采用MIPS指令,這些MIPS處理器的性能都非常強勁,而龍芯2也屬于這個陣營,在軟件方面與上述產品完全兼容。
ARM與MIPS
與當前商業化最成功的ARM架構相比,MIPS的優勢主要有以下幾點:
1、MIPS支持64bit指令和操作,ARM目前只到32bit 。
2、MIPS有專門的除法器,可以執行除法指令 。
3、MIPS的內核寄存器比ARM多一倍,所以同樣的性能下MIPS的功耗會比ARM更低,同樣功耗下性能比ARM更高。
4、MIPS指令比ARM稍微多一點,稍微靈活一點。
5、有觀點認為MIPS的bank寄存器性能也要好于ARM,不過沒見過能反映出來的測試。
以上為MIPS對比ARM架構的優勢,接下來我們再看一看MIPS架構的不足之處, 與ARM架構相比,MIPS架構也存在著以下幾點不足:
1、MIPS的內存地址起始有問題,這導致了MIPS在內存和cache的支持方面都有限制,現在的MIPS處理器單內核面對高容量內存時有問題。
2、MIPS今后的發展方向是并行線程,類似INTEL的超線程,而ARM未來的發展方向是物理多核,目前看來物理多核占優。由此來看,我國的龍芯向多核發展還是頗具遠見的。
3、MIPS雖然結構更加簡單,但是到現在還是順序單發射,ARM已經進化到了亂序雙發射,甚至NV的丹佛已經是亂序三發射了。
商業上二者差別也大,ARM很昂貴,而且不能隨意自行更改內核。而MIPS就要開放的多了。(這也算龍芯為什么不采用ARM架構的原因了。)
ARM與X86架構
性能對比
X86結構的電腦無論如何都比ARM結構的系統在性能方面要快得多、強得多。X86的CPU的主頻隨便就是1GHZ以上、雙核、四核大行其道,現在通常使用22nm制程的工藝進行生產;而ARM方面:CPU通常是幾百兆,最近才出現1G左右的CPU,制程通常使用32nm或45nm制程的工藝,可以說在性能和生產工藝方面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已經到達非常成熟甚至可以說是完美的境界。所以使用X86電腦系統不僅有大量的第三方軟件可供選擇也有大量的軟件編程工具可以 幫助您完成您所希望完成的工作。
Arm結構的電腦系統因為硬件性能的制約、操作系統的精簡、以及系統兼容等問題的制約,造成Arm結構的電腦系統不可能像X86電腦系統那樣有眾多的編程工具和第三方軟件可供選擇及使用,ARM的編程語言大多采用C和JAVA或C++。
因此,基于x86結構電腦系統平臺開發軟件比arm結構系統更容易、更簡單、實際成本也更低,同時更容易找到第三方軟件(免去自己開發的時間和成本),而且軟件移植更容易。
功耗對比
X86電腦因考慮要適應各種應用的需求,其發展思路是:性能+速度。20多年來x86電腦的速度從原來8088的幾M發展到現在隨便就是幾G,而且還是幾核,其速度和性能已經提升了千、萬倍,技術進步使x86電腦成為大眾生活中不可缺少的一部分。但是x86電腦發展的方向和模式,使其功耗一直居高不下,一臺電腦隨便就是幾百瓦,即使是號稱低功耗節能的手提電腦或上網本,也有十幾、二十多瓦的功耗,這與ARM結構的電腦就無法相比。
ARM的設計及發展思路是:滿足某個特殊方面的應用即可,在某一專項領域是最強的,(哪怕在其他方面一無是處),這樣Arm以其不是最強的技術,同樣也不是很高級制程的制造工藝,生產出性能不是很強的電腦系統,但在某個專業應用方面則是最好的,特別是在眾多終端應用,尤其在移動終端應用上占有絕對優勢的統治地位,這個原因就是:耗耗。
高功耗導致了一系列X86系統無法解決的問題出現:系統的續航能力弱、體積無法縮小、穩定性差、對使用環境要求高等問題。從這里我們可以看到x86系統與ARM系統是在兩個完全不同領域方面的應用,他們之間根本不存在替換性,在服務器、工作站以及其他高性能運算等應用方面,是可以不考慮功耗和使用環境等條件時,X86系統占了優絕對優勢;但受功耗、環境等條件制約且工作任務固定的情況下ARM就占有很大的優勢,在手持式移動終端領域,X86的功耗更使他英雄毫無用武之地。
從以上對比分析,給了我們的一個很清晰的感覺,ARM和X86結構的電腦根本就無法對比,ARM根本就不是X86電腦的的對手。如果只考慮上述幾個方面的要數,ARM確實無法與X86電腦競爭,甚至連比較的資格都沒有。但是近1、2年,ARM的產品在終端應用特別是手持終端應用飛速發展(如:智能手機、平板電腦等),其銷售數量已經遠遠超出x86結構的電腦銷售數量,可見ARM是具有其與X86結構電腦不可對比的優勢。
X86系統和ARM系統應該是兩個完全不同領域的應用,如果功能單一又受到環境制約的應用,如:POS、ATM、多媒體廣告機(現已經有ARM+DSP的產品)、車載電腦終端等應用,應該首先考慮ARM方案,ARM方案與X86相比,其功耗和成本占有很大優勢。
現在ARM很強大,但它距離X86還是非常遙遠,畢竟它們設計的出發點不一樣, X86無法做到ARM的功耗,而ARM也無法做到X86的性能。不過這也不意味著ARM以后就只能占據低端,畢竟任何架構都有其優點,一旦有應用針對其進行優化,那么就可以揚長避短。X86的繁榮也正是因為整個世界的資源都針對它進行了優化所致。只要能為ARM找到合適的應用與適合的領域,未來ARM也未必不可以進入更高的層次。
-
ARM
+關注
關注
134文章
9054瀏覽量
366827 -
控制器
+關注
關注
112文章
16206瀏覽量
177423 -
寄存器
+關注
關注
31文章
5321瀏覽量
120017 -
cpu
+關注
關注
68文章
10826瀏覽量
211160
原文標題:一文讀懂CPU架構
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論