學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦硬件知識(shí) > CPU知識(shí) > 什么是CPU中推土機(jī)架構(gòu)

什么是CPU中推土機(jī)架構(gòu)

時(shí)間: 沈迪豪908 分享

什么是CPU中推土機(jī)架構(gòu)

  CPU中推土機(jī)架構(gòu)是什么?聰明的你們有了解過(guò)嗎?下面是學(xué)習(xí)啦小編收集整理關(guān)于CPU中推土機(jī)架構(gòu)的資料以供大家參考學(xué)習(xí),希望大家喜歡。

  CPU中推土機(jī)架構(gòu)

  CMP和SMT

  CMP:CMP的方式非常直接,簡(jiǎn)單來(lái)說(shuō),CMP是通過(guò)“復(fù)制”物理核心來(lái)擴(kuò)展處理器在多線(xiàn)程軟件中的性能,這是獲得最佳性能一種最簡(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)單的雙核和四核處理器就往往可以獲得更好的性能。

  SMT:SMT是一個(gè)相對(duì)廉價(jià)的技術(shù),比如英特爾的Hyper-Threading,允許每個(gè)物理核心運(yùn)行兩個(gè)同步線(xiàn)程。SMT的設(shè)計(jì)思想是充分利用每個(gè)核心的資源。如果一個(gè)物理核心只有一個(gè)執(zhí)行線(xiàn)程,那么在等待內(nèi)存中的關(guān)鍵代碼或數(shù)據(jù)的時(shí)候,線(xiàn)程處于停頓狀態(tài),這樣核心的利用率是低下的。而SMT技術(shù)允許一個(gè)物理核心運(yùn)行兩個(gè)或更多的線(xiàn)程,可以根據(jù)當(dāng)前的狀況動(dòng)態(tài)進(jìn)行切換,如果一個(gè)線(xiàn)程處于停頓狀態(tài)等待內(nèi)存,另一個(gè)線(xiàn)程的指令則可以使用這個(gè)物理核心的所有執(zhí)行單元,讓物理核心利用的更加充分。

  為了讓SMT正常工作,處理器的所有代碼和存儲(chǔ)部分需要被復(fù)制或分區(qū)。例如,一個(gè)雙線(xiàn)程SMT處理器需要兩套架構(gòu)寄存器和重命名寄存器,一套給線(xiàn)程A,一套給線(xiàn)程B。另外組成指令窗口的共享指令隊(duì)列要具備很大的空間,這樣指令窗口才能容納足夠多的來(lái)自?xún)蓚€(gè)線(xiàn)程的指令,讓執(zhí)行單元可以保持在忙碌狀態(tài)。最后,兩個(gè)線(xiàn)程任何共享單元,比如處理管線(xiàn)不同部分的指令緩存,都不能被任一個(gè)線(xiàn)程獨(dú)占。換句話(huà)說(shuō),SMT核心的兩個(gè)線(xiàn)程需要和另一個(gè)緊密的共享資源,保證核心的緩存單元不會(huì)空置沒(méi)有線(xiàn)程利用。

  推土機(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)有的管線(xiàn),兩個(gè)核心共享一個(gè)浮點(diǎn)調(diào)度器和兩個(gè)128位FMAC乘法累加器。

  所不同的,在K10架構(gòu)中,ALU和AGU共享三個(gè)管線(xiàn)(平均1.5個(gè)),“推土機(jī)”中每個(gè)核心整數(shù)單元管線(xiàn)的數(shù)量增加為4個(gè),2個(gè)AGU專(zhuān)有、2個(gè)ALU專(zhuān)有。L1緩存也有所不同,在K10架構(gòu)中,每個(gè)核心具有64KB L1指令緩存和64KB L1數(shù)據(jù)緩存;而“推土機(jī)”每個(gè)核心具有16KBL1數(shù)據(jù)緩存、每個(gè)模塊具有64KB雙向L1指令緩存,至于減小的L1緩存是否會(huì)影響性能還有待觀(guān)察。兩個(gè)核心共享L2緩存,模塊之間共享L3緩存及北橋。

  AMD“推土機(jī)”模塊

  “模塊”和“核心”,這讓我們不免會(huì)產(chǎn)生混淆,實(shí)際對(duì)于用戶(hù)們來(lái)說(shuō),沒(méi)必要去刻意的關(guān)注“模塊”的概念,這只不過(guò)是AMD在設(shè)計(jì)上的稱(chēng)謂,而當(dāng)產(chǎn)品投放市場(chǎng)的時(shí)候,依舊會(huì)以核心數(shù)量為標(biāo)識(shí),比如我們說(shuō)采用推土機(jī)架構(gòu)的“Interlagos”服務(wù)器處理器具有16個(gè)核心,而不會(huì)說(shuō)是8個(gè)模塊。對(duì)于為何采用這種“模塊”設(shè)計(jì)的主要原因,AMD表示是“為了減少CPU的冗余電路”。

  如果采用CMP的方式,隨著核心數(shù)量的增加,CPU的核心面積也會(huì)越來(lái)越大,重復(fù)的電路也會(huì)越來(lái)越多,功耗也會(huì)隨之增加——因?yàn)镃MP是采用復(fù)制核心的方式。而采用“模塊”設(shè)計(jì)可以大大減少冗余電路,這對(duì)核心的大量增加很有意義。比如“推土機(jī)”,兩個(gè)核心共享浮點(diǎn)部分,對(duì)于大部分服務(wù)器應(yīng)用來(lái)說(shuō),整數(shù)運(yùn)算的部分要遠(yuǎn)遠(yuǎn)高于浮點(diǎn)運(yùn)算(高性能計(jì)算除外),所以將浮點(diǎn)執(zhí)行單元共享并不會(huì)影響大多數(shù)應(yīng)用中的性能。而整數(shù)部分則不是共享的,否則會(huì)造成瓶頸。

  上文我們回顧過(guò)CMP和SMT設(shè)計(jì)的特點(diǎn),我們可以把AMD“推土機(jī)”架構(gòu)看做是介于這兩種之間的一種設(shè)計(jì):兩個(gè)線(xiàn)程(核心)共享浮點(diǎn)執(zhí)行單元,但是各自具有獨(dú)立的整數(shù)執(zhí)行資源。這看上去像是SMT的另一種形式,或者說(shuō)是經(jīng)過(guò)AMD改良的一種“AMD式的第三種方式”。但與傳統(tǒng)的SMT設(shè)計(jì)不同,SMT僅僅復(fù)制的是核心的存儲(chǔ)部分,一個(gè)線(xiàn)程一個(gè)存儲(chǔ)模塊(registerfile),而AMD“推土機(jī)”架構(gòu)中,每個(gè)線(xiàn)程復(fù)制的是完整的整數(shù)執(zhí)行單元硬件,一個(gè)線(xiàn)程具有一個(gè)存儲(chǔ)模塊(registerfile)和一組完整的整數(shù)執(zhí)行單元。

猜你喜歡:

1.cpu字長(zhǎng)由什么決定

2.cpu頻率過(guò)高原因是什么 如何解決好

3.CPU基本知識(shí)大全

4.怎么查看CPU型號(hào)和主頻、緩存、接口等參數(shù)

5.cpu看什么參數(shù)

6.cpu型號(hào)什么意思及參數(shù)怎么看

7.四核cpu的字長(zhǎng)是多少

1873651