Intel的四核處理器構(gòu)架分析
Intel的處理器發(fā)展規(guī)劃路線并不固定。為了延續(xù)P6架構(gòu)核心的成功,Intel采用了兩個(gè)開(kāi)發(fā)團(tuán)隊(duì)并進(jìn)的策略,其中一個(gè)團(tuán)隊(duì)繼續(xù)發(fā)展Pentium 4采用的NetBurst架構(gòu),另一個(gè)團(tuán)隊(duì)將對(duì)代號(hào)Banias的Pentium M進(jìn)行重新設(shè)計(jì),目標(biāo)是更低成本、更低功耗的高集成度核心。最終的結(jié)果是NetBurst架構(gòu)的發(fā)展被Banias的進(jìn)化超越。Dothan是Banias第一個(gè)進(jìn)化成果,它擁有更高的時(shí)鐘頻率和更多的緩存,為進(jìn)一步的發(fā)展奠定了基礎(chǔ)。隨后Intel的以色列發(fā)展中心(IDC)以Dothan為基礎(chǔ)提出了原生雙核心和共享二級(jí)緩存解決方案,這就是代號(hào)Yonah的Core Duo處理器,也是首款雙核心Intel處理器。從Dothan到Y(jié)onah的演進(jìn)具有遠(yuǎn)比Banias到Dothan更重大的意義,不僅僅只因?yàn)閅onah是首款I(lǐng)ntel雙核心處理器,最重要的是Yonah擁有更多架構(gòu)上的改進(jìn)。接下來(lái)Intel又對(duì)Yonah進(jìn)行了改進(jìn),這就是讓Intel從競(jìng)爭(zhēng)對(duì)手AMD手中奪回技術(shù)領(lǐng)先地位的Core 2系列處理器。
認(rèn)識(shí)Barcelona架構(gòu):
Barcelona是AMD首款四核心處理器,采用65nm制造工藝,和Intel的四核Kentsfield處理器由兩個(gè)雙核心組成的架構(gòu)不同,Barcelona是單處理器集成四個(gè)核心的架構(gòu)是真正的原生四核處理器。不過(guò),盡管在技術(shù)上要優(yōu)于Intel的Kentsfield,我們還是不確信Barcelona在現(xiàn)實(shí)中的性能會(huì)大幅超越Kentsfield。
Barcelona的設(shè)計(jì)比K8要復(fù)雜的多,需要多達(dá)11個(gè)金屬層,而K8和Core 2 Duo分別只有9個(gè)和8個(gè)。而更多的金屬層只會(huì)使制造過(guò)程更為復(fù)雜增加成本,對(duì)于最終的用戶來(lái)說(shuō)并沒(méi)有太大意義。Barcelona擁有463百萬(wàn)個(gè)晶體管,比Kentsfield少了119百萬(wàn)個(gè)。晶體管數(shù)量少是因?yàn)榫彺鏈p少的原因,Barcelona上的每個(gè)核心都擁有128KB一級(jí)緩存和512MB二級(jí)緩存,再加上四個(gè)核心共享的2MB三級(jí)緩存,緩存的總量為4.5MB。而Kentsfield的緩存總量達(dá)到了8.25MB,比Barcelona多了80%。不過(guò)Barcelona的緩存仍然遠(yuǎn)遠(yuǎn)要比四核心K8要多,如果不計(jì)算緩存晶體管,一個(gè)雙核Athlon 64 X2處理器的晶體管數(shù)量大約為94百萬(wàn)個(gè),而B(niǎo)arcelona的晶體管數(shù)量大約為247百萬(wàn)個(gè)。即使兩個(gè)雙核Athlon 64 X2處理器的晶體管數(shù)量也沒(méi)有Barcelona多。
SSE128:
在從K8到Barcelona的眾多改進(jìn)中有一個(gè)非常重要的改變,AMD把它稱為SSE128。在K8架構(gòu)中可以同時(shí)執(zhí)行兩個(gè)SSE指令,但是SSE的執(zhí)行帶寬僅僅只有64-bit。在K8中執(zhí)行一個(gè)128-bit的SSE指令,必須要分成兩個(gè)64-bit指令來(lái)執(zhí)行。這意味著執(zhí)行一個(gè)128-bit的SSE指令需要占用一個(gè)額外的解碼通道。Barcelona把K8的64-bit SSE的執(zhí)行帶寬提高到了128-bit,因此執(zhí)行一個(gè)128-bit的SSE指令不用再進(jìn)行分解。這樣一來(lái)不但可以獲得更多可用的解碼帶寬,而且指令的執(zhí)行效率也大大提高。增加SSE指令的執(zhí)行帶寬也會(huì)造成核心內(nèi)部的很多改變。由于獲得了更多的解碼帶寬,在執(zhí)行128-bit的SSE指令時(shí)有出現(xiàn)了一個(gè)新的瓶頸,那就是指令取得帶寬。Barcelona的指令取得帶寬已經(jīng)從K8的每周期16byte提高到了32byte。32byte的指令取得帶寬不僅僅有益于SSE編碼,對(duì)整數(shù)編碼也同樣非常有好處。更大的指令取得帶寬會(huì)明顯推進(jìn)處理器性能。
在Barcelona上你可以取得和解碼更多的指令,這意味著你需要獲得更多的數(shù)據(jù)到執(zhí)行核心,因此AMD加寬了L1緩存和SSE寄存器之間的傳輸界面。現(xiàn)在Barcelona可以每周期執(zhí)行兩個(gè)來(lái)自L1-D緩存的128-bit SSE指令,原理和K8每周期執(zhí)行兩個(gè)64-bit指令一樣。加上AMD同時(shí)加寬了L2緩存可內(nèi)存控制器之間的傳輸界面,從而解決了指令取得帶寬的瓶頸。事實(shí)上SSE128的改進(jìn)非常類似于Yonah到Merom的改進(jìn)。在Conroe/Merom之前Yonah的FP/SSE性能還不如K8。這在Yonah和K8的性能對(duì)比測(cè)試中有很明顯的表現(xiàn),雖然兩者在大多數(shù)應(yīng)用程序、3D渲染和游戲性能中的性能表現(xiàn)非常接近,但是在視頻編碼性能測(cè)試中K8明顯要優(yōu)于對(duì)手。但是Core 2處理器的出現(xiàn)使這種情況發(fā)生了逆轉(zhuǎn),視頻編碼性能大幅度超越K8。也許SSE128的改進(jìn)會(huì)使這種情況有所改變。
更高級(jí)的分支預(yù)測(cè)器:
盡管SSE128被AMD稱為Barcelona的最大改進(jìn),但是這只是冰山一角而已。在技術(shù)改進(jìn)清單中排在最前面的是分支預(yù)測(cè)器。分支預(yù)測(cè)器的工作原理很簡(jiǎn)單,如果分支編碼結(jié)果之前曾經(jīng)被取用過(guò),那么它將最有可能在下一次被提取。所以分支預(yù)測(cè)器的用途在于監(jiān)測(cè)正在被CPU執(zhí)行的指令,并且相應(yīng)的對(duì)指令被執(zhí)行的次數(shù)進(jìn)行記錄,來(lái)統(tǒng)計(jì)特定地址的分支編碼結(jié)果被提取的概率。一旦計(jì)數(shù)器內(nèi)部累積足夠的數(shù)據(jù),分支預(yù)測(cè)器就可以相對(duì)比較精確的對(duì)分支結(jié)果是否會(huì)被提取進(jìn)行預(yù)測(cè)。通常來(lái)講,CPU的分支預(yù)測(cè)器性能會(huì)直接影響數(shù)據(jù)處理的精確度。K8的分支預(yù)測(cè)器就非常好,對(duì)它的架構(gòu)做了專門的優(yōu)化。不過(guò)Intel的Pentium M和Pentium 4采用的分支預(yù)測(cè)器技術(shù)要更為出色。在Barcelona中將增加了一個(gè)512通路的間接分支預(yù)測(cè)器,更多的分支預(yù)測(cè)器將使Barcelona比K8獲得和預(yù)測(cè)更多的歷史數(shù)據(jù),而更多的歷史數(shù)據(jù)也會(huì)使支預(yù)測(cè)器更加精確。
頻帶堆棧優(yōu)化和更快的加載速度:
Intel在Pentium M上首次提出了一個(gè)叫做專用堆棧管理器的功能,顧名思義就是用一個(gè)堆棧管理器來(lái)操作所有的X86堆棧運(yùn)轉(zhuǎn)。簡(jiǎn)單來(lái)說(shuō)就是通過(guò)獨(dú)立的堆棧管理器減輕了處理的負(fù)擔(dān)。在Barcelona上AMD采用了相類似的技術(shù),稱為Sideband Stack Optimizer(頻帶堆棧優(yōu)化),不但可以單獨(dú)處理所有的堆棧運(yùn)轉(zhuǎn),而且對(duì)堆棧處理器進(jìn)行了優(yōu)化,使其不浪費(fèi)執(zhí)行單元的位寬。
Barcelona還將具有Out-of-order load execution(亂序載入處理)能力,某些指令在實(shí)際運(yùn)行當(dāng)中可以繞過(guò)其他指令的處理,而且指令的存儲(chǔ)也可以不按順序進(jìn)行,這在某些環(huán)境下對(duì)效率的提高有著很關(guān)鍵的作用。
更快速的內(nèi)存控制器:
從以往的經(jīng)驗(yàn)來(lái)看,AMD每推出一款新的處理器都會(huì)對(duì)內(nèi)存控制器進(jìn)行一次增強(qiáng),Barcelona也不例外,它的內(nèi)存控制器改進(jìn)將會(huì)使內(nèi)存性能得到很大的提升。和K8相比Barcelona的內(nèi)存控制器將更加智能化。K8(Socket-940/939/AM2)處理器整合的是一個(gè)128-bit內(nèi)存控制器,而在Barcelona中這個(gè)內(nèi)存控制器被分離成兩個(gè)64-bit控制器。每個(gè)控制器都可以獨(dú)立運(yùn)行,從而使內(nèi)存控制的效率更高。尤其是四個(gè)核心分別處理不同的任務(wù)時(shí)它的優(yōu)點(diǎn)更加明顯。另外,Barcelona的北橋也將擁有比K8更高的帶寬,考慮到高帶寬的利用這個(gè)北橋?qū)⒅С治磥?lái)的DDR3內(nèi)存標(biāo)準(zhǔn)。不過(guò)照目前的消息來(lái)看,起初發(fā)布的Barcelona仍然只支持DDR2內(nèi)存。
新的Prefetcher單元:
Prefetcher(預(yù)取)單元的作用是預(yù)先取得內(nèi)存中的數(shù)據(jù)放到緩存中備用,以加快內(nèi)存的潛伏期。Intel的Core 2處理器每個(gè)核心有三個(gè)Prefetcher單元。K8處理器每個(gè)核心有兩個(gè)Prefetcher單元,一個(gè)用來(lái)預(yù)取指令,一個(gè)用來(lái)預(yù)取數(shù)據(jù)。Barcelona每核心的Prefetcher單元數(shù)量仍然和K8一樣,但是對(duì)它們進(jìn)行了改進(jìn)。最大的改變是數(shù)據(jù)Prefetcher單元會(huì)直接將數(shù)據(jù)儲(chǔ)存到L1緩存中,而K8的數(shù)據(jù)Prefetcher單元是把數(shù)據(jù)儲(chǔ)存到L2緩存中。把數(shù)據(jù)預(yù)取到潛伏期更低的L1緩存,會(huì)增加核心預(yù)取的精確性而且還可以避免占用L2緩存。而最大的改進(jìn)是,在Barcelona的內(nèi)存控制器內(nèi)部加入了一個(gè)DRAM Prefetcher單元,這個(gè)DRAM Prefetcher單元用于整體的內(nèi)存需求,它不會(huì)把數(shù)據(jù)儲(chǔ)存到L2或L3緩存,而是儲(chǔ)存到自帶的緩存器中,這將會(huì)增強(qiáng)整個(gè)核心的性能。
三級(jí)緩存架構(gòu)和虛擬化技術(shù):
AMD在緩存部分一直都落后于Intel。我們知道雙核Core 2處理器采用的是共享的4MB二級(jí)緩存,是目前雙核K8的兩倍。而這一差距在四核心處理器的競(jìng)爭(zhēng)中還將繼續(xù)拉大,Barcelona每個(gè)核心單獨(dú)享有512KB二級(jí)緩存,四個(gè)核心的二級(jí)緩存總量?jī)H僅只有2MB,而Intel的四核心Kentsfield卻擁有高達(dá)8MB的二級(jí)緩存。預(yù)計(jì)年低推出的Penryn將擁有總數(shù)高達(dá)12MB的二級(jí)緩存。Barcelona沒(méi)有像K8一樣每個(gè)核心采用128KB的一級(jí)緩存和512KB的二級(jí)緩存,它的一級(jí)緩存僅僅只有64KB,但是AMD為Barcelona加入了四核心共享的2MB三級(jí)緩存,這將彌補(bǔ)二級(jí)緩存容量不足的問(wèn)題。三級(jí)緩存的容量是可變化的,不同型號(hào)的處理器可能會(huì)配備不同容量的三級(jí)緩存。Barcelona在性能方面的改進(jìn)還包括提升虛擬地址轉(zhuǎn)換速度的增強(qiáng)虛擬化技術(shù)。目前進(jìn)行地址轉(zhuǎn)換,通常hypervisor是通過(guò)一種叫做shadow paging的技術(shù)來(lái)實(shí)現(xiàn)的,而是Barcelona采用的是一種硬件加速shadow paging技術(shù),AMD把它稱作Nested Paging。這樣一來(lái)hypervisor進(jìn)行地址轉(zhuǎn)換所用的時(shí)間就會(huì)大大縮短。
電源管理:
Barcelona的四個(gè)核心仍然采用同樣的電壓,但是北橋的供電和CPU采用分離式電源管理設(shè)計(jì),核心電壓和北橋電壓可以單獨(dú)在0.8V - 1.4V之間改變,也就是說(shuō)改變其中一個(gè)電壓不會(huì)對(duì)另一個(gè)電壓產(chǎn)生影響,這會(huì)有效的降低功耗。盡管Barcelona的四個(gè)核心的電壓不能單獨(dú)改變,但是它們可以運(yùn)行在不同的時(shí)鐘頻率,在運(yùn)行不需要四個(gè)核心滿載的任務(wù)時(shí),其它空閑的核心會(huì)自動(dòng)降低時(shí)鐘頻率以達(dá)到省電的目的。Barcelona的每個(gè)核心都支持5種p-states模式來(lái)改變時(shí)鐘頻率,這種p-states模式是完全的硬件控制,因此你需要專用的驅(qū)動(dòng)程序來(lái)激活這種電源控制功能。可以說(shuō)Barcelona的電源管理模式為將來(lái)的多核心處理器增強(qiáng)功耗比提供了一個(gè)新的思路。
結(jié)論:
毫無(wú)疑問(wèn)Intel的Core 2處理器的發(fā)布對(duì)于處理器性能提升有革命性的意義,它也是近幾年來(lái)性能提升幅度最大的新處理器。Core 2最大的成功在于它的全新架構(gòu),但是不得不承認(rèn)對(duì)于Intel來(lái)說(shuō)Core 2的出現(xiàn)并不是最佳時(shí)機(jī)。
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [處理器/DSP] Codasip發(fā)布適用于定制計(jì)算的新一代RISC-V處理器系列產(chǎn)品 2023-10-24
- [電子說(shuō)] Andes旗下高性能多核矢量處理器IP的AX45MPV正式上市 2023-10-24
- [控制/MCU] 單片機(jī)的三大功能 2023-10-24
- [電子說(shuō)] 思爾芯原型驗(yàn)證助力香山RISC-V處理器迭代加速 2023-10-24
- [電子說(shuō)] STM32基礎(chǔ)知識(shí):中斷系統(tǒng) 2023-10-24
- [電子說(shuō)] 講一講Apple Macintosh處理器過(guò)渡的故事 2023-10-24
- [電子說(shuō)] GD32的中斷-外部中斷的實(shí)現(xiàn) 2023-10-24
- [汽車電子] 貿(mào)澤開(kāi)售用于高級(jí)駕駛輔助系統(tǒng)和自動(dòng)泊車的 Texas Instruments TDA4x SoC處理器 2023-10-24
( 發(fā)表人:admin )