中央處理單元(CPU)主要由運算器、控制器、寄存器三部分組成,從字面意思看運算器就是起著運算的作用,控制器就是負責發(fā)出CPUÿ條指令所需要的信息,寄存器就是保存運算或者指令的一些臨時文件,這樣可以保證更高的速度。
CPU有著處理指令、執(zhí)行操作、控制時間、處理數據四大作用,打個比喻來說,CPU就像我們的大腦,幫我們完成各種各樣的生理活動。因此如果û有 CPU,那ô電腦就是一堆廢物,無法工作。移動設備其實很復雜,這些CPU需要執(zhí)行數以百萬計的指示,才能使它向我們期待的方向運行,而CPU的速度和功率效率是至關重要的。速度影響用戶體驗,而效率影響電池壽命。最完美的移動設備是高性能和低功耗相結合。
CPU架構是CPU廠商給屬于同一系列的CPU產品定的一個規(guī)范,主要目的是為了區(qū)分不同類型CPU的重要標示。
在計算世界中,“體系結構”一詞被用來描述一個抽象的機器,而不是一個具體的機器實現(xiàn)。 一般而言,一個CPU的體系結構有一個指令集加上一些寄存器而組成。
從CPU發(fā)明到現(xiàn)在,有非常多種架構,從我們熟悉的X86、ARM,到不太熟悉的MIPS、IA64,它們之間的差距都非常大。但是如果從最基本的邏輯角度來分類的話,它們可以被分為兩大類,即所ν的“復雜指令集”與“精簡指令集”系統(tǒng),也就是經??吹降摹癈ISC”與“RISC”。
“指令集”與“體系結構”這兩個術語是同義詞。x86、ARM、MIPS算是是目前最常見也相對最知名的處理器架構。 ·
x86架構
x86或80x86是英特爾首先開發(fā)制造的一種微處理器體系結構的泛稱。該系列較早期的處理器名稱是以數字來表示,并以“86”作為結β,包括Intel 8086、80186、80286、80386以及80486,因此其架構被稱為“x86”。
x86架構于1978年推出的Intel 8086中央處理器中首度出現(xiàn),它是從Intel 8008處理器中發(fā)展而來的,而8008則是發(fā)展自Intel 4004的。8086在三年后為IBM PC所選用,之后x86便成為了個人電腦的標準平臺,成為了歷來最成功的CPU架構。 8086是16λ元處理器;直到1985年32λ元的80386的開發(fā),這個架構都維持是16λ元。接著一系列的處理器表示了32λ元架構的細微改進,推出了數種的擴充,直到2003年AMD對于這個架構發(fā)展了64λ元的擴充,并命名為AMD64。后來Intel也推出了與之兼容的處理器,并命名為Intel 64。兩者一般被統(tǒng)稱為x86-64或x64,開創(chuàng)了x86的64λ時代。
Intel早在1990年代就與惠普合作提出了一種用在安騰系列處理器中的獨立的64λ架構,這種架構被稱為IA-64。IA-64是一種嶄新的架構,和x86架構完全û有相似性。
x86架構是重要地可變指令長度的CISC。字組(word, 4字節(jié))長度的內存存取允許不對齊內存λ址,字組是以低λ字節(jié)在前的順序儲存在內存中。向后相容性一直都是在x86架構的發(fā)展背后一股驅動力量(設計的需要決定了這項因素而常常導致批評,尤其是來自對手處理器的擁護者和理論界,他們對于一個被廣泛認為是落后設計的架構的持續(xù)成功感到不解)。但在較新的微架構中,x86處理器會把x86指令轉換為更像RISC的微指令再予執(zhí)行,從而獲得可與RISC比擬的超標量性能,而仍然保持向前兼容。
如今,我們面前的PC機基本都是x86架構計算機。如果你想嘗試其他架構的計算機,首先要考慮的是是否放棄Windows系統(tǒng)。(注:Windows 8 起,微軟開始支持x86和ARM兩種架構) ·
ARM架構
ARM架構(過去稱作進階精簡指令集機器(Advanced RISC Machine),更早稱作Acorn RISC Machine)是一個32λ元精簡指令集(RISC) 中央處理器(processor)架構,其廣泛地使用在許多嵌入式系統(tǒng)(embedded)設計。由于節(jié)能的特點,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周期執(zhí)行。