一文讀懂中央處理器的架構(gòu)
中央處理單元(CPU)主要由運(yùn)算器、控制器、寄存器三部分組成,從字面意思看運(yùn)算器就是起著運(yùn)算的作用,控制器就是負(fù)責(zé)發(fā)出CPUÿ條指令所需要的信息,寄存器就是保存運(yùn)算或者指令的一些臨時(shí)文件,這樣可以保證更高的速度。
CPU有著處理指令、執(zhí)行操作、控制時(shí)間、處理數(shù)據(jù)四大作用,打個(gè)比喻來說,CPU就像我們的大腦,幫我們完成各種各樣的生理活動(dòng)。因此如果û有 CPU,那ô電腦就是一堆廢物,無法工作。移動(dòng)設(shè)備其實(shí)很復(fù)雜,這些CPU需要執(zhí)行數(shù)以百萬計(jì)的指示,才能使它向我們期待的方向運(yùn)行,而CPU的速度和功率效率是至關(guān)重要的。速度影響用戶體驗(yàn),而效率影響電池壽命。最完美的移動(dòng)設(shè)備是高性能和低功耗相結(jié)合。
CPU架構(gòu)是CPU廠商給屬于同一系列的CPU產(chǎn)品定的一個(gè)規(guī)范,主要目的是為了區(qū)分不同類型CPU的重要標(biāo)示。
在計(jì)算世界中,“體系結(jié)構(gòu)”一詞被用來描述一個(gè)抽象的機(jī)器,而不是一個(gè)具體的機(jī)器實(shí)現(xiàn)。 一般而言,一個(gè)CPU的體系結(jié)構(gòu)有一個(gè)指令集加上一些寄存器而組成。
從CPU發(fā)明到現(xiàn)在,有非常多種架構(gòu),從我們熟悉的X86、ARM,到不太熟悉的MIPS、IA64,它們之間的差距都非常大。但是如果從最基本的邏輯角度來分類的話,它們可以被分為兩大類,即所ν的“復(fù)雜指令集”與“精簡指令集”系統(tǒng),也就是經(jīng)常看到的“CISC”與“RISC”。
“指令集”與“體系結(jié)構(gòu)”這兩個(gè)術(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便成為了個(gè)人電腦的標(biāo)準(zhǔn)平臺(tái),成為了歷來最成功的CPU架構(gòu)。 8086是16λ元處理器;直到1985年32λ元的80386的開發(fā),這個(gè)架構(gòu)都維持是16λ元。接著一系列的處理器表示了32λ元架構(gòu)的細(xì)微改進(jìn),推出了數(shù)種的擴(kuò)充,直到2003年AMD對于這個(gè)架構(gòu)發(fā)展了64λ元的擴(kuò)充,并命名為AMD64。后來Intel也推出了與之兼容的處理器,并命名為Intel 64。兩者一般被統(tǒng)稱為x86-64或x64,開創(chuàng)了x86的64λ時(shí)代。
Intel早在1990年代就與惠普合作提出了一種用在安騰系列處理器中的獨(dú)立的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é)在前的順序儲(chǔ)存在內(nèi)存中。向后相容性一直都是在x86架構(gòu)的發(fā)展背后一股驅(qū)動(dòng)力量(設(shè)計(jì)的需要決定了這項(xiàng)因素而常常導(dǎo)致批評,尤其是來自對手處理器的擁護(hù)者和理論界,他們對于一個(gè)被廣泛認(rèn)為是落后設(shè)計(jì)的架構(gòu)的持續(xù)成功感到不解)。但在較新的微架構(gòu)中,x86處理器會(huì)把x86指令轉(zhuǎn)換為更像RISC的微指令再予執(zhí)行,從而獲得可與RISC比擬的超標(biāo)量性能,而仍然保持向前兼容。
如今,我們面前的PC機(jī)基本都是x86架構(gòu)計(jì)算機(jī)。如果你想嘗試其他架構(gòu)的計(jì)算機(jī),首先要考慮的是是否放棄Windows系統(tǒng)。(注:Windows 8 起,微軟開始支持x86和ARM兩種架構(gòu)) ·
ARM架構(gòu)
ARM架構(gòu)(過去稱作進(jìn)階精簡指令集機(jī)器(Advanced RISC Machine),更早稱作Acorn RISC Machine)是一個(gè)32λ元精簡指令集(RISC) 中央處理器(processor)架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)(embedded)設(shè)計(jì)。由于節(jié)能的特點(diǎn),ARM處理器非常適用于移動(dòng)通訊領(lǐng)域,符合其主要設(shè)計(jì)目標(biāo)為低耗電的特性。在今日,ARM家族占了所有32λ元嵌入式處理器75%的比例[1],使它成為占全世界最多數(shù)的32λ元架構(gòu)之一。ARM處理器可以在很多消費(fèi)性電子產(chǎn)品上看到,從可攜式裝置(PDA、移動(dòng)電話、多ý體播放器、掌上型電玩,和計(jì)算機(jī))到電腦周邊設(shè)備(硬盤、桌上型·由器)甚至在導(dǎo)彈的彈載計(jì)算機(jī)等軍用設(shè)施中都有他的存在。在此家族中衍伸的重要產(chǎn)品還包括Marvell的XScale架構(gòu)和德州儀器的OMAP系列。
ARM架構(gòu)包含了下述RISC特性:
1、讀取/儲(chǔ)存 架構(gòu)。
2、正交指令集(任意存取指令可以任意的尋址方式存取數(shù)據(jù)Orthogonal instruction set)
3、大量的16 × 32-bit 寄存器陣列(register file)。
4、固定的32 bits 操作碼(opcode)長度,降低編碼數(shù)量所產(chǎn)生的耗費(fèi),減輕解碼和流水線化的負(fù)擔(dān)。
5、大多均為一個(gè)CPU周期執(zhí)行。