如何降低MIPS CPU 50%的動態(tài)功耗
設(shè)計CPU需要很多技巧和努力。拿到一個CPU設(shè)計并降低其50%的動態(tài)功耗需要一系列特殊的技巧,這也是CPU設(shè)計人員漫長職業(yè)生涯的要取得的技能之一。
在成功推出第一款PowerVR Rouge GPU的DOK后,Imagination和Synopsys展開第二個項目合作,旨在不犧牲任何性能領(lǐng)先數(shù)字的前提下顯著降低MIPS處理器的功耗。
動態(tài)功耗是SoC設(shè)計人員中一個熱門的(請原諒這個雙關(guān)語)話題
降低動態(tài)功耗是很多系統(tǒng)芯片設(shè)計人員目前面臨的一大挑戰(zhàn)。對可綜合IP來說目前有各種不同的選擇和考慮因素。同一IP可以應(yīng)用在不同市場中的各式各樣應(yīng)用中。最重要的是,工藝、工具和流程是額外需要考慮的挑戰(zhàn)。
性能、功耗和面積(PPA)的權(quán)衡取舍不同,依賴于不同的工藝,也依賴于客戶的實現(xiàn)要求。
Synopsys公司最近組織的一期研討會一文總結(jié)了來自于Imagination公司的Maya Mohan和NageshSakhamuru提出的一些選項,可用于Synopsys工具與流程使用28nm技術(shù)的情景下。
其主要目標(biāo)是使用特定的工藝和各子庫方案與Synopsys工具和流程結(jié)合的時候,介紹給SoC設(shè)計人員能夠節(jié)省動態(tài)功耗的各個方面。作者把很多重點(diǎn)放動態(tài)功耗相對于泄漏功耗上,并給出了特定技術(shù)庫IP選擇時每一步驟和流程階段相應(yīng)的功耗降低情況。
這個項目中CPU選擇的是MIPS interAptiv,它屬于Aptiv家族,是一個超高效的多線程處理器。在一般情況下,CPU期望以最高性能運(yùn)行,同時保持動態(tài)功耗盡可能地低。然而,以峰值性能運(yùn)行也可能會增加動態(tài)功耗;這就引發(fā)了需要尋找方法在持續(xù)性能與降低功耗之間取得平衡。
動態(tài)功耗有多個部件
您可以在一個CPU核心找到各種動態(tài)功耗部件,標(biāo)記如下:存儲器(M-Power),指令和數(shù)據(jù)高速緩存,寄存器(R-power),葉級的時鐘門控和非門控的寄存器,時鐘網(wǎng)絡(luò)單元(Ck-power),時鐘門控和緩沖區(qū)以及組合單元(C-power)。
功耗部件標(biāo)記: Ck:時鐘, R: 寄存器, M: 存儲器, C: 組合電路
對于每個以上四個分類,又細(xì)分為兩個子部件:內(nèi)部功耗和開關(guān)功耗。每一部分都被單獨(dú)分析,并且在每次動態(tài)功耗優(yōu)化時各種選項也都會被考慮。
基線版本動態(tài)功耗的內(nèi)部和開關(guān)子部件分布情況
綜合在DCT/ DCG中進(jìn)行,而布局布線則在ICC中執(zhí)行。兩個階段都測量了功耗:DCT后期以及ICC后期?;谝恢滦钥紤],研討會所有報告的功耗數(shù)據(jù)都取自ICC后期數(shù)據(jù)庫,通過門級仿真的開關(guān)行為獲得。參數(shù)提取由StarRC完成,Dhrystone診斷在門仿真時被使用,PT-PX用于功耗測量。
上圖顯示了MIPS interAptiv CPU的總動態(tài)功耗的各個子部件。這個基線版本被用于其它方法和實驗進(jìn)行比較的對象。
通常動態(tài)功耗使用mW/ MHz測量,但對于本項目,基線版本運(yùn)行的總功耗被歸一化為100,其它版本的運(yùn)行功耗基于這一數(shù)字得出。
正如從上圖中所看到的,時鐘功耗只點(diǎn)總功耗的約16%。從這里的圖表中,我們不難看出,功耗的最大消費(fèi)者是內(nèi)部存儲器和寄存器,以及組合邏輯的開關(guān)功耗:
•開關(guān)功耗正比于開關(guān)電容大小和切換次數(shù)。為了提高寄存器和組合邏輯的功耗水平,在DCT中大部分優(yōu)化使用了基于RTL的SAIF與自我門控技術(shù)。在ICC中各種動態(tài)功耗降低特性也在網(wǎng)絡(luò)研討會中進(jìn)行了探討,以及運(yùn)行最后階段的新CCD(并行時鐘和數(shù)據(jù))特性。
•內(nèi)部功耗正比于單元的數(shù)目、單元大小和切換次數(shù)。降低寄存器的內(nèi)部功耗可通過替換為較小尺寸的單元以及降低切換次數(shù)。也可以使用更低軌道的工藝庫(例如,從12軌道轉(zhuǎn)換至9軌道)提供了相對于性能和面積降低功耗的另一種折衷。內(nèi)部存儲器的功耗主要?dú)w因于所選擇的大小或存儲器類型。Synopsys的存儲器編譯器有多種內(nèi)存可供選擇。筆者選擇了一個基于RF的組合,結(jié)合了高性能以及高密度的單端口存儲器,這種組合一般用于平衡(高效的)功耗/性能需求。
非常令人激動的結(jié)果!
所有上述特性和技術(shù)的結(jié)合在一起顯著降低了功耗。下面的流程圖描述了Synopsys的綜合工具和ICC中所使用的最終工具選項:
最終流程圖
在項目結(jié)束時,總功耗降低了約48%,面積減少了46%,而代價為只降低了CPU15%的性能表現(xiàn)。
相對于12軌道、SRAM的基線版本所有運(yùn)行版本優(yōu)化動態(tài)功耗后的表現(xiàn)
上表顯示了所有上述實驗和相應(yīng)功耗;要查看完整結(jié)果,請下載完全白皮書,下載后您會看到這個過程中每一步驟對應(yīng)功耗和面積的減少。