• 沒有找到結果。

五、結果與討論

II. Results and Discussions

在以下的討論,我們用過濾率,平均路徑活動,功率節省,存取延遲等

來比較傳統架構中與雙層式濾器方法的基礎線快取。為了有公正的比較,我 們也要比較我們的架構跟只有用 L1 濾器的結果。因為 CINT2000 和 CFP2000 在模擬結果的差異很小,所以我們對於這兩組測試程式不分開討論。

L1 的過濾率:我們先定義 L1 濾器(L1_FR)的過濾率為區塊緩衝器命中數

與快取存取數的比例。L1_FR 越高表示 L1 濾器在濾除非必要的快取存取越有 效率.

圖十、IC 與 DC 的 L1_FR 情形

圖十表示一個單一的區塊緩衝器 L1_FR 的成長。很明顯地,L1_FR 的值 對不同的快取組態還是固定的。在使用了單一個區塊緩衝器上,我們可以減 少大概 69%跟 37%的 IC 和 DC 的快取存取。由於區域性很低,在 L1 濾器裡 用單一區塊緩衝器在 DC 比在 IC 裡不利。

L2 的過濾率:我們先定義 L2 濾器(L2_FR)的過濾率為在 L1 濾器失誤時,

不必要的行動跟所有行動的比例。L2_FR 越高代表濾器在過濾不必要的動作 上越有效率。圖十一顯示在 L1 過濾後 DC 和 IC 的 L2_FR。在這個模擬中,

為了未來的研究我們考慮兩種不同的警示標籤組態。一個是 1-b 警示標籤, 我 們可以用最小比重的位元的標籤的部分當作警示標籤。(如圖 3 的 A[12:11]).

圖十一、具 1-b 和 2-b 警示標籤的 IC 與 DC 之 L2_FR (a) IC (b) DC

從圖十一我們得到一些重要的觀點。第一在這個圖中的每個情況,IC 和 DC 的 L2_FR 都跟快取的組合數成正比。這個趨勢也可以在一路快取觀察到,

但是沒有那麼明顯。這是因為快取路徑越多,我們有越大的可能可以過濾掉 不必要的路徑存取行為。因此,這個結果讓人想起 L2 濾器是很值得被實作在 超過一個組合的快取,特別是高組合數的快取常常用在嵌入式系統。舉例來 說 32-和 64-way 組合數的快取常被採用[17][18]。第二,使用 2-b 警示標籤會 比用 1-b 警示標籤導致更大的 L2_FR。除了 one-way 快取,在早先的情況會 導致後來的情形有 10-20%的 L2_FR 增進。這裡有一個 1-b 和 2-b 包含關係直 接的結果,也就是 2-b 警示標籤命中隱含 1-b 警示標籤命中,因為前面提過的 警示位元選擇的方法。

對未來研究增加在 L2_FR 的警示位元數的影響,基礎線快取被我們的雙 層式濾器方法實作,L2 濾器的警示位元數從 1 到 8。圖十二表示模擬的結果。

我們可以從(2)觀察實驗的結果(實心線)和解析的值(虛線)幾乎是一樣的。這證 明我們所提出的解析模式的精準度是正確的.

圖十二、在多種警示位元下的 L2_FR。實線表示實際實驗結果,虛線表示根

路徑活動從 8 到 1.088,但是 L1 濾器只能從 8 減少到 5.07。 HSPICE 模擬出來的值趨近於 8.35mW。用(9),對不同警示位元數的電量減少 曲線顯示在圖十三,跟圖十二的過濾率的曲線很像。這是因為警示標籤是一

圖十三、多種警示位元下得功率節省情形 (a) IC (b) DC

結合(7)-(9)跟表四的結果,用 L1 濾器實作的基礎線快取和雙層式濾器的 每次存取快取平均功率消耗顯示在表五,以毫瓦特為單位。在模擬中,我們 只考慮基礎線和感測放大器的功率消耗。

表五、具有 L1 濾器與雙層濾器方法的基礎線快取實做之每次存取的部分功率 消耗情形

