克服嵌入式CPU性能瓶頸
另外,不僅熱電壓與溫度有關(guān),閾值電壓通常也隨溫度變化而變化,這兩種變化將疊加在一起共同影響漏電流。漏電流增加意味著靜態(tài)功耗的增加,因此對于低電壓值而言,電壓降低技術(shù)存在一定的實用性限制。
圖3顯示了兩個不同溫度下的這些效應(yīng)。T=300K的第一條曲線顯示了與閾值電壓的指數(shù)關(guān)系。T=330K的第二條曲線是考慮了閾值電壓隨溫度變化因素下的估計數(shù)據(jù)。這樣,橫坐標(biāo)仍然代表標(biāo)稱閾值電壓,但晶體管的實際閾值電壓因溫度效應(yīng)而偏向更低的值,因此對漏電流有較大的影響。
圖3:閾值電壓和溫度對漏電流的影響。
漏電流還與絕緣柵厚度有關(guān)。當(dāng)采用非常薄的柵極電介質(zhì)時,電子可以穿過絕緣層形成隧道效應(yīng),進(jìn)而形成隧道電流,導(dǎo)致高功耗。鑒于使用32nm及以下工藝時的實際柵極長度,這種效應(yīng)在當(dāng)前半導(dǎo)體技術(shù)工藝中是非常重要的。
當(dāng)然,處理器內(nèi)核并不是芯片中唯一耗能的器件。比如內(nèi)存也消耗相當(dāng)大的能量,現(xiàn)代處理器專門開辟了大塊裸片區(qū)域來集成多級緩存。
工程師通常會應(yīng)用多種設(shè)計技術(shù)來減少內(nèi)存的漏電流或活動系數(shù)(功耗公式中的A系數(shù)),進(jìn)而達(dá)到降低功耗的目的。
例如,緩存等級的層次化組織不僅可以改善數(shù)據(jù)訪問時間,而且有助于降低消耗的功率,因為更小更近的緩存所需能量比更大更遠(yuǎn)的緩存要少。這種結(jié)構(gòu)化解決方案在降低功耗的同時能保持性能不變。與這種想法類似,另外一個常用的解決方案是將內(nèi)存組織成庫的形式來提高效率。這種情況下可以只激活正在訪問的庫,從而節(jié)省能量。
然而,追求更高性能并不總是正確的做事方式。有時以一定的吞吐量代價來降低功耗就足夠了。有些處理器專門用于特定的應(yīng)用,它們總是做相同類型的運(yùn)算,比如DSP。音頻處理、數(shù)字濾波器或數(shù)據(jù)壓縮算法是這些器件的典型應(yīng)用,評估這些應(yīng)用的指標(biāo)是一次操作需要多少能量、這些處理器做這些運(yùn)算需要花多長時間。
一個處理器如果在執(zhí)行算法時一開始就比其它處理器花更多的時間但消耗更少的功率,那么最終就具有更高的能效值。衡量這種效率的一個指標(biāo)是MIPS/W(每秒每瓦百萬指令數(shù))。雖然必須關(guān)注指標(biāo)MIPS,但一般來說具有更高M(jìn)IPS/W的器件被認(rèn)為具有更高的效率,這對嵌入式設(shè)備特別是電池供電設(shè)備來說尤其讓人感興趣。事實上,如今在服務(wù)器和數(shù)據(jù)中心領(lǐng)域人們更樂意使用更高能效的處理器。
芯片的傳輸延時
限制晶體管密度提高和芯片工作頻率增加的另外一個主要因素是走線的傳輸延時?,F(xiàn)代處理器中使用的GHz數(shù)量級高頻時鐘意味著一個時鐘周期不到一個納秒。這么短的周期時間正在成為影響信號傳播的一個問題。
減小芯片的特征尺寸將造成柵極長度和晶體管電容減小,從而有利于提高時鐘速率,克服容量范圍限制。但芯片上的走線由于更高的電阻和電容而變得越來越慢。走線的寬度和高度變小是走線面積縮小的根本原因,并導(dǎo)致更高的電阻。
由于走線表面積變小,與表面積有關(guān)的電容跟著降低,但相鄰走線之間的距離也在縮小,最終形成更高的耦合電容。耦合電容增加的速度大于表面電容減小的速度,因此抵消了表面電容減少效應(yīng),并形成了更高總體走線電容的組合效應(yīng)。
走線傳輸延時直接正比于電阻與電容的乘積:Rw×Cw,因此隨著每一代縮小特征尺寸的新技術(shù)的推出,走線延時變得越來越長。隨著時鐘速率的加快和走線傳輸速度的變慢,信號可以傳輸?shù)木嚯x以及一個時鐘周期內(nèi)可以到達(dá)的芯片面積將變小,最終導(dǎo)致通信范圍成為約束條件的新情況。
對于具體的微架構(gòu)來說,這不會成為大問題,因為電路尺寸將以二次方的比例縮小。但為了充分利用更小的晶體管尺寸并獲得更高的IPC,設(shè)計師正在開發(fā)更為復(fù)雜的微架構(gòu),生成更深的流水線,增加更多的執(zhí)行單元,并使用大的微架構(gòu)化結(jié)構(gòu)?,F(xiàn)在,芯片上更高的通信延時將對尺寸甚至這些結(jié)構(gòu)的布局和最大工作頻率造成實際的限制。
舉個例子,Intel Pentium 4中使用的錯誤預(yù)測流水線設(shè)計要求的級數(shù)是Pentium Ⅲ流水線的兩倍。由于具有更高的時鐘速率和走線延時,流水線必須劃分為更小的段,并且在每級流水線中做更少的工作。但走線延時變得如此之大,以致于Pentium 4流水線中有兩級是額外增加的,用于將信號從一級驅(qū)動到下一級,以便有足夠的時間去執(zhí)行要求的運(yùn)算,因為有很多的時鐘周期時間用在了信號抵達(dá)下一級上。
在ARM公司發(fā)布的高級微控制器總線架構(gòu)(AMBA)規(guī)范中,可以看到走線延時如何影響設(shè)計的另一個類似例子。在第一版AMBA規(guī)范中引入、設(shè)計用于互連高性能系統(tǒng)模塊的高級系統(tǒng)總線(ASB)使用了雙向總線和主/從架構(gòu)。
在第二版AMBA規(guī)范中,引入了高級高性能總線(AHB),用于改善對更高性能的支持,并替代ASB。在這個新的總線規(guī)范中,獨(dú)立于其它功能的雙向總線被替換為復(fù)用總線機(jī)制。這種修改初看起來似乎增加了不必要的走線和電路復(fù)雜性。但在很高性能系統(tǒng)中的走線延時效應(yīng)使得有必要引入中繼驅(qū)動器(與Pentium 4例子中看到的一樣)。這在形成組合式復(fù)用總線的單向總線中是可行的,但在雙向總線中很難實現(xiàn)。
面臨的挑戰(zhàn)
我們已經(jīng)看到有兩個主要的技術(shù)性限制在不斷影響摩爾定律和和處理器性能的持續(xù)改進(jìn)。但技術(shù)在不斷發(fā)展。縮小特征尺寸有助于提高晶體管密度和頻率,而設(shè)計師也仍在設(shè)法縮小晶體管尺寸,單顆芯片上的晶體管數(shù)量有望超過10億個。
業(yè)界預(yù)測,半導(dǎo)體技術(shù)工藝將在2014年達(dá)到35nm柵極長度,但實際上從2011年開始就已經(jīng)有人在用22nm工藝制造產(chǎn)品了。功耗和傳輸延時問題激勵著業(yè)界每個人去研究制造晶體管的新材料,而在現(xiàn)代處理器中已經(jīng)在應(yīng)用新的組織化和架構(gòu)化解決方案。高k值氧化柵(k指的是材料的介電常數(shù))正在替代用了幾十年的二氧化硅柵極電介質(zhì),它能實現(xiàn)更薄的絕緣層并更好地控制漏電流。
新的低k值電介質(zhì)的使用使得減小耦合電容以及傳輸延時成為可能。實現(xiàn)單個大型單片內(nèi)核的傳統(tǒng)微架構(gòu)正在演變?yōu)楦唵蔚亩鄡?nèi)核微架構(gòu),后者允許占大部分的局部通信,從而避免了大的延時。
最近一些芯片制造商,如Intel公司,發(fā)布了三維集成電路。Intel最新的Ivy Bridge系列處理器作為Sandy Bridge系列的后繼產(chǎn)品,采用了新的三柵極(tri-gate)晶體管技術(shù),在提升處理能力的同時可以降低所需的能耗。
使用3D晶體管替代以前的平面結(jié)構(gòu)晶體管后,各級流水線可以彼此垂直堆疊,從而能夠有效地縮短塊與塊之間的距離,消除走線延時效應(yīng)。據(jù)Intel介紹,公司的22nm 3D Tri-Gate晶體管功耗在相同時鐘頻率下不到32nm芯片上的平面晶體管的一半,超過了從一代工藝升級到下一代時通常所取得的效果。
多內(nèi)核架構(gòu)的發(fā)展非常迅速。例如,Tilera公司已經(jīng)在單顆芯片上成功開發(fā)出首個100內(nèi)核的處理器。為了達(dá)到這種集成度,Tilera將處理器與他們的設(shè)計師稱之為“瓦片(tile)”的通信開關(guān)組合在一起。通過組合這些瓦片,Tilera公司能夠搭建出一個形成網(wǎng)狀網(wǎng)的硅片。處理器一般通過總線互相連接,但隨著處理器數(shù)量的增加,這種總線很快變成了瓶頸。借助Tilera用瓦片平鋪出的網(wǎng),每個處理器連接一個開關(guān),它們可以像點(diǎn)到點(diǎn)網(wǎng)絡(luò)那樣相互通信。除此之外,每個瓦片可以獨(dú)立運(yùn)行一個實時操作系統(tǒng)?;蛘吣阋部梢詫⒍鄠€瓦片組合在一起,運(yùn)行像SMP Linux那樣的操作系統(tǒng)。
目前業(yè)內(nèi)正在研究開發(fā)令人稱奇的石墨烯晶體管,每個晶體管都是用一片僅一個原子厚度的碳制造的。理論上,這些晶體管支持非常高的工作頻率,可以高達(dá)1THz(1000GHz),甚至可以在柔性基板上制造這些晶體管。不過這種技術(shù)還面臨許多挑戰(zhàn),我們可能還要等幾年才能看到這些先進(jìn)技術(shù)實用化。
本文小結(jié)
目前業(yè)界面臨的問題是如何充分發(fā)揮這種巨大的并行處理能力。但嵌入式軟件行業(yè)已經(jīng)在開發(fā)強(qiáng)大的工具來幫助構(gòu)建新的、復(fù)雜的許多內(nèi)核應(yīng)用世界。
針對共享和分布式存儲架構(gòu)的OpenMP和MPI建議、以及針對不同種類系統(tǒng)的并行編程制定的開放標(biāo)準(zhǔn)OpenCL(開放計算語言)都非常有前途。利用OpenGL可以為混合有多內(nèi)核CPU、GPU甚至DSP的系統(tǒng)開發(fā)出合適的軟件。但最大的挑戰(zhàn)可能是改變編程人員的想法,使他們學(xué)會如何編寫出適合在這些系統(tǒng)運(yùn)行的高度并行和可靠的軟件。
評論