下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
一種cache漏流低功耗估算模型
1基于核心信息的漏流載荷估算模型隨著技術規(guī)模的減小,尤其是技術深度的發(fā)展,靜態(tài)功耗損失已成為數(shù)字電路總功耗的主要組成部分。根據(jù)半導體工業(yè)協(xié)會于2002年所做的半導體國際技術發(fā)展趨勢(ITRS)的預測,隨著工藝尺寸降低,漏流功耗將逐漸超過動態(tài)功耗而成為電路中功耗的主要部分。在微處理器中,隨著片上Cache的容量逐漸加大,高容量的片上Cache是造成漏流功耗的主要原因。為了降低Cache的漏流功耗,目前已經(jīng)提出了很多體系結構級和電路級的漏流功耗降低技術。SleepCache和DrowsyCache結合了體系結構技術和電路設計技術以降低漏流功耗。它們的根本出發(fā)點是,將那些存儲于Cache中、經(jīng)過一個給定的時間間隔(衰退間隔)沒有被再次訪問的Cache塊置為低功耗模式。KarthikS等提出了在SleepCache中根據(jù)程序某一執(zhí)行階段的profile信息,估算Cache漏流功耗的方法。本文通過對Cache的訪問行為進行詳細的分析,在KarthikS等工作的基礎上提出了同時適應于DrowsyCache和SleepCache的漏流功耗估算模型;同時,根據(jù)本文所提出的模型設計出基于統(tǒng)計信息的漏流功耗模擬器,與HotLeakage漏流功耗模擬器進行了功耗估算結果的對比。比較發(fā)現(xiàn),我們所提出的模型對漏流功耗的估算與HotLeakage模擬器的模擬結果之間的差距小于3.46%。2流量損失估算模型2.1drowsy2在低電壓“掛起”模式下的性能為了建立功耗模型,我們采用YanMeng等對Cache行為的分析方法,對Cache塊的一個訪問間隔進行分析。訪問間隔指對Cache塊的兩次連續(xù)的訪問或者從Cache塊新產生到被第一次訪問或者從最后一次訪問到被替換出去之間的時間。如圖1所示,圖1a為普通Cache塊在第i次訪問與第i+1次訪問之間的狀態(tài)。在整個訪問間隔內,Cache塊處于“活躍”狀態(tài)。圖1b為DrowsyCache在第i次訪問與第i+1次訪問之間的狀態(tài)。圖1c為圖1b所對應的電壓隨時間的變化圖。當Cache在第i次訪問之后,如果在衰退間隔(衰退間隔是一個固定的時間間隔,如果一個Cache塊從最近一次被訪問到經(jīng)過該時間間隔時間之后沒有被再次訪問,則被置為低功耗狀態(tài))時間之內沒有被再次訪問,則DrowsyCache進入低電壓“掛起(Standby)”狀態(tài),電壓在(0,Vdd)之間,可以維持Cache塊中的數(shù)據(jù)。當?shù)趇+1次訪問該Cache塊時,由于在“掛起”狀態(tài)仍然可以保持數(shù)據(jù),因此轉換到正常電壓工作模式時立即可以提供給第i+1次訪問所需的數(shù)據(jù)。圖1d表示如果第i次訪問為最后一次訪問的情況下,SleepCache在最后一次訪問到被替換之間的狀態(tài)圖。這種情況下不會引起額外的Cache失效,將Cache塊休眠將最大限度地節(jié)省漏流功耗。圖1e為圖1d所對應的電壓隨時間的變化圖。圖1f表示SleepCache中連續(xù)的兩次訪問。當Cache在第i次訪問之后,如果在衰退間隔時間之內沒有被再次訪問,則SleepCache進入電源關斷的“休眠”狀態(tài),電壓切換為0。在“休眠”狀態(tài)下,Cache塊中存儲的數(shù)據(jù)丟失。當?shù)趇+1次請求該塊的數(shù)據(jù)時,必須重新從更遠層的數(shù)據(jù)存儲層次中獲得數(shù)據(jù),因此會導致額外的失效。在DrowsyCache中,d1為“活躍”模式轉換到“掛起”模式的時間,d2為“掛起”模式所維持的時間,d3為“掛起”模式轉換到“活躍”模式的時間。在d1時間內消耗的轉換能量用EAD表示,在d3時間內消耗的轉換能量用EDA表示。在SleepCache中,s1為“活躍”模式轉換到“休眠”模式的時間,s3為“休眠”模式轉換到“活躍”模式的時間,s4為由于Cache失效而導致的額外延遲。s1時間內消耗的轉換能量用EAS表示,s3時間內消耗的能量用ESA表示。為了對功耗進行建模,我們定義如下參數(shù):eactive表示單位Cache塊在單位時鐘周期內處于“活躍”模式下的漏流能量;estandby表示單位Cache塊在單位時鐘周期內處于“掛起”模式下的漏流能量;esleep表示單位Cache塊在單位時鐘周期內處于“休眠”模式下的漏流能量。2.2drowsy-ij-icay-s1基于統(tǒng)計信息的Cache漏流功耗估算原理是:對于目標Cache中的每一個Cache塊,我們統(tǒng)計該Cache塊的所有訪問間隔時間的分布情況,從而獲得整個Cache中所有Cache塊的訪問間隔時間的分布數(shù)據(jù),然后根據(jù)統(tǒng)計結果與功耗參數(shù)估算出整個Cache的漏流功耗。為了統(tǒng)計Cache中每個塊的訪問間隔分布情況,我們設置一定數(shù)目的統(tǒng)計計數(shù)器,每個計數(shù)器對應一個訪問間隔區(qū)間,統(tǒng)計訪問間隔落于區(qū)間(2k,2(k+1)]的數(shù)目,k的取值決定了區(qū)間的范圍。我們用Ii表示時鐘周期數(shù)為i的訪問間隔,IDecay表示衰退間隔。根據(jù)前面對Cache塊的訪問行為的分析,我們有如下推論:推論1對于DrowsyCache或SleepCache中任一個Cache塊,在對該塊的所有訪問間隔Ii中,若存在Ij≤IDecay(j∈i),則在Ij這段時間內,該Cache塊處于“活躍”狀態(tài)。推論2在對任一個Cache塊的所有訪問間隔Ii中,若存在Ij>IDecay(j∈i),則在IDecay這段時間內,該Cache塊處于“活躍”狀態(tài);對于DrowsyCache,在|Ij-IDecay-d1|這段時間內,該Cache處于“掛起”狀態(tài);對于SleepCache,在|Ij-IDecay-s1|這段時間內,該Cache處于“休眠”狀態(tài)。推論3在對任一個Cache塊的所有訪問間隔Ii中,若存在一個Ij>IDecay(j∈i),則必定會發(fā)生兩次狀態(tài)轉換。對于DrowsyCache,發(fā)生“活躍”與“掛起”兩個狀態(tài)的相互轉換;對于SleepCache,發(fā)生“活躍”與“休眠”兩個狀態(tài)的相互轉換。推論4對于SleepCache,對于連續(xù)的兩次訪問之間的間隔大于IDecay,則會導致一次額外的Cache失效;對于最后一次訪問到被替換出去之間的間隔大于IDecay,不會導致額外的Cache失效。2.3漏流控制技術tk值的計算根據(jù)上面的推論,為了估算漏流功耗,需要統(tǒng)計落在每個訪問間隔區(qū)間內的訪問間隔的數(shù)目。我們用(tk,tk+1]表示區(qū)間的范圍,其中tk=2k,tk+1=2k+1。根據(jù)需要,我們可以調整k的取值,獲得不同的訪問間隔區(qū)間。假定設置16個訪問間隔區(qū)間,那么k∈(0,15],則最小的區(qū)間為(1,2],最大的區(qū)間為(32,64k]。任何大于64k的訪問間隔將按照落入(32k,64k]區(qū)間計算。通過對程序執(zhí)行過程中訪問Cache行為的統(tǒng)計,我們就可以將Cache中所有的訪問間隔按照區(qū)間進行劃分,統(tǒng)計出落入每個區(qū)間的訪問間隔的數(shù)目。落在區(qū)間(tk,tk+1]的訪問間隔的數(shù)目用Nk+1表示。每當設定了衰退間隔IDecay(規(guī)定IDecay必須為2的冪),可以獲得所有大于等于IDecay的訪問間隔時間的數(shù)目為L(ΙDecay)=max(j)∑j=2*ΙDecayΝj(j∈2m)L(IDecay)=∑j=2*IDecaymax(j)Nj(j∈2m),所有小于等于IDecay的訪問間隔時間的數(shù)目為S(ΙDecay)=ΙDecay∑j=1Νj(j∈2m)S(IDecay)=∑j=1IDecayNj(j∈2m)。由于訪問間隔區(qū)間寬度是2的冪,因此落在訪問間隔區(qū)間(tk,tk+1]內的所有訪問間隔時間的平均值可以用訪問間隔區(qū)間的幾何平均值tk+1√2/2tk+12√/2表示。所有小于IDecay的訪問間隔時間的總和Sum_smalltime(IDecay)與所有大于等于IDecay的訪問間隔時間的總和Sum_largetime(IDecay)可以通過公式(1)與公式(2)計算獲得。Sum_smalltime(ΙDecay)=ΙDecay∑j=1Νjtj√2/2?j∈2m,m∈[0,max(k)](1)Sum_largetime(ΙDecay)=max(j)∑j=2*ΙDecayΝjtj√2/2?j∈2m,m∈[0,max(k)](2)caceh_assoc、cache_nsets,分別表示Cache的相聯(lián)度、組數(shù)目,SimCycles表示程序執(zhí)行的時鐘周期數(shù),f為時鐘頻率。不采用漏流控制技術的普通Cache(NormalCache)的漏流功耗Pleakage_normal可以表示為公式(3)。DrowsyCache或者SleepCache的漏流功耗用公式(4)表示。Ρleakage_normal=(eactivemax(j)∑j=1Νjtj√2/2)f/SimCycles=eactive*cache_assoc*cache_nsets*f(3)Ρleakage_drowsy/sleep(ΙDecay)={eactiveΙDecay∑j=1Νjtj√2/2+[eactiveΙDecay+EAD/AS+EDA/SA-estandby/sleep(ΙDecay+d1ors1)]L(ΙDecay)+estandby/sleepmax(j)∑j=2*ΙDecayΝjtj√2/2}f/SimCycles,j∈2m,m∈[0,max(k)](4)2.4基于cache塊分布式顯示無論在DrowsyCache還是SleepCache中,都需要實現(xiàn)一套計數(shù)機制來實現(xiàn)衰退間隔。目前,比較合理的設計是使用一個全局計數(shù)器,同時每個Cache塊具有一個本地計數(shù)器,兩個計數(shù)器聯(lián)合確定何時將Cache塊轉換到“掛起”或者“休眠”狀態(tài)。由于增加了大量額外的計數(shù)器,因此不能忽略這些計數(shù)器帶來的額外漏流和動態(tài)功耗。我們將計數(shù)器及其相關的邏輯近似為存儲陣列結構,因此計數(shù)器的功耗可以看作是一部分額外的存儲陣列單元的功耗。(1)近似的存儲陣列單元計數(shù)器的額外的靜態(tài)功耗可以通過公式(5)計算。其中,xtra2orig_ratio表示額外的計數(shù)器邏輯所近似的存儲陣列單元與整個Cache存儲陣列單元(包括數(shù)據(jù)體與TAG體)的比值,該比值只與全局計數(shù)器和本地計數(shù)器的位寬有關。PXtra_leak(IDecay)=xtra2orig_ratio(IDecay)*Pleakage_normal=eactive*cache_assoc*cache_nsets*f(5)(2)分布式本地計數(shù)計數(shù)器額外的動態(tài)功耗可以通過公式(6)計算。其中,eglobal_access、elocal_access分別為每訪問一次全局計數(shù)器和局部計數(shù)器的動態(tài)能量,global_count_max為全局計數(shù)器的最大計數(shù)值,全局計數(shù)器每計數(shù)global_count_max個時鐘周期,就發(fā)生一個global_tick信號,更新所有的本地計數(shù)器。其中,elocal_reset為重置一次本地計數(shù)器的能量,n_reset為本地計數(shù)器重置的次數(shù)。只有當訪問間隔大于衰退間隔,或者當一個Cache塊被替換進來時,對應的本地計數(shù)器才會被重置。前者的數(shù)目遠遠大于后者的數(shù)目,因此總的本地計數(shù)器被重置的次數(shù)約等于L(IDecay)。(3)基于cache的側分辨率為了簡化模型,總的額外功耗中忽略了由于額外的Cache失效所引起的訪存功耗,以及由于低功耗模式下性能降低引起額外的程序執(zhí)行時間所帶來的功耗。分析公式(5)和式(6)可以發(fā)現(xiàn):組成額外計數(shù)器所帶來的功耗的各個部分中,除了重置本地計數(shù)器的功耗,剩余部分可以表示為f的正比例函數(shù),而Pleakage_normal也是f的正比例函數(shù),因此總的額外功耗可以表示為公式(7)。其中,λ為結構因子,它只與Cache的組織方式和計數(shù)器的位寬有關。根據(jù)Cache的體系結構參數(shù)和功耗參數(shù),我們就可以得到λ因子。根據(jù)上面的分析,可以得到DrowsyCache或者SleepCache的實際漏流功耗與NormalCache的漏流功耗的比值(Nomalized_leak_Power,簡稱NLP),用公式(8)表示。3電池生成性能測試我們在Simscalar3.0模擬器的基礎上增加基于統(tǒng)計信息的漏流功耗模擬器。對于功耗參數(shù)eactive、estandby、estep、EAD、EDA、EAS、ESA、eglobal_access、elocal_access和elocal_reset的獲取,可以通過建立帶有休眠控制晶體管的Cache電路,對該電路使用SPICE工具進行電路模擬獲得。Hotleakage是一種可以對深亞微米電路的漏流功耗做出比較精確估算的功耗模擬器,其參數(shù)來自于晶體管級的電路模擬器。為了驗證本文所提出的模型的正確性,我們將與Hotleakage漏流功耗模擬器進行對比。因此,功耗參數(shù)的選取參考Hotleakage模擬器中對應的設定值。測試程序使用的是SPECCPU2000提供的標準測試程序。在統(tǒng)計中,我們跳過了前十億條指令,統(tǒng)計后300兆條指令執(zhí)行過程中Cache的訪問間隔時間。為了提高模型精度,訪問間隔時間被劃分為32個區(qū)間,分別統(tǒng)計落在每個區(qū)間內的訪問間隔時間的數(shù)目。4不同衰退間隔的模型估算結果根據(jù)統(tǒng)計得到的Cache訪問間隔信息,使用基于統(tǒng)計信息的Cache漏流估算模型可以對不同衰退間隔條件下DrowsyCache或者SleepCache的NLP進行估算。對于DrowsyCache,當衰退間隔為256時鐘周期時,基于統(tǒng)計信息模型估算的NLP與HotLeakage模型估算出的結果如圖2所示。對于SleepCache,我們給出衰退間隔為8K周期時的結果,如圖3所示。可以看出,無論對于DrowsyCache還是SleepCache,從基于統(tǒng)計信息的模型估算出的NLP與HotLeakage模型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學校傳染病的預防和控制課件
- 2024-2025學年專題7.3 重力-八年級物理人教版(下冊)含答案
- 第3章 圓的基本性質 浙教版數(shù)學九年級上冊測試(含答案)
- 田徑《彎道跑》說課稿
- 5年中考3年模擬試卷初中道德與法治七年級下冊03專項素養(yǎng)綜合全練(三)
- 高考語文作文主題講解之 成功面面觀
- 文獻檢索的課件
- (統(tǒng)考版)2023版高考化學一輪復習第十章化學實驗第3講化學實驗方案的設計與評價學生用書
- 汽車涂裝技術(彩色版配實訓工單)課件 任務四 施工原子灰
- 主題美容院裝修協(xié)議模板
- 輕質陶粒墻板項目立項申請報告
- AQ2059-2016 磷石膏庫安全技術規(guī)程
- 中建八局項目管理策劃方案
- 江西省2022年初中學業(yè)水平考試語文試題參考答案
- 幼兒園大班科學《筷子架橋》課件
- 法國疫情政府措施
- 神話故事燧人鉆木取火
- 兒童心理危機評估的特殊考慮
- 少年模擬法庭活動方案
- 酶制劑行業(yè)發(fā)展趨勢報告
- 延續(xù)性護理干預在神經(jīng)外科患者中的應用效果觀察
評論
0/150
提交評論