CPU架構(gòu)
CPU架構(gòu)
CPU架構(gòu),指CPU接受和處理信號(hào)的方式,及其內(nèi)部元件的組織方式。CPU架構(gòu)從大的層面分CISC、RISC兩類。
CISC和RISC的區(qū)別
早期的CPU全部是CISC架構(gòu),它的設(shè)計(jì)目的是要用最少的機(jī)器語(yǔ)言指令來(lái)完成所需的計(jì)算任務(wù)。比如對(duì)于乘法運(yùn)算,在CISC架構(gòu)的CPU上,您可能需要這樣一條指令:MUL ADDRA, ADDRB就可以將ADDRA和ADDRB中的數(shù)相乘并將結(jié)果儲(chǔ)存在ADDRA中。將ADDRA, ADDRB中的數(shù)據(jù)讀入寄存器,相乘和將結(jié)果寫回內(nèi)存的操作全部依賴于CPU中設(shè)計(jì)的邏輯來(lái)實(shí)現(xiàn)。這種架構(gòu)會(huì)增加CPU結(jié)構(gòu)的復(fù)雜性和對(duì)CPU工藝的要求,但對(duì)于編譯器的開(kāi)發(fā)十分有利。比如上面的例子,C程序中的a*=b就可以直接編譯為一條乘法指令。今天只有Intel及其兼容CPU還在使用CISC架構(gòu)。
RISC架構(gòu)要求軟件來(lái)指定各個(gè)操作步驟。上面的例子如果要在RISC架構(gòu)上實(shí)現(xiàn),將ADDRA, ADDRB中的數(shù)據(jù)讀入寄存器,相乘和將結(jié)果寫回內(nèi)存的操作都必須由軟件來(lái)實(shí)現(xiàn),比如:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。這種架構(gòu)可以降低CPU的復(fù)雜性以及允許在同樣的工藝水平下生產(chǎn)出功能更強(qiáng)大的CPU,但對(duì)于編譯器的設(shè)計(jì)有更高的要求。
CISC復(fù)雜指令集計(jì)算機(jī)
x86又叫IA32,即Intel Architecture 32(Intel32位架構(gòu)),不管是Intel生產(chǎn)的x86CPU,還是AMD或者VIA生產(chǎn)的,都是IA32。IA32并非沒(méi)有專利保護(hù)而是AMD和VIA/Cyrix通過(guò)交叉專利授權(quán)獲得了IA32 的使用權(quán)。
x86-64又叫AMD64,它的Intel版本叫做EM64T(換個(gè)名字而已),是AMD在IA32的基礎(chǔ)上擴(kuò)展出來(lái)的一套64位CPU架構(gòu)。Intel可以使用的原因也是因?yàn)镮ntel和AMD之間的交叉專利授權(quán)。x86-64是AMD在其最新的Athlon 64處理器系列中采用的新架構(gòu),但這一處理器基礎(chǔ)架構(gòu)還是IA-32,在IA-32架構(gòu)基礎(chǔ)之上作了一些擴(kuò)展,以支持64位程序的應(yīng)用,進(jìn)一步提高處理器的運(yùn)算性能。x86-64相比Intel的64位服務(wù)器處理器產(chǎn)品Itanium和 Itanium 2系列處理器產(chǎn)品來(lái)說(shuō)最大的優(yōu)點(diǎn)就是可以全面兼容以前的32位x86架構(gòu)的應(yīng)用程序,保護(hù)以用戶以前的投資。而Intel的Itanium和 Itanium 2系列處理器需要另外通過(guò)軟件或硬件來(lái)實(shí)現(xiàn)對(duì)以前32位程序的兼容。所以IA-32(即x86-32)、x86-64都屬于x86,即英特爾的32位x86架構(gòu)。如Intel的32位服務(wù)器Xeon(至強(qiáng))處理器系列、AMD的全系列,還有VIA的全系列處理器產(chǎn)品都屬于x86架構(gòu)的。
IA-64
IA-64架構(gòu)是英特爾為了全面提高以前IA32位處理器的運(yùn)算性能,是Intel和Hp共同開(kāi)發(fā)了6年的64位CPU架構(gòu),是專為服務(wù)器市場(chǎng)開(kāi)發(fā)的一種全新的處理器架構(gòu),它放棄了以前的x86架構(gòu),認(rèn)為它嚴(yán)重阻礙了處理器的性能提高。它的最初應(yīng)用是英特爾的Itanium(安騰)系列服務(wù)器處理器,現(xiàn)在最新的Itanium2系列處理器也是采用這一架構(gòu)的。由于它不能很好地解決與以前32位應(yīng)用程序的兼容,所以應(yīng)用受到較大的限制,盡管目前Intel采取了各種軟、硬方法來(lái)彌補(bǔ)這一不足,但隨著AMD Operon處理器的全面投入,Intel的IA-64架構(gòu)的這兩款處理器前景不容樂(lè)觀。
通稱說(shuō) x86也是指IA32構(gòu)架CPU,也就是說(shuō)cpu是32位的,只能安裝32位的os了。而x86-64或者IA-64是說(shuō)cpu支持64位,可以安裝64位的os,跑64位的應(yīng)用。
RISC精簡(jiǎn)指令集計(jì)算機(jī)
除了以上所介紹的兩類IA架構(gòu)的服務(wù)器處理器外,還有一種主流的處理器架構(gòu),也可稱之為“RISC”。采用這一架構(gòu)的仍是IBM、SUN和HP等。不過(guò)近幾年由于這一處理器架構(gòu)標(biāo)準(zhǔn)沒(méi)有完全統(tǒng)一、處理器的發(fā)展和應(yīng)用非常緩慢,使得原來(lái)本占有的絕大多數(shù)中高檔服務(wù)器市場(chǎng)被IA架構(gòu)瓜分了大部分江山,已是日趨衰落。目前連這幾家服務(wù)器廠商也開(kāi)始了自己放棄,轉(zhuǎn)投IA旗下,推出越來(lái)越多的IA架構(gòu)服務(wù)器,以保生存。
RISC就是精簡(jiǎn)指令集計(jì)算機(jī),目前常見(jiàn)的有
一、IBM 的 POWER/PowerPC架構(gòu)(上一篇有過(guò)介紹)。
二、MIPS 的 MIPS架構(gòu)(多家廠商,包括AMD也獲授權(quán)生產(chǎn),龍芯也是MIPS變種)
三、SUN 的 UltraSPARC架構(gòu)(UltraSPARC III、IV、VI、T1、T2)
四、DEC 的 Alpha架構(gòu)(現(xiàn)今少見(jiàn),DEC被Compaq收購(gòu),Compaq又被HP收購(gòu))
五、Intel和HP 的 EPIC架構(gòu)(Iantium、Iantium2),這也就是 IA64 架構(gòu),Intel Architecture 64(Intel64位架構(gòu)),有時(shí)單獨(dú)列為一類而不算RISC。
六、Transmeta(全美達(dá))的 VLIW(超長(zhǎng)指令字)架構(gòu),和 IA64 在設(shè)計(jì)思想上有某種程度上的神似之處,有時(shí)也單獨(dú)列為一類而不算RISC。
七、Acorn的 ARM架構(gòu),授權(quán)多家公司制造,功耗低,很多手機(jī)用這款CPU。
需要指出的是,現(xiàn)在的Intel和 AMD CISC處理器的內(nèi)核其實(shí)都是RISC內(nèi)核,是在內(nèi)核的外圍電路中把復(fù)雜指令動(dòng)態(tài)翻譯成精簡(jiǎn)指令,然后送到 RISC內(nèi)核中處理。嚴(yán)格來(lái)說(shuō),現(xiàn)代CPU本質(zhì)上都是 RISC處理器。