關(guān)于芯片的計(jì)算機(jī)輔助設(shè)計(jì)熱仿真平臺(tái)搭建
0 引言
為了在芯片設(shè)計(jì)之初就對(duì)總體設(shè)計(jì)進(jìn)行較好的熱性能評(píng)估,借助于熱建模和熱仿真的工具軟件,本文整合出了一套完整的芯片熱仿真流程。
1 原理
1.1 軟件原理
對(duì)芯片進(jìn)行熱建模和熱仿真需要用到開(kāi)源軟件HotSpot[1]以及GEM5[2],McPAT[3]。其中3個(gè)軟件之間的關(guān)系可以使用圖1進(jìn)行描述。
HotSpot是一種適用于計(jì)算機(jī)體系結(jié)構(gòu)研究,精確而快速的熱建模軟件。它基于微架構(gòu)模塊和熱封裝對(duì)應(yīng)的電阻和電容等效電路來(lái)進(jìn)行仿真迭代求解。該工具基于有限元仿真的求解原理,可以得出設(shè)計(jì)芯片的體系結(jié)構(gòu)模型。此模型可以對(duì)輸入的power進(jìn)行穩(wěn)態(tài)和瞬態(tài)的熱仿真,得出芯片某一時(shí)刻溫度數(shù)據(jù)的輸出。
GEM5是一款模塊化的離散事件驅(qū)動(dòng)全系統(tǒng)模擬器,可在模擬加載的系統(tǒng)鏡像中運(yùn)行應(yīng)用程序,從而輸出相對(duì)應(yīng)的統(tǒng)計(jì)數(shù)據(jù)。
McPAT是1個(gè)功耗、面積和時(shí)序建模的框架,可以接在GEM5輸出的統(tǒng)計(jì)數(shù)據(jù)后面計(jì)算出power的數(shù)值,作為模擬實(shí)際應(yīng)用運(yùn)行狀態(tài)的功耗數(shù)據(jù)。
最后,McPAT輸出的power數(shù)據(jù)作為功率數(shù)據(jù)輸入到HotSpot生成的功率模型中,從而將3個(gè)工具有效地結(jié)合起來(lái)。整個(gè)流程可以有效地對(duì)芯片模型進(jìn)行仿真,檢測(cè)芯片體系結(jié)構(gòu)的性能特性和熱特性,并且可以給后續(xù)對(duì)芯片進(jìn)行類(lèi)似于Turbo Boost[4]等的熱管理提供模型支持。
1.2 芯片架構(gòu)
隨著各種新材料和新技術(shù)的出現(xiàn),芯片上晶體管數(shù)量的規(guī)模在近幾十年不斷增長(zhǎng)。
為了獲得更好性能,更多的芯片體系結(jié)構(gòu)被提出來(lái),但是隨著芯片的性能不斷被壓榨出來(lái)。多核結(jié)構(gòu)和三維結(jié)構(gòu)在近些年被專(zhuān)家提了出來(lái),然而現(xiàn)如今多核結(jié)構(gòu)[5]和三維結(jié)構(gòu)[6]在工業(yè)設(shè)計(jì)中仍然具有一定的難度,主要原因在于堆積結(jié)構(gòu)造成了芯片難以解決的散熱問(wèn)題[7]。
常規(guī)的芯片結(jié)構(gòu)包括封裝和散熱模塊[8],如圖2所示。
多核結(jié)構(gòu)是硅片上的二維結(jié)構(gòu),三維芯片在結(jié)構(gòu)上是多個(gè)二維結(jié)構(gòu)的堆疊。如圖3所示:
(a)
(b)
圖3 二維的多核結(jié)構(gòu)(a)和三維的多核結(jié)構(gòu)(b)
2 方法
2.1 HotSpot熱建模
在第二部分芯片結(jié)構(gòu)的介紹中,對(duì)于2種芯片結(jié)構(gòu)都需要使用HotSpot進(jìn)行熱建模。HotSpot可以將芯片抽象成網(wǎng)格的模型,并且得出每個(gè)格點(diǎn)之間的關(guān)系(包括熱阻和熱容)。
接下來(lái)芯片熱模型就轉(zhuǎn)換成了電路網(wǎng)絡(luò),在這個(gè)網(wǎng)絡(luò)中,功率被看作電流,溫度被視作電壓。因此輸入功耗求解芯片相應(yīng)溫度就成為了簡(jiǎn)單的矩陣求解電路問(wèn)題。
在HotSpot中,編譯完成之后需要關(guān)注修改幾個(gè)文件,完成對(duì)芯片的描述,詳見(jiàn)表1。
其中,core.flp定義了需要進(jìn)行模擬仿真的芯片結(jié)構(gòu),這里使用坐標(biāo)和寬高定義芯片中的每個(gè)模塊。在三維芯片中,ic.lcf定義了二維芯片之間的堆疊關(guān)系,例如圖3(b)是2層二維芯片的堆疊,并且使用TIM(熱中間介質(zhì))進(jìn)行隔絕。而core.ptrace是芯片的輸入功耗,這個(gè)文件中的功耗數(shù)據(jù)是從GEM5和McPAT輸出得來(lái)的。功耗數(shù)據(jù)可以按照固定的時(shí)間間隔輸入,相應(yīng)的時(shí)間間隔可以在hotspot.config中進(jìn)行定義,最終通過(guò)HotSpot進(jìn)行迭代計(jì)算芯片的瞬態(tài)溫度數(shù)據(jù)。
2.2 GEM5和McPAT生成功率輸入
G E M 5 可以模擬掛載系統(tǒng)鏡像運(yùn)行相應(yīng)的Benchmark,從而輸出模擬系統(tǒng)架構(gòu)的運(yùn)行統(tǒng)計(jì)數(shù)據(jù)。GEM5支持包括Alpha、ARM和X86在內(nèi)的多種系統(tǒng)體系結(jié)構(gòu),并且支持多個(gè)線程和多核的設(shè)置,因此在仿真二維多核結(jié)構(gòu)和三維多核的芯片中是非常有效的。在輸出統(tǒng)計(jì)數(shù)據(jù)之后,為了根據(jù)數(shù)據(jù)計(jì)算出芯片的面積和功耗,此時(shí)使用腳本文件將統(tǒng)計(jì)數(shù)據(jù)映射到對(duì)應(yīng)McPAT中進(jìn)行計(jì)算,最終可以輸出對(duì)應(yīng)體系結(jié)構(gòu)每個(gè)模塊的功耗數(shù)據(jù)(功耗數(shù)據(jù)是按照應(yīng)用運(yùn)行的時(shí)間順序輸出的)。功耗數(shù)據(jù)輸入到HotSpot建立的熱模型中,從而完成仿真得到溫度數(shù)據(jù)。
2.3 計(jì)算溫度數(shù)據(jù)
將GEM5和McPAT輸出的功耗數(shù)據(jù)加入core.ptrace中作為輸入功耗,再根據(jù)實(shí)際中需要仿真芯片的參數(shù),修改HotSpot中的配置文件,接下來(lái)在終端中執(zhí)行仿真代碼,在HotSpot完成仿真之后,就可以在core.ttrace的文件中讀取瞬態(tài)仿真結(jié)果。
3 實(shí)驗(yàn)結(jié)果
考慮到當(dāng)前芯片的前沿課題,本文對(duì)二維多核芯片結(jié)構(gòu)和三維芯片結(jié)構(gòu)進(jìn)行了熱建模和熱仿真。仿真平臺(tái)的搭建方法使用了前述幾章涉及的內(nèi)容,輸入的應(yīng)用程序是從PARSEC[9]提取出來(lái)的Benchmark。仿真時(shí)間間隔是0.000 1 s。實(shí)驗(yàn)結(jié)果包括二維和三維芯片的溫度分布展示圖,以及二維和三維芯片的仿真溫度曲線。
3.1 二維多核結(jié)構(gòu)
在二維結(jié)構(gòu)中,每個(gè)核輸入相應(yīng)的功耗,此時(shí)使用HotSpot可以仿真出每個(gè)核心的溫度變化曲線,如圖4(a)所示。并且展示出瞬態(tài)溫度曲線第三秒時(shí)刻的整個(gè)芯片溫度分布圖,如圖4(b)所示。
(a)二維多核結(jié)構(gòu)的瞬態(tài)溫度曲線
(b)二維多核結(jié)構(gòu)(3 s)時(shí)刻的芯片溫度分布圖
圖4 二維多核結(jié)構(gòu)的輸出結(jié)果
3.2 三維多核結(jié)構(gòu)
同樣地,在三維多核結(jié)構(gòu)中,每個(gè)核輸入功耗后,使用HotSpot可以仿真出每個(gè)核心的溫度變化曲線,如圖5(a)所示。并且展示出瞬態(tài)溫度曲線第3 s時(shí)刻的整個(gè)芯片溫度分布圖,如圖5(b)所示。
(a)三維多核結(jié)構(gòu)的瞬態(tài)溫度曲線
(b)三維多核結(jié)構(gòu)(3 s)時(shí)刻的芯片溫度分布圖
圖5 二維多核結(jié)構(gòu)的輸出結(jié)果
從實(shí)驗(yàn)結(jié)果中可以得出,使用本文的仿真平臺(tái)可以對(duì)二維多核結(jié)構(gòu)芯片和三維多核結(jié)構(gòu)芯片進(jìn)行有效的熱仿真,通過(guò)瞬態(tài)溫度數(shù)據(jù)和任意時(shí)刻的溫度分布的結(jié)果,研究人員可以在設(shè)計(jì)初期對(duì)熱模塊的位置進(jìn)行合理規(guī)劃,以及在后期芯片中加入適宜的管理程序從而有效的提升系統(tǒng)性能和減少熱風(fēng)險(xiǎn)。
4 結(jié)語(yǔ)
隨著芯片發(fā)展到多核芯片和三維結(jié)構(gòu)芯片,芯片中的熱問(wèn)題變得越來(lái)越嚴(yán)重,因此在設(shè)計(jì)初期,借助計(jì)算機(jī)輔助設(shè)計(jì)進(jìn)行熱仿真,可以有效地避免最終電路的設(shè)計(jì)失敗。本文完整搭建了芯片的計(jì)算機(jī)輔助設(shè)計(jì)熱仿真平臺(tái),并且使用該平臺(tái)完成了對(duì)二維多核芯片和三維多核芯片的熱建模和熱仿真。本文建立的熱仿真流程,可以通過(guò)調(diào)整芯片的設(shè)計(jì)布局從而降低芯片工作時(shí)的整體平均溫度,從而有效地解決芯片中熱密度過(guò)大的問(wèn)題,并且可以通過(guò)模型熱管理來(lái)最大化系統(tǒng)性能。文中的熱仿真平臺(tái)上在指導(dǎo)未來(lái)芯片設(shè)計(jì)和芯片熱管理研究工作中具有重要的意義。
參考文獻(xiàn):
[1] HUANG W,GHOSH S,VELUSAMY S,et al.HotSpot: A compact thermal modeling methodology for early-stage VLSI design[J].IEEE Transactions on very large scale integration (VLSI) systems,2006,14(5):501-513.
[2] QURESHI Y M,SIMON W A,ZAPATER M,et al.Gem5-X: A Gem5-based system level simulation framework to optimize many-core platforms[C].2019 Spring Simulation Conference (SpringSim),IEEE,2019:1-12.
[ 3 ] D U E N H A L , M A D A L O Z Z O G , M O R A E S F G , e t al.Exploiting performance, dynamic power and energy scaling in full‐system simulators[J].Concurrency and Computation: Practice and Experience,2017,29(22):e4034.
[ 4 ] ACUN B , M I L L E R P , K A L E L V . V a r i a t i o n a m o n g p r o c e s s o r s u n d e r t u r b o b o o s t i n h p c s y s t e m s [C] .Proceedings of the 2016 International Conference on Supercomputing,2016:1-12.
[5] ETIEMBLE D.45-year CPU evolution: one law and two equations[J].arXiv preprint arXiv:1803.00254,2018.
[ 6 ] Z H A N G D K , H U A N G C , SON G G Z . S u r v e y o n t h r e e - d i m e n s i o n a l n e t w o r k - o n - c h i p [ J ] . J o u r n a l o f Software,2016,27(1): 155-187.
[7] CAO K,ZHOU J,WEI T,et al.A survey of optimization techniques for thermal-aware 3D processors[J].Journal of Systems Architecture,2019,97:397-415.
[8] 張明.眾核芯片熱建模與功耗管理技術(shù)研究[D].成都:電子科技大學(xué),2016.
[9] BIENIA C,LI K.Benchmarking modern multiprocessors[M].Princeton,NJ:Princeton University, 2011.
(本文來(lái)源于《電子產(chǎn)品世界》雜志2020年9月期)
評(píng)論