CPU時(shí)鐘頻率在過(guò)去5年里沒(méi)有增加是很多不同類別的原因?qū)е碌摹.?dāng)設(shè)計(jì)一個(gè)CPU的微架構(gòu)時(shí),其中一個(gè)關(guān)鍵的設(shè)計(jì)決策就是如何實(shí)現(xiàn)更高的性能。在奔騰4時(shí)代,英特爾選擇了具有非常高的時(shí)鐘頻率和相對(duì)較窄的管道。這種方法有很多優(yōu)點(diǎn),其中之一就是它很容易加快單線程和串行代碼。軟件內(nèi)并不需要操作很多的并行指令,因此大多數(shù)軟件會(huì)立刻見(jiàn)其好處。
一、功率
然而,這種方法也有它的缺點(diǎn),它忽略奔騰4本身的執(zhí)行瑕疵。在這里,我們只講概念本身的缺陷。主要是CPU的微架構(gòu)一直與電墻沖突,并且,高頻的微架構(gòu)與很多已被發(fā)明出來(lái)用來(lái)處理功率問(wèn)題的低功耗設(shè)計(jì)技術(shù)都不適合。此處,我將觸及兩個(gè)主要的低功耗設(shè)計(jì)方法。
一個(gè)是時(shí)鐘門(mén)控技術(shù),時(shí)鐘門(mén)控技術(shù)會(huì)在每個(gè)狀態(tài)元件(寄存器、鎖等)之前插入一個(gè)時(shí)鐘啟動(dòng)系統(tǒng),以至于如果沒(méi)有新的數(shù)據(jù)寫(xiě)入的話,元件將沒(méi)有時(shí)鐘控制。這樣就可以節(jié)省大量因回寫(xiě)相同的高速緩存而浪費(fèi)的充電/放電時(shí)間。這個(gè)方式也將一個(gè)附加延遲(門(mén)控功能)插入時(shí)鐘路徑。高頻率的設(shè)計(jì)一般是低利潤(rùn)率運(yùn)行,根本就不適合在最關(guān)鍵的信號(hào)(時(shí)鐘)插入附加可變延遲。
另一個(gè)常見(jiàn)的技巧是電源門(mén)控。這涉及到要在芯片不同部分的電壓源上放上晶體管。通常情況下,當(dāng)不使用時(shí),那些不同的功能模塊和供電部分會(huì)關(guān)閉,但高頻設(shè)計(jì)往往不會(huì)這樣做。電源控制晶體管不但需要添加一個(gè)額外的壓降,從而延緩晶體管開(kāi)關(guān)速度,而且一個(gè)非常細(xì)的流水線處理器根本沒(méi)有多少部分可以在任何給定的時(shí)間內(nèi)被關(guān)閉。
[page]
二、晶體管縮放
處理器頻率沒(méi)有上漲的另一個(gè)主要原因很簡(jiǎn)單,就是晶體管本身并沒(méi)有變得更快。
英特爾目前正在45納米的基礎(chǔ)上制造32納米的HKMG(high-k絕緣層+金屬閘極) 。兩年之前,它是65納米,再之前是90納米。TSMC, IBM and GlobalFoundries 公司今年開(kāi)始生產(chǎn)28納米芯片。英特爾正計(jì)劃調(diào)整到22納米。 (更新:14nm已經(jīng)出來(lái)了)。
然而,問(wèn)題是,當(dāng)晶體管的尺寸越來(lái)越小時(shí)他們卻沒(méi)有越來(lái)越快。要理解這一點(diǎn),有點(diǎn)MOSFET(金氧半場(chǎng)效晶體管)的背景是必要的。
隨著晶體管的縮小,門(mén)的面積在減少。在過(guò)去,閘極區(qū)域面積的減少意味著一個(gè)晶體管的閘極也可以做得更薄。如果你知道基本的電容器是如何工作的,你就會(huì)知道,兩個(gè)導(dǎo)電板之間距離越小,它們之間的電場(chǎng)就越強(qiáng)。這個(gè)工作原理在MOSFET上同樣通用。更薄的閘極電介質(zhì)導(dǎo)致有更強(qiáng)的電場(chǎng)通過(guò)晶體管溝道,這意味著晶體管的切換速度更快。晶體管閘極面積減少意味著閘門(mén)可以做得更薄,并且對(duì)負(fù)載電容增加無(wú)害。
然而,至于45納米,現(xiàn)在的閘介質(zhì)約0.9納米厚——大約一個(gè)二氧化硅分子的大小,所以根本不可能做出更薄的了。因此,英特爾改用以鉿材料為基礎(chǔ)材料的High-K取代二氧化硅,成為閘極電介質(zhì)(許多人懷疑是硅酸鉿)。他們還把連接閘門(mén)的材料從多晶硅變成金屬材料。
這種方法有助于提高晶體管的速度,但它太昂貴了,只能是一個(gè)權(quán)宜之計(jì)。事情很簡(jiǎn)單,每一次我們利用之前已有的簡(jiǎn)單的縮放比例縮小晶體管,都會(huì)導(dǎo)致更快的晶體管結(jié)束。
三、芯片縮放
頻率斜升放緩的另一個(gè)主要原因是晶體管不再是唯一的——在某些情況下,即使是最大的——處理器可以運(yùn)行多快的關(guān)鍵?,F(xiàn)在,連接這些晶體管的電線成為延遲的主要因素。
隨著晶體管越來(lái)越小,連接它們的電線變得更細(xì)。細(xì)線意味著更高的阻力和更低的電流。事實(shí)是較小的晶體管能夠驅(qū)動(dòng)少量的電流,很容易發(fā)現(xiàn),晶體管的開(kāi)關(guān)速度只能部分確定電路的路徑延遲情況。
當(dāng)然,在芯片設(shè)計(jì)過(guò)程中可以使用許多技巧來(lái)對(duì)付這個(gè)問(wèn)題。一個(gè)布局和布線良好的工程師將嘗試以類似的路徑來(lái)規(guī)劃其時(shí)鐘和數(shù)據(jù)信號(hào)的路線,這樣可以使兩個(gè)信號(hào)同時(shí)傳送,并在同一時(shí)間到達(dá)目的地。對(duì)于數(shù)據(jù)密集型芯片,輕控設(shè)計(jì)會(huì)是一種非常有效的解決方案,例如固定功能的視頻編解碼引擎或網(wǎng)絡(luò)處理器。
然而,帶有web交互的微處理器是一個(gè)非常復(fù)雜的、非常規(guī)的設(shè)計(jì),數(shù)據(jù)訪問(wèn)多個(gè)地點(diǎn)時(shí)并不總是遵循時(shí)鐘規(guī)律,它有反饋路徑和循環(huán),有集中的資源,如風(fēng)險(xiǎn)跟蹤,調(diào)度,分支預(yù)測(cè),寄存器文件等等。另外,重控設(shè)計(jì)很容易被復(fù)制到更多的內(nèi)核,但要通過(guò)標(biāo)準(zhǔn)的方法提高處理器頻率的時(shí)候,其所要求的細(xì)線是很復(fù)雜的。
相關(guān)閱讀:
簡(jiǎn)述GPU作用原理及對(duì)比分析CPU和DSP
誰(shuí)還對(duì)系統(tǒng)級(jí)芯片SoC與傳統(tǒng)CPU傻傻分不清?
賜你火眼金睛!一眼便知CPU“真八核”在哪