研究内容

Drowsyキャッシュにおける
モード切替アルゴリズムの評価
図子純平(名古屋大学)
冨山宏之(名古屋大学)
高田広章(名古屋大学)
井上弘士(九州大学)
研究背景


キャッシュの消費電力は、プロセッサ全体の消費電力の大き
な割合を占める
近年、多くの組込み機器向けプロセッサにもキャッシュが搭
載されている
Clock
4%
D Cache
 組込みプロセッサARM920Tでは
Other
SysCtl
19%
4%
3%
全体の44%の電力を
BIU
8%
キャッシュが消費
CP15
2%
PATag RAM
1%
キャッシュの消費電力削減は効果的
44%
I Cache
25%
arm9
25%
S. Segars, “Low Power Design Techniques for
Microprocessors,” ISSCC Tutorial , Feb. 2001.
I MMU D MMU
5%
4%
本研究の動機と目的

キャッシュの消費電力

動的な電力


静的な電力




キャッシュ動作時に、トランジスタのスイッチング動作によって
消費される電力
リーク電流に起因する電力
キャッシュの動作と無関係に消費される
回路の微細化によりリーク電流が増加
目的

リーク電流によるキャッシュの消費電力(消費エネル
ギー)の削減
発表手順






研究背景
関連研究
Drowsyキャッシュ
ウェイ予測Drowsyキャッシュの提案
実験
まとめ
関連研究

動的電力の削減手法


ウェイ予測キャッシュ[Inoue, ISLPED98]
 将来アクセスされる可能性の高いキャッシュウェイを予測
静的電力の削減手法



DRIキャッシュ[Yang, HPCA01]
 キャッシュミス率に応じて動的にキャッシュサイズを変更
Cache Decay[Kaxiras, ISCA01]
 キャッシュの参照状況に応じて動的にキャッシュサイズを変更
Drowsy cache[Flautner, ISCA02]
 キャッシュラインのモードを切り替えてエネルギー削減

2種類のモード切り替え手法
Drowsyキャッシュ

切替サイクル
Drowsyキャッシュその1
 以後、Drowsy1と表記


Drowsyキャッシュその2




アクセスした
通常モードへ切り替える
い!
通常モード
低リークモード
通常モード
低リークモード
(有効なライン)
(有効なライン)
(無効なライ
(無効なライ
ン)
ン)

一定サイクル間隔ごとに全ての
ラインを低リークモードに切替え
以後、Drowsy2と表記
一定サイクル間隔ごとに、アクセ
スされなかったラインを切替え
低リークモードでは、供給電圧を
低下
低リークモードのラインへのアク
セス時には、通常モードに切り
替えてからデータにアクセスする。
切替には1~数サイクルのペナ
ルティがかかる
Drowsyキャッシュの特徴と問題点

Drowsyキャッシュの利点

ラインのモードを切り替えても、保存されているデータは
破壊されない


キャッシュミス率は当手法の導入前後で変化しない
Drowsyキャッシュの欠点

モード切替により性能が低下


Drowsy1では、モード切替が頻発
Drowsy2では、モード切替は少ないが、リーク削減率が低い
高いリーク削減率と性能低下抑制の両立が重要
本研究の提案手法

ウェイ予測Drowsyキャッシュ


次回アクセスされる可能性の高いウェイを予測する
ウェイ予測にはMRU(Most Recently Used)アルゴリズ
ムを採用



メモリ参照の時間的・空間的局所性を活用
モード切替回数の削減
3種類のウェイ予測Drowsyキャッシュを提案
ウェイ予測Drowsyキャッシュ (1/2)

切り替え方法その1 (以後、WPDrowsy1)

各セットのMRUウェイ以外を低リークモードに切替
切替サイクル
各キャッシュセットの
MRUウェイ
通常モードのまま
ウェイ予測Drowsyキャッシュ(2/2)

切り替え方法その2 (以後、WPDrowsy2)

一定周期内にアクセスされたMRUウェイのみを通常モードに
残し、それ以外を低リークモードに切り替える
切り替え方法その3
(以後、WPDrowsy3)
一定周期内にアクセスされたウェイとMRUウェイを通常
モードに残し、それ以外を低リークモードに切り替える
通常モードに
残す条件
実験の概要

実験手順

メモリアクセスのトレースを取得


各種Drowsyキャッシュをシミュレーション


