新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應用 > Cache結(jié)構(gòu)的低功耗可重構(gòu)技術(shù)研究

Cache結(jié)構(gòu)的低功耗可重構(gòu)技術(shù)研究

作者: 時間:2009-09-21 來源:網(wǎng)絡(luò) 收藏
引 言
隨著集成電路的工作速度和芯片集成度不斷提高,芯片的功耗問題變得越來越突出,高性能設(shè)計已經(jīng)成為當前集成電路領(lǐng)域的一個重要課題。在以微處理器為核心部件的VLS1系統(tǒng)中,是系統(tǒng)取得高數(shù)據(jù)傳輸率的關(guān)鍵部件。在現(xiàn)代CPU中,的功耗約占處理器總功耗的30%~60%,有效降低這部分的功耗,對芯片的設(shè)計有著重大的意義。


1 相關(guān)研究
Cache平均訪問功耗是Cache性能表現(xiàn)的一個重要因素。Cache平均訪問功耗由Cache命中時的訪問功耗、失效時的訪問功耗和失效率三者決定。失效時的訪問功耗又包括兩部分:一部分是Cache失效時Cache電路的功耗,另一部分則是下一級存儲系統(tǒng)的訪問功耗。因此降低Cache功耗可以從三個方面考慮:一是降低Cache的失效率,二是降低Cache訪問能量,三是降低主存訪問能量。
為了達到低功耗的目的,對Cache結(jié)構(gòu)做了一些改進:Phase―lookup Cache結(jié)構(gòu),應用兩級查詢的機制,即先訪問tag array,只有命中的那一路data才會在第二相去訪問,這樣就降低了組相聯(lián)Cache中數(shù)據(jù)array部分的功耗,但增加了Cache訪問的時間;Way predictive組相聯(lián)Cache結(jié)構(gòu),在默認情況下只訪問一個tag array和一個data array,只有在默認訪問失效時才會去訪問其他的tag和data array,這種方法也以增加Cache訪問時間的代價來換取低功耗;偽組相聯(lián)Cache結(jié)構(gòu),是具有多個命中時間的Cache結(jié)構(gòu),Cache中的每一路可以被順序讀取,從而可以比傳統(tǒng)的同時讀取結(jié)構(gòu)節(jié)省一部分功耗;另外還有基于壓縮方法方面的研究,針對高頻值的局部性,在讀寫Cache的過程中,對高頻出現(xiàn)的數(shù)據(jù)值進行壓縮存儲,用較少存儲空間保存編碼后的數(shù)據(jù),在一定程度上減少了Cache的訪問功耗。
低功耗的Cache研究在最近幾年得到關(guān)注,通過改變Cache的結(jié)構(gòu)參數(shù),不管是用硬件實現(xiàn)還是用軟件實現(xiàn),針對不同的程序來配置優(yōu)化的Cache結(jié)構(gòu),盡可能地關(guān)閉不使用的Cache,兼顧了系統(tǒng)的性能和功耗。Cache的結(jié)構(gòu)參數(shù)很多,主要的參數(shù)有容量大小、相聯(lián)度、塊大小、替換算法、寫回策略等。一般而言,系統(tǒng)中的Cache替換算法和寫策略是固定的,如果改變也可以在軟件層面上實現(xiàn)。所以主要關(guān)注Cache的硬件結(jié)構(gòu)是否,僅研究其中幾個參數(shù)(如Cache容量、塊大小和相聯(lián)度)對訪問功耗的影響。在設(shè)計芯片之前可以使用CAD工具來確定對命中時間和功耗的影響。CACTI程序是一個可以評估CMOS微處理器各種Cache結(jié)構(gòu)訪問時間和功耗的CAD工具。對于一個給定的最小特征值,可以改變Cache容量、相聯(lián)度和讀/寫端口的數(shù)目,以估計各種情況的Cache命中時間和功耗。Cache結(jié)構(gòu)需要綜合考慮Cache的命中率、平均訪問時間和訪問能量等性能,合理選擇Cache的配置參數(shù)。

本文引用地址:http://butianyuan.cn/article/188612.htm

2 可重構(gòu)Cache的體系結(jié)構(gòu)
要實現(xiàn)可重構(gòu)Cache,首先Cache的結(jié)構(gòu)要支持運行過程中的動態(tài)劃分,其次要有檢測Cache命中率的硬件或者軟件機制,并且有相應的動態(tài)配置算法。
2.1 可重構(gòu)Cache系統(tǒng)設(shè)計
文獻提出了一種可重構(gòu)的數(shù)據(jù)Cache結(jié)構(gòu)。該Cache的數(shù)據(jù)區(qū)被平均分為4個子分區(qū)(subarray),每個子分區(qū)又分為4組。在Cache訪問時,只有一個子分區(qū)打開,其他子分區(qū)的線路不被激活,從而節(jié)省了功耗。圖1給出了整個Cache體系結(jié)構(gòu)及功能模塊。

與傳統(tǒng)Cache結(jié)構(gòu)相比,圖1中增加了Cache配置動態(tài)選擇器(Cache Configuration Dynamic Selector, CCDS),CCDS用來更新內(nèi)部狀態(tài)機,并決定合適的Cache配置。通過配置CCDS,可以使整個子陣列無效,或者使有效子陣列中的某些路無效。對于無效的子陣列或者路,局部自選線(Local Word Line)、預充電(Precharge)和讀出放大器(Sense Amplifier)都無激勵。通過這些改進使得傳統(tǒng)的固定劃分的Cache具備了動態(tài)配置能力。
改進后的Cache外在表現(xiàn)為一個虛擬的兩級Cache:Ll/L2。這種分級方式同傳統(tǒng)的L1/L2兩級Cache結(jié)構(gòu)不同,L1 Cache由激活的不同子分區(qū)以及子分區(qū)內(nèi)不同的路數(shù)構(gòu)成,未激活的部分為L2,在L1未命中時激活以進行訪問,L1和L2在物理實現(xiàn)上表現(xiàn)為同一級。Cache的地址劃分仍為三部分:標志位、索引位和塊內(nèi)地址。圖2給出了Cache的地址劃分情況,可分為塊地址(Block Address)和塊內(nèi)偏移(Block offset)。塊地址可以進一步分為標志字段(Tag)和索引字段(Index)。其中Tag的后兩位SS用來做子分區(qū)的選擇位。訪問Cache時,首先訪問L1,當L1命中時就直接返回,只有在L1訪問失效時才會將所有數(shù)據(jù)區(qū)打開。對不同的應用程序,L1和L2大小的劃分不同,其訪閩時間和運行功耗也會有較大差異。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