• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    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 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 中阳县| 罗山县| 彩票| 武宣县| 化德县| 桑植县| 普陀区| 乌拉特中旗| 启东市| 留坝县| 大渡口区| 巴林右旗| 邵东县| 德州市| 永仁县| 汝阳县| 临洮县| 江城| 镇沅| 鹤岗市| 通许县| 固原市| 鲜城| 曲沃县| 佛教| 油尖旺区| 卢龙县| 黎城县| 海林市| 凉城县| 开鲁县| 惠州市| 灌云县| 白朗县| 吉木萨尔县| 彰化县| 乌鲁木齐市| 宣恩县| 都兰县| 广河县| 麻城市|