我們觀察到雙層式濾器的方法在過濾非必要的行為上很有效率,而且可 以節省很多功率消耗。使用 L1 濾器可以減少功率消耗,但是它不會有跟我們 雙層式濾器架構有一樣的功率節省結果,特別是對區域性低的 DC 而言。L2 濾器用在兩階層式濾器方法裡可以很有效率去減少因 L1 濾器失誤所造成的功 率消耗。表六顯示使用雙層式濾器方法的功率消耗改進情形。表六(a)顯示快 取功率的部分改進。為了得到全部快取的改進功率,表六(a)的結果必須乘上

70%。這是因為考慮的部分元件大概佔全部消耗功率的 70%以上[12]。因此,

表六(b)顯示整個快取的整體改進。

表六、使用雙層濾器方法的功率消耗改進程度一覽。基礎線 IC 為 32K 二路快 取,DC 為 32K 四路快取。Conv.表示傳統快取,Conv.+L1 表示具有 L1 濾器

的傳統快取。(a) 部分改進 (b) 整體改進。

延遲負擔: 關於這點,我們研究提出的方法在功率消耗上的影響。另一個

重要的因素是快取存取的時間。在我們的方法中,由於在正常快取前使用雙 層式濾器方法會造成額外延遲負擔。雖然 L1 濾器後緊接著 L2 濾器,去縮小 在過濾非必要快取存取和行動所造成的延遲,我們可以將 L1 濾器和 L2 濾器 重疊,如先前描述的。我們用 L1 濾器去檢查需要的資料是否還會在區塊緩衝 器內。在相同的時間後,在 L2 濾器的集合解碼和警示位元的比較也按照順序 的完成。

為了去測量 L1 濾器的時間,我們採用 HSPICE 時間模擬。從圖十四(a) 去決定 L1 濾器命中的時間大約是 0.3ns。而 L2 濾器的時間,因為它由集合解 碼和警示位元比較組成,藉由用 CACTI[13],我們先估計對 base IC 和 DC 時 間大概是 0.35 和 0.31ns,在加上警示位元比較的時間[大約是 0.1ns, 圖十四 (b)],所以 L1 濾器的時間會被 L2 濾器的時間隱藏起來。因為在 L2 濾器的集

合解碼的時間是必要的對傳統快取和我們的方法,所以真正的延遲負擔是警 示標籤的比較,最好的情況大約是 0.1ns。

圖十四、HSPICE 波形圖 (a) L1 濾器與(b)3-b 警示標籤

III. 結論

在新進製程的設計中,on-chip 快取常用來增進系統的效能。然而 on-chip 快取通常會消耗一定比例的功率。在這個計畫中,我們著重在硬體階層對節 省快取電量的技術去發展。傳統集合關聯式的快取問題先前已經提過,因而 我們提出一雙層式濾器的方法去減少 非必要的快取行為,因此可以節省電 量。提出的方法跟軟體是獨立的而且需要一些硬體的額外負擔。在 L1 濾器中, 我們用單一區塊緩衝器去減少不必要的存取快取,在 L2 濾器上,當 L1 濾器 失誤時我們提出新的警示位元去減少不必要的行動。藉由 L2 濾器去存取可能 命中的地方的結果,快取電量可以進一步地減少。所提出的方法在效能和消 耗電量作一個取捨,與傳統的快取比較,我們的方法會導致存取快取時間增 加約 0.1ns。實驗的結果顯示我們的方法比傳統的方法消耗更少的電量。因為 雙層式濾器方法是依據 L1 濾器而來的。為了公平比較,我們比較傳統快取和 只有使用 L1 濾器,使用雙層式濾器會導致減少大約 30%的電量消耗。同樣的 對 baseline DC(32KB, four-way),總電量減少大約有 46%。最大的電量節省是 依據程式的行為,和快取的組態而來。其中雙層式濾器方法對區域性低的 DC 比較好。而且在關聯性超過 1 的快取上很值得實作,特別是那些常使用高度 關聯性快取的嵌入式處理器。

相關文件