SimpleScalarシミュレータを使用
シミュレータを実装
評価指標

消費エネルギーの削減率



リーク電流による消費エネルギー
モード切替による消費エネルギー
モード切替による性能低下率
実験・評価1

キャッシュの構成





: 32B
: 16KB、32KB
: 2、4、8
: 4096サイクル
比較対象




ラインサイズ
キャッシュサイズ
ウェイ数
モード切替周期
通常キャッシュ
2種類のDrowsyキャッシュ
3種類のウェイ予測Drowsyキャッシュ
ベンチマークプログラム


SPEC2000
 CINT2000 : bzip2、gcc、gzip、mcf
 CFP2000 : ammp、art、 equake、mesa
最初の5千万命令を飛ばして、続く1千万命令にて実験
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
性能低下率
1.2%
1.0%
0.8%
0.6%
0.4%
0.2%
0.0%
80%
70%
60%
50%
40%
30%
20%
10%
0%
2way
性能低下率
4way
8way
エネルギー削減率
エネルギー削減率
結果(平均)
32KB、切替ペナルティ=1
2way
性能低下率
4way
エネルギー削減率
8way
WPDrowsy3
WPDrowsy2
WPDrowsy1
Drowsy2
Drowsy1
WPDrowsy3
WPDrowsy2
WPDrowsy1
Drowsy2
Drowsy1
WPDrowsy3
WPDrowsy2
WPDrowsy1
Drowsy2
Drowsy1
性能低下率
3.5%
3.0%
2.5%
2.0%
1.5%
1.0%
0.5%
0.0%
80%
70%
60%
50%
40%
30%
20%
10%
0%
エネルギー削減率
結果(平均)
32KB、切替ペナルティ=3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
性能低下率
8.0%
90%
7.0%
80%
6.0%
5.0%
60%
4.0%
50%
40%
3.0%
30%
2.0%
20%
1.0%
10%
0.0%
0%
ammp
art
bzip2
equake
性能低下率
gcc
gzip
mcf
mesa
エネルギー削減率
ベンチマーク毎の結果
32KB、連想度4、
切替ペナルティ=3
70%
平均
エネルギー削減率
浮動小数点演算のammp, equake, mesaで、性能低下率の抑制が顕著
実験・評価2

キャッシュの構成





: 32B
: 16KB、32KB
: 2、4、8
: 4096サイクル
比較対象




ラインサイズ
キャッシュサイズ
ウェイ数
モード切替周期
通常キャッシュ
2種類のDrowsyキャッシュ
3種類のウェイ予測Drowsyキャッシュ
ベンチマークプログラム

MediaBench
 adpcm, epic, g721, gsmのエンコードとデコード
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
性能低下率
1.4%
1.2%
1.0%
0.8%
0.6%
0.4%
0.2%
0.0%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
2way
性能低下率
4way
8way
エネルギー削減率
エネルギー削減率
結果(平均)
32KB、切替ペナルティ=3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
Drowsy1
Drowsy2
WPDrowsy1
WPDrowsy2
WPDrowsy3
性能低下率
2.0%
100%
1.8%
90%
1.6%
80%
1.4%
70%
1.2%
60%
1.0%
50%
0.8%
40%
0.6%
30%
0.4%
20%
0.2%
10%
0.0%
0%
adpcm_dec adpcm_enc epic_dec
epic_enc
g721_dec
性能低下率
g721_enc
gsm_dec
エネルギー削減率
g721で、性能低下率の抑制が顕著
gsm_enc
平均
エネルギー削減率
ベンチマークごとの結果
32KB、連想度4、
切替ペナルティ=3
考察


基本的に、性能低下率とエネルギー削減率はトレー
ドオフの関係
ウェイ予測の導入により、大幅に性能を改善


Drowsy2、WPDrowsy2、WPDrowsy3はラインごと
に1ビットのレジスタが必要


消費エネルギー削減率は若干低下
当該周期におけるアクセスの有無を保持するため
ウェイ予測Drowsyキャッシュ1が有望
まとめ

「ウェイ予測Drowsyキャッシュ」の提案と評価




Drowsyキャッシュにウェイ予測機構を導入
リーク電流による消費エネルギーの削減
性能低下の抑制
今後の課題


その他のモード切替アルゴリズムの評価
命令キャッシュへの適用
ご清聴ありがとうございました