資源描述:
《解讀amd“推土機(jī)”架構(gòu) 對(duì)比intel的酷睿技術(shù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、解讀AMD“推土機(jī)”架對(duì)比intel的酷睿技術(shù)??10月22日,AMD創(chuàng)新技術(shù)大會(huì)在京召開(kāi),AMD向業(yè)界展示了在CPU和GPU設(shè)計(jì)方面的創(chuàng)新成果和技術(shù)趨勢(shì)。雖然AMD全球首發(fā)的RadeonHD6800系列顯卡以及“融聚CPU和GPU”的APU設(shè)計(jì)足夠奪人眼球,不過(guò)令筆者更加關(guān)注的還是AMD的下一代處理器架構(gòu)“Bulldozer”(“推土機(jī)”),畢竟,自1999年K7架構(gòu)問(wèn)世以來(lái),這將是AMD最為不同的一代處理器架構(gòu)。???或許應(yīng)該用“革命”這樣的形容詞,因?yàn)椤巴仆翙C(jī)”將是一個(gè)全新的處理器架構(gòu),基于“推土機(jī)”架構(gòu)的處理器,將和K7之后的
2、所有AMD處理器都不盡相同。AMD全球服務(wù)器首席技術(shù)官DonNewell先生介紹Bulldozer架構(gòu)???對(duì)此,AMD也有自己的官方理由:“推土機(jī)”采用的是介于傳統(tǒng)的“多核”和同步多線程(simultaneousmultithreading,簡(jiǎn)稱(chēng)SMT)之間的第三種方式。我們知道,之前的AMD皓龍?zhí)幚砥鞑捎玫氖恰靶酒嗵幚砥鳌保╟hipmultiprocessing,即CMP)設(shè)計(jì),每個(gè)獨(dú)立的核心運(yùn)行一個(gè)線程,比如AMD雙核、四核皓龍,采用的就是CMP設(shè)計(jì);而SMT技術(shù)是允許兩個(gè)或更多的線程共享相同的核心,并發(fā)執(zhí)行,比如像英特爾的H
3、yper-Threading。???首先有必要來(lái)回顧一下CMP和SMT的優(yōu)劣勢(shì):SMT和CMP方式對(duì)比????CMP:?CMP的方式非常直接,簡(jiǎn)單來(lái)說(shuō),CMP是通過(guò)“復(fù)制”物理核心來(lái)擴(kuò)展處理器在多線程軟件中的性能,這是獲得最佳性能一種最簡(jiǎn)單和最有效的方式。但CMP的缺點(diǎn)是制造成本很昂貴,并且也要受到處理器制造工藝的限制,畢竟不能將芯片做的越來(lái)越大。并且CMP的方式對(duì)負(fù)載要求也很高,只有經(jīng)過(guò)適當(dāng)并行優(yōu)化的負(fù)載才能充分發(fā)揮CMP的性能,很多核心的CMP常常會(huì)浪費(fèi)資源,在一些應(yīng)用中,主頻更高、結(jié)構(gòu)更簡(jiǎn)單的雙核和四核處理器就往往可以獲得更好的
4、性能。??????SMT:SMT是一個(gè)相對(duì)廉價(jià)的技術(shù),比如英特爾的Hyper-Threading,允許每個(gè)物理核心運(yùn)行兩個(gè)同步線程。SMT的設(shè)計(jì)思想是充分利用每個(gè)核心的資源。如果一個(gè)物理核心只有一個(gè)執(zhí)行線程,那么在等待內(nèi)存中的關(guān)鍵代碼或數(shù)據(jù)的時(shí)候,線程處于停頓狀態(tài),這樣核心的利用率是低下的。而SMT技術(shù)允許一個(gè)物理核心運(yùn)行兩個(gè)或更多的線程,可以根據(jù)當(dāng)前的狀況動(dòng)態(tài)進(jìn)行切換,如果一個(gè)線程處于停頓狀態(tài)等待內(nèi)存,另一個(gè)線程的指令則可以使用這個(gè)物理核心的所有執(zhí)行單元,讓物理核心利用的更加充分。???為了讓SMT正常工作,處理器的所有代碼和存儲(chǔ)部
5、分需要被復(fù)制或分區(qū)。例如,一個(gè)雙線程SMT處理器需要兩套架構(gòu)寄存器和重命名寄存器,一套給線程A,一套給線程B。另外組成指令窗口的共享指令隊(duì)列要具備很大的空間,這樣指令窗口才能容納足夠多的來(lái)自?xún)蓚€(gè)線程的指令,讓執(zhí)行單元可以保持在忙碌狀態(tài)。最后,兩個(gè)線程任何共享單元,比如處理管線不同部分的指令緩存,都不能被任一個(gè)線程獨(dú)占。換句話說(shuō),SMT核心的兩個(gè)線程需要和另一個(gè)緊密的共享資源,保證核心的緩存單元不會(huì)空置沒(méi)有線程利用。???SMT技術(shù)對(duì)那些不需要核心線程(threads)全負(fù)荷運(yùn)行的多線程負(fù)載比較有意義,對(duì)于一個(gè)雙線程SMT設(shè)計(jì)來(lái)說(shuō),如果
6、這兩個(gè)線程都需要花費(fèi)很長(zhǎng)時(shí)間等待主內(nèi)存,那么這個(gè)雙線程SMT會(huì)表現(xiàn)的就一個(gè)CMP雙核處理器,甚至更加高效——因?yàn)樗菴MP雙核成本要低得多。在這種理想的狀況下,一個(gè)雙線程SMT核心幾乎可以等同于一個(gè)雙核處理器,并且能耗上還要低的多。???但SMT的效率根據(jù)負(fù)載不同會(huì)有很大差異,AMD認(rèn)為在真實(shí)的應(yīng)用情況中,一個(gè)雙線程SMT核心僅僅等同于1.3個(gè)常規(guī)核心的效能,因?yàn)楹芏鄷r(shí)候線程都在執(zhí)行資源而不是等待主內(nèi)存響應(yīng),換句話說(shuō),如果主內(nèi)存不再是瓶頸,SMT的執(zhí)行單元就過(guò)剩了,而一個(gè)SMT核心也就不再比一個(gè)單純的核心更高效,畢竟SMT核心需要增加
7、一些電路設(shè)計(jì),比一個(gè)單純的核心成本要高一些。??解讀“推土機(jī)”架構(gòu)???AMD“推土機(jī)”將采用32nmSOI工藝,這讓“推土機(jī)”相比“馬尼庫(kù)爾”皓龍?zhí)幚砥骺梢栽诓辉黾庸牡那疤嵯略黾?3%的核心數(shù)量、增加50%的吞吐量。與AMD之前所有處理器都有所不同的是,“推土機(jī)”采用了“模塊化”的設(shè)計(jì),每個(gè)“模塊”包含兩個(gè)處理器核心,這有些像一個(gè)啟用了SMT的單核處理器。每個(gè)核心具有各自的整數(shù)調(diào)度器和四個(gè)專(zhuān)有的管線,兩個(gè)核心共享一個(gè)浮點(diǎn)調(diào)度器和兩個(gè)128位FMAC乘法累加器。???所不同的,在K10架構(gòu)中,ALU和AGU共享三個(gè)管線(平均1.5個(gè)
8、),“推土機(jī)”中每個(gè)核心整數(shù)單元管線的數(shù)量增加為4個(gè),2個(gè)AGU專(zhuān)有、2個(gè)ALU專(zhuān)有。L1緩存也有所不同,在K10架構(gòu)中,每個(gè)核心具有64KBL1指令緩存和64KBL1數(shù)據(jù)緩存;而“推土機(jī)”每個(gè)核心具有16KBL1數(shù)據(jù)緩