徹底看穿雙核CPU Intel與AMD多核處理器剖解
所謂雙核心處理器,簡(jiǎn)單地說(shuō)就是在一塊CPU基板上集成兩個(gè)處理器核心,并通過(guò)并行總線將各處理器核心連接起來(lái)。雙核心并不是一個(gè)新概念,而只是CMP(Chip Multi Processors,單芯片多處理器)中最基本、最簡(jiǎn)單、最容易實(shí)現(xiàn)的一種類型。其實(shí)在RISC處理器領(lǐng)域,雙核心甚至多核心都早已經(jīng)實(shí)現(xiàn)。CMP最早是由美國(guó)斯坦福大學(xué)提出的,其思想是在一塊芯片內(nèi)實(shí)現(xiàn)SMP(Symmetrical Multi-Processing,對(duì)稱多處理)架構(gòu),且并行執(zhí)行不同的進(jìn)程。早在上個(gè)世紀(jì)末,惠普和IBM就已經(jīng)提出雙核處理器的可行性設(shè)計(jì)。IBM 在2001年就推出了基于雙核心的POWER4處理器,隨后是Sun和惠普公司,都先后推出了基于雙核架構(gòu)的UltraSPARC以及PA-RISC芯片,但此時(shí)雙核心處理器架構(gòu)還都是在高端的RISC領(lǐng)域,直到前不久Intel和AMD相繼推出自己的雙核心處理器,雙核心才真正走入了主流的X86領(lǐng)域。
MCM模塊內(nèi)封裝了4個(gè)Power4芯片,共有8個(gè)CPU核心
Intel和AMD之所以推出雙核心處理器,最重要的原因是原有的普通單核心處理器的頻率難于提升,性能沒(méi)有質(zhì)的飛躍。由于頻率難于提升,Intel在發(fā)布3.8GHz的產(chǎn)品以后只得宣布停止4GHz的產(chǎn)品計(jì)劃;而AMD在實(shí)際頻率超過(guò)2GHz以后也無(wú)法大幅度提升,3GHz成為了AMD無(wú)法逾越的一道坎。正是在這種情況下,為了尋找新的賣點(diǎn),Intel和AMD都不約而同地祭起了雙核心這面大旗。
Sun UltraSPARC IV雙核處理器
二、AMD雙核心處理器的簡(jiǎn)介
AMD目前的桌面平臺(tái)雙核心處理器代號(hào)為Toledo和Manchester,基本上可以簡(jiǎn)單看作是把兩個(gè)Athlon 64所采用的 Venice核心整合在同一個(gè)處理器內(nèi)部,每個(gè)核心都擁有獨(dú)立的512KB或1MB二級(jí)緩存,兩個(gè)核心共享Hyper Transport,從架構(gòu)上來(lái)說(shuō)相對(duì)于目前的Athlon 64架構(gòu)并沒(méi)有任何改變。
與Intel的雙核心處理器不同的是,由于AMD的Athlon 64處理器內(nèi)部整和了內(nèi)存控制器,而且在當(dāng)初Athlon 64設(shè)計(jì)時(shí)就為雙核心做了考慮,但是仍然需要仲裁器來(lái)保證其緩存數(shù)據(jù)的一致性。AMD在此采用了SRQ(System Request Queue,系統(tǒng)請(qǐng)求隊(duì)列)技術(shù),在工作的時(shí)候每一個(gè)核心都將其請(qǐng)求放在SRQ中,當(dāng)獲得資源之后請(qǐng)求將會(huì)被送往相應(yīng)的執(zhí)行核心,所以其緩存數(shù)據(jù)的一致性不需要通過(guò)北橋芯片,直接在處理器內(nèi)部就可以完成。與Intel的雙核心處理器相比,其優(yōu)點(diǎn)是緩存數(shù)據(jù)延遲得以大大降低。
AMD目前的桌面平臺(tái)雙核心處理器是Athlon 64 X2,其型號(hào)按照PR值分為3800+至4800+等幾種,同樣采用0.09微米制程,Socket 939接口,支持1GHz的Hyper Transport,當(dāng)然也都支持雙通道DDR內(nèi)存技術(shù)。
Athlon 64 X2
由于AMD雙核心處理器的仲裁器是在CPU內(nèi)部而不是在北橋芯片上,所以在主板芯片組的選擇上要比Intel雙核心處理器要寬松得多,甚至可以說(shuō)與主板芯片組無(wú)關(guān)。理論上來(lái)說(shuō),任何Socket 939的主板通過(guò)更新BIOS都可以支持Athlon 64 X2。對(duì)普通消費(fèi)者而言,這樣可以保護(hù)已有的投資,而不必象Intel雙核心處理器那樣需要同時(shí)升級(jí)主板
三、Intel雙核心構(gòu)架剖析
AMD的“真?zhèn)坞p核論”雖無(wú)法立足,但它點(diǎn)出的英特爾雙核處理器可能出現(xiàn)前端總線資源爭(zhēng)搶的問(wèn)題是否真是實(shí)情呢?對(duì)此,英特爾表示:AMD并不了解我們的產(chǎn)品和我們將來(lái)產(chǎn)品的技術(shù)走向,對(duì)自己的競(jìng)爭(zhēng)對(duì)手及其產(chǎn)品妄加猜測(cè)和評(píng)論的行為是不值得贊賞的。AMD曾經(jīng)指出奔騰至尊版是兩個(gè)核心共享一個(gè)二級(jí)緩存,這就是一個(gè)非常明顯的錯(cuò)誤。事實(shí)上,奔騰至尊版和奔騰D都是每個(gè)核心配有獨(dú)享的一級(jí)和二級(jí)緩存,不同的是英特爾將雙核爭(zhēng)用前端總線的任務(wù)仲裁功能放在了芯片組的北橋芯片中。
圖1:基于Smithfield衍生出的奔騰至尊版和奔騰D,主要區(qū)別就在于奔騰至尊版支持超線程,而奔騰D屏蔽了超線程功能。
按照“離得越近、走得越快”的集成電路設(shè)計(jì)原則,把這些功能組件集成在處理器中確實(shí)可以提高效率,減少延遲。不過(guò),在臺(tái)式機(jī)還不可能在短期內(nèi)就支持4個(gè)內(nèi)核和更多內(nèi)核的現(xiàn)實(shí)情況下,只要有高帶寬的前端系統(tǒng)總線,就算把這些任務(wù)仲裁組件外置,對(duì)于雙核處理器的臺(tái)式機(jī)來(lái)說(shuō)帶來(lái)的延遲和性能損失也是微乎其微的。
英特爾945和955系列芯片組目前可提供800MHz(用于目前的奔騰D)和1066MHz(用于奔騰至尊版)前端總線,如果是供一個(gè)四核處理器使用,那肯定會(huì)造成資源爭(zhēng)搶,但對(duì)于雙核來(lái)說(shuō),這個(gè)帶寬已經(jīng)足夠了。英特爾認(rèn)為目前雙核系統(tǒng)中的主要瓶頸還是內(nèi)存、I/O總線和硬盤系統(tǒng),提升這些模塊的速度才能使整個(gè)系統(tǒng)的計(jì)算平臺(tái)更加均衡。
基于這種設(shè)計(jì)思路,英特爾在945和955系列芯片組中加強(qiáng)了對(duì)PCI-Express總線的支持,增加了對(duì)更高速DDR2內(nèi)存的支持,對(duì)SATA(串行ATA)的支持速度增加了一倍由1.5Gb/s升級(jí)3Gb/s,進(jìn)一步增加了磁盤陣列RAID 5 和 RAID 10的支持。
圖2:?jiǎn)魏吮简v4處理器(左)和雙核奔騰D處理器(右)微架構(gòu)示意圖
此外,英特爾奔騰至尊版有一個(gè)獨(dú)門“絕活”,那就是雙核心加超線程的架構(gòu),這種架構(gòu)可同時(shí)處理四個(gè)線程,這讓它在多任務(wù)多線程的應(yīng)用中具有明顯優(yōu)勢(shì)。而且CMP與SMT(同時(shí)多線程,英特爾超線程就是一種SMT技術(shù))的結(jié)合是業(yè)界公認(rèn)的處理器重要發(fā)展趨勢(shì),最早推出雙核處理器的IBM也是這一趨勢(shì)的推動(dòng)者。
圖3:奔騰至尊版的雙核+超線程架構(gòu)讓它具備同時(shí)四線程處理能力
英特爾之所以在奔騰至尊版和奔騰D上采用共享前端總線的雙核架構(gòu),還是出于雙核架構(gòu)自身的緊湊設(shè)計(jì)和生產(chǎn)進(jìn)程方面的考慮,這種架構(gòu)使英特爾能夠迅速推出全系列的雙核處理器家族,加快雙核處理器的產(chǎn)品化,而且它帶來(lái)的成本優(yōu)勢(shì)也大大降低了奔騰至尊版、奔騰D與現(xiàn)有主流單核處理器——奔騰4系列的差價(jià),有利于雙核處理器在PC市場(chǎng)上的迅速普及。
四、AMD雙核心架構(gòu)剖析
從架構(gòu)上來(lái)看,Athlon 64 X2除了多個(gè)“芯”外與目前的Athlon 64并沒(méi)有任何區(qū)別。Athlon 64 X2的大多數(shù)技術(shù)特征、功能與目前市售的、基于AMD64架構(gòu)的處理器是一樣的,而且這些雙核心處理器仍將使用1GHz HyperTransport總線與芯片組連接及支持雙通道DDR內(nèi)存技術(shù)。
實(shí)際上Toledo核心就相當(dāng)于是兩個(gè)San Diego核心的Athlon 64處理器的集成,至于Manchester自然就相當(dāng)于兩個(gè)
另外我們不難發(fā)現(xiàn)的是,AMD的臺(tái)式雙核心處理器的頻率與其單核心產(chǎn)品基本上處于同一水平上—這一點(diǎn)與Intel非常不一樣(Intel目前頻率最高的桌面單核心處理器達(dá)到了3.8GHz,而其最高頻率的雙核心處理器只不過(guò)3.2GHz)。當(dāng)然這并不難理解,因?yàn)锳thlon 64處理器,特別是采用了90nm SOI工藝的Athlon 64處理器的發(fā)熱量要比Intel的高頻率的Prescott核心處理器要低不少,所以自然可以采用比較高的工作頻率了(當(dāng)然從頻率的角度來(lái)看,Athlon 64 X2也還是低于Pentium D的)。
由于Intel受發(fā)熱量限制目前的雙核心處理器最高只有3.2GHz,因此在性能上肯定要比AMD的 Athlon 64 X2要低一些——不過(guò)Pentium D不如Athlon64 X2的地方并不僅僅只有這方面而已。在處理器的架構(gòu)上AMD也有其獨(dú)到之處,下圖所示就是AMD的雙核心處理器的架構(gòu)示意圖。
AMD的雙核心方案面臨一個(gè)重要的問(wèn)題,就是隨著第二核心的出現(xiàn),對(duì)內(nèi)存與I/O帶寬的資源將會(huì)出現(xiàn)爭(zhēng)奪,如何解決好這個(gè)問(wèn)題是AMD雙核心處理器的性能的關(guān)鍵問(wèn)題之一。與Pentium D不同的是,Athlon 64 X2的兩個(gè)內(nèi)核并不需要通過(guò)外部FSB通信這一途徑。Athlon 64 X2內(nèi)部整合了一個(gè)System Request Queue(SRQ)仲裁裝備,每一個(gè)核心將其請(qǐng)求放在SRQ中,當(dāng)獲得資源之后請(qǐng)求將會(huì)被送往相應(yīng)的執(zhí)行核心,所有的過(guò)程都在CPU核心范圍之內(nèi)完成。
AMD雙核心強(qiáng)調(diào)是真正將兩個(gè)核心崁入整合在一個(gè)硅晶內(nèi)核上,可以真正發(fā)揮雙核心效率,不像對(duì)手的產(chǎn)品事實(shí)上為兩個(gè)Packet的設(shè)計(jì),會(huì)有兩個(gè)核心之間傳輸瓶頸的問(wèn)題。因此Athlon 64 X2的架構(gòu)要優(yōu)于Pentium D架構(gòu),尤其是在高負(fù)載的多線程/多任務(wù)的環(huán)境下,AMD的處理器將會(huì)表現(xiàn)出比Intel的處理器更好的性能。
此外,隨著第二核心的出現(xiàn),對(duì)內(nèi)存與I/O帶寬的資源將會(huì)出現(xiàn)爭(zhēng)奪,如何解決好這個(gè)問(wèn)題是AMD雙核心處理器的性能的關(guān)鍵問(wèn)題之一。AMD信引入了Crossbar控制器,這個(gè)全新的控制器結(jié)合優(yōu)化的系統(tǒng)請(qǐng)求隊(duì)列,可以有效的降低這個(gè)問(wèn)題的危害性。
AMD處理器集成的內(nèi)存控制器在進(jìn)化到雙核心時(shí)代表現(xiàn)出來(lái)的優(yōu)勢(shì)更加明顯,低延時(shí)的內(nèi)存控制器使得對(duì)CPU的緩存的依賴也大幅減少,在這樣的情況下,在日后過(guò)渡到多核心的時(shí)候,需要考慮的問(wèn)題更多的是基于各個(gè)核心之間的連接。我們可以看到,兩個(gè)核心所采用的L2緩存也是分別獨(dú)享的,也就是兩個(gè)L2緩存中保存的數(shù)據(jù)是一致的。
實(shí)際的可利用容量和一個(gè)核心的L2緩存容量是 相同的—這一點(diǎn)和Intel一樣。與Intel有所不同的是,AMD方案的兩個(gè)核心之間的通信是通過(guò)處理器內(nèi)部的Crossbar實(shí)現(xiàn)的。相比之下Intel的Pentium D處理器的核心之間的通信則是需要通過(guò)芯片組的MCH來(lái)進(jìn)行—這顯然比AMD的方案要帶來(lái)更多的延遲時(shí)間。不過(guò)AMD的架構(gòu)也并非十全十美,雙核心處理器仍然只支持雙通道DDR400內(nèi)存無(wú)疑是一個(gè)有些令人遺憾的地方—兩個(gè)處理器核心自然需要更大的內(nèi)存帶寬。要解決這個(gè)矛盾,只能使用全新的針腳設(shè)計(jì),DDR2或許是一個(gè)不錯(cuò)的選擇。
Athlon 64 X2這樣的設(shè)計(jì)還有一個(gè)好處,那就是如果打算支持新的雙內(nèi)核處理器的話,對(duì)舊平臺(tái)而言唯一的要求就是升級(jí)到最新BIOS就OK了,這將大大降低平臺(tái)的應(yīng)用、升級(jí)成本。當(dāng)然AMD沿用以前的內(nèi)存控制器也是有很大的好處的,那就是雙核心的Athlon 64 X2處理器可以在目前幾乎所有的Socket 939主板上使用。這方面AMD有著Intel無(wú)可比擬的優(yōu)勢(shì)—因?yàn)橐郧暗?15/925主板并不能支持Intel的雙核心處理器。
此外,與Pentium D是通過(guò)降低頻率來(lái)降低功耗不同,同樣采用0.0 9微米生產(chǎn)技術(shù)的Athlon 64 X2似乎并不需要面臨這樣的問(wèn)題。這都得益于AMD在Athlon 64 X2處理器上所采用的“Dual Stress Liner”應(yīng)變硅技術(shù)。Dual Stress Liner技術(shù)是由AMD和IBM聯(lián)合開發(fā)的,據(jù)稱可以將半導(dǎo)體晶體管的響應(yīng)速度提高24%。
事實(shí)上,DSL很類似于英特爾在90nm生產(chǎn)技術(shù)中引入的應(yīng)變硅技術(shù)。我們都知道,晶體管越微細(xì)化,運(yùn)行速度就越高,但同時(shí)也會(huì)引發(fā)泄漏電流增加、開關(guān)效率降低,從而導(dǎo)致耗電和發(fā)熱量的增加。而DSL通過(guò)向晶體管的硅層施加應(yīng)力,同時(shí)實(shí)現(xiàn)了速度的提高與耗電量的降低。
與Intel使用的應(yīng)變硅不同,來(lái)自AMD和IBM的DSL能夠被用于兩種類型的晶體管:NMOS和PMOS(具有n和p通道)而無(wú)需使用極難獲得的硅鍺層,硅鍺層會(huì)增加成本,并且有可能影響芯片的產(chǎn)量。 DSL這種雙重性,讓它比英特爾的應(yīng)變硅更有效—DSL可以將晶體管的響應(yīng)速度提升24%,而應(yīng)變硅能提供的最大改進(jìn)在15-20%。
并且更重要的是,AMD和IBM 這項(xiàng)新技術(shù)對(duì)產(chǎn)量及生產(chǎn)成本并沒(méi)有任何負(fù)面影響。由于在生產(chǎn)時(shí)無(wú)需使用新的生產(chǎn)方法,所以使用標(biāo)準(zhǔn)生產(chǎn)設(shè)備和材料便可迅速展開量產(chǎn)。另外,配合使用硅絕緣膜構(gòu)造(SOI,絕緣體上硅)與應(yīng)變硅,還可生產(chǎn)性能更高、耗電更低的晶體管。AMD工程師們表示,DSL和SOI一起結(jié)合可以讓Athlon 64處理器的頻率潛力有大約16%的增長(zhǎng)。而Athlon 64 X2的初始頻率與目前Athlon 64持平上也可以看到DSL技術(shù)的確很有效。
當(dāng)然,AMD也將在未來(lái)轉(zhuǎn)移更先進(jìn)的65nm生產(chǎn)線上,改進(jìn)他們的內(nèi)存控制器來(lái)對(duì)DDR2,DDR3和FB-DIMM等高性能內(nèi)存提供支持,也將開始使用更快的HyperTransport 2.0總線,及更有效的節(jié)能降耗技術(shù)。
五、雙核心技術(shù)與超線程技術(shù)的區(qū)別
超線程技術(shù)已經(jīng)不是什么新鮮事物了,但普通用戶可能與雙核心技術(shù)區(qū)分不開。例如開啟了超線程技術(shù)的Pentium 4 530與Pentium D 530在操作系統(tǒng)中都同樣被識(shí)別為兩顆處理器,它們究竟是不是一樣的呢?這個(gè)問(wèn)題確實(shí)具有迷惑性。
其實(shí),可以簡(jiǎn)單地把雙核心技術(shù)理解為兩個(gè)"物理"處理器,是一種"硬"的方式;而超線程技術(shù)只是兩個(gè)"邏輯"處理器,是一種"軟"的方式。
從原理上來(lái)說(shuō),超線程技術(shù)屬于Intel版本的多線程技術(shù)。這種技術(shù)可以讓單CPU擁有處理多線程的能力,而物理上只使用一個(gè)處理器。超線程技術(shù)為每個(gè)物理處理器設(shè)置了兩個(gè)入口-AS(Architecture State,架構(gòu)狀態(tài))接口,從而使操作系統(tǒng)等軟件將其識(shí)別為兩個(gè)邏輯處理器。這兩個(gè)邏輯處理器像傳統(tǒng)處理器一樣,都有獨(dú)立的IA-32架構(gòu),它們可以分別進(jìn)入暫停、中斷狀態(tài),或直接執(zhí)行特殊線程,并且每個(gè)邏輯處理器都擁有APIC(Advanced Programmable Interrupt Controller,高級(jí)可編程中斷控制器)。
雖然支持超線程的Pentium 4能同時(shí)執(zhí)行兩個(gè)線程,但不同于傳統(tǒng)的雙處理器平臺(tái)或雙內(nèi)核處理器,超線程中的兩個(gè)邏輯處理器并沒(méi)有獨(dú)立的執(zhí)行單元、整數(shù)單元、寄存器甚至緩存等等資源。它們?cè)谶\(yùn)行過(guò)程中仍需要共用執(zhí)行單元、緩存和系統(tǒng)總線接口。在執(zhí)行多線程時(shí)兩個(gè)邏輯處理器均是交替工作,如果兩個(gè)線程都同時(shí)需要某一個(gè)資源時(shí),其中一個(gè)要暫停并要讓出資源,要待那些資源閑置時(shí)才能繼續(xù)。因此,超線程技術(shù)所帶來(lái)的性能提升遠(yuǎn)不能等同于兩個(gè)相同時(shí)鐘頻率處理器帶來(lái)的性能提升??梢哉f(shuō)Intel的超線程技術(shù)僅可以看做是對(duì)單個(gè)處理器運(yùn)算資源的優(yōu)化利用。
而雙核心技術(shù)則是通過(guò)"硬"的物理核心實(shí)現(xiàn)多線程工作:每個(gè)核心擁有獨(dú)立的指令集、執(zhí)行單元,與超線程中所采用的模擬共享機(jī)制完全不一樣。在操作系統(tǒng)看來(lái),它是實(shí)實(shí)在在的雙處理器,可以同時(shí)執(zhí)行多項(xiàng)任務(wù),能讓處理器資源真正實(shí)現(xiàn)并行處理模式,其效率和性能提升要比超線程技術(shù)要高得多,不可同日而語(yǔ)。
六、雙核心處理器的適用范圍
目前,Windows XP專業(yè)版等操作系統(tǒng)支持雙物理核心和四個(gè)邏輯核心,但這并不意味著所有軟件對(duì)此都有優(yōu)化。
事實(shí)上大量的測(cè)試已經(jīng)證明,無(wú)論是Intel還是AMD的雙核心處理器,相對(duì)于其各自的同頻率的單核心處理器而言,對(duì)于目前的普通應(yīng)用例如多媒體軟件、游戲和辦公軟件等等都沒(méi)有任何性能提升,甚至可能還稍有降低,因?yàn)檫@些普通應(yīng)用目前都還只是單線程程序,在處理器執(zhí)行指令時(shí)實(shí)際上只有一個(gè)核心在工作,而另外一個(gè)核心則處于空閑狀態(tài)幫不上忙。
所以對(duì)普通用戶而言,只要日常應(yīng)用的程序仍然是單線程的話,雙核心處理器實(shí)際上沒(méi)有任何意義,反而還增大了購(gòu)買成本。除非經(jīng)常執(zhí)行大運(yùn)算量的多任務(wù)處理,例如在游戲的同時(shí)進(jìn)行音視 頻處理等等,這時(shí)雙核心處理器才能真正發(fā)揮作用。
目前最適合雙核心處理器發(fā)揮威力的平臺(tái)是服務(wù)器和工作站,這是因?yàn)槠浣?jīng)常進(jìn)行多任務(wù)處理,而且日常運(yùn)行的大量程序都是多線程程序,例如圖形工作站所使用的Adobe Photoshop和3D MAX等都是多線程程序。一般來(lái)說(shuō),在執(zhí)行多任務(wù)處理和多線程程序時(shí),雙核心處理器要比同頻率的單核心處理器的性能要高大約50%-70%,甚至在某些應(yīng)用下性能幾乎能提升100%。
當(dāng)然,隨著雙核心處理器的強(qiáng)勢(shì)推出和逐漸普及,日后支持多線程的普通應(yīng)用程序也會(huì)逐漸增多,對(duì)普通用戶而言那時(shí)雙核心處理器才會(huì)真正發(fā)揮作用。
七、雙核心處理器目前所存在的問(wèn)題
無(wú)論是Intel的Pentium D和Pentium EE,還是AMD的Athlon 64 X2處理器,都是簡(jiǎn)單地將兩個(gè)物理內(nèi)核"疊加"在一起,這必然帶來(lái)晶體管數(shù)量的大幅度增加,雙方都已經(jīng)達(dá)到了兩億三千萬(wàn)個(gè)以上的晶體管;帶來(lái)的直接后果就是由泄漏電流引起的功耗大幅度增加,就算是采用了節(jié)能技術(shù)其發(fā)熱量也居高不下,從而導(dǎo)致雙核心處理器相對(duì)于單核心處理器而言頻率提升更加困難。
而且由于目前的制造工藝的限制,雙核心處理器的良品率要比單核心處理器的低,這必然會(huì)帶來(lái)成本的居高不下,所以目前的雙核心處理器的價(jià)格都太貴了,距離普及還差得很遠(yuǎn)。當(dāng)然,隨著處理器核心架構(gòu)和制造技術(shù)的發(fā)展,今后必然會(huì)解決目前所遇到的問(wèn)題。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論