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