新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > Cache結構的低功耗可重構技術研究

        Cache結構的低功耗可重構技術研究

        作者: 時間:2009-09-21 來源:網絡 收藏

        2.2 動態重構算法
        在程序運行過程中,通過軟件監測自動選擇優化的結構。一般采用啟發式算法,即根據程序過去執行的狀況預測未來的運行情況,并為其配置相應的優化結構。重構流程是:在程序運行的時候,CPU按固定的時間間隔檢查一系列的硬件計數器;這些計數器記錄上一時間段內的缺失率和分支跳轉的發生頻率,如果改變的程度超過設定閾值則進入重構過程,否則程序繼續運行。
        圖3是算法的狀態圖。RESET為程序開始運行時的初始狀態;UNSTABLE為非穩定狀態,該狀態下進行結構的搜索與重構;STABLE為選擇好優化的結構進入穩定運行的狀態;TRANSl,TRANS2為狀態相互切換時的中間狀態。圖4是在UNSTABLE狀態下的搜索流程。首先根據統計將各種配置的Cache結構按照失效率進行排序。進入重構搜索狀態后,如果引起重構的原因是失效率的上升,則沿著排序表開始,朝失效率降低的方向依次搜索新的Cache結構。如果引起重構的原因是程序分支頻率的改變,則需要搜索所有的Cache結構。

        2.3 Cache中問題
        (1)數據重名問題
        Cache中的數據重名問題是指主存中同一地址的數據同時出現在Cache中兩個不同的位置。實地址Cache中本來不存在數字重名問題,但引入概念的同時,也帶來了數據重名問題。解決這一問題的簡單辦法是在Cache重構的時候讓Cache中的內容全部無效,需要寫回的內容都進行寫回。但這樣會導致Cache性能下降,特別是在Cache重構比較頻繁的時候。但是如果動態重構的指令片段較大,則影響比較小。
        (2)映射錯誤問題
        Cache在重構時,其組數量會變化,從而導致需要比較的Tag位的數量也發生變化,這會導致映射錯誤的出現。為了保證處于任何一種狀態的時候都有足夠的Tag來做比較,按照Tag位最長的一種配置來保存Cache地址結構,也就是組數量最少的情況。這樣做雖然會增加一些無用的比較,但卻能避免刷新Cache帶來的性能損失。

        結 論
        本文在傳統Cache結構的基礎上分析了一種可重構Cache的體系結構及其動態重構的配置算法,指出了可重構Cache可能會遇到的問題。通過對傳統Cache結構的改進,在嵌入式處理器上實現Cache可重構技術,這對嵌入式處理器的存儲器體系結構功耗優化有著重要意義。可重構Cache的設計方法具有非常好的潛力,也是目前計算機體系結構方面的研究熱點之一。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 保德县| 宽城| 安平县| 延长县| 忻城县| 清水河县| 久治县| 望奎县| 吉木萨尔县| 三门县| 巴中市| 鄂温| 光山县| 台中县| 虹口区| 和林格尔县| 南部县| 玉树县| 都江堰市| 竹溪县| 沛县| 宕昌县| 德钦县| 福泉市| 蚌埠市| 耿马| 芦山县| 五常市| 开江县| 乌兰浩特市| 天镇县| 武功县| 土默特右旗| 马龙县| 黎城县| 唐河县| 镇康县| 玉门市| 石河子市| 石台县| 桓台县|