ヒストリ・ ベース・タグ比較キャッシュの設計と評価

タグ比較再利用による低消費電力
命令キャッシュの設計と評価
●田中 秀和
福岡大学
井上 弘士 モシニャガ・ワシリー
九州大学
村上 和彰
発表手順






背景
研究目的
低消費電力化手法
HBTCキャッシュ
評価
まとめ
2
背景
CPU
+
DRAM
Cache
Memory
チップ全体の消費エネルギーにおいて、キャッシュが占める割合
DEC 21164 CPU * StrongARM SA-110 CPU * Bipolar ECL CPU * *
25%
43%
50%
キャッシュの低消費エネルギー化は重要!
* Kamble, et. Al., “Analytical energy Dissipatiion Models for Low Power Caches”, ILPED’97
** Joouppi, et. Al., “A 300-MHz 115-W 32-b Bipolar ECL Microprocessor” ,IEEE Journal of Solid-State Circuits’93
3
背景
特に、命令キャッシュはアクセス頻度が高い
⇒消費電力に与える影響大
ARM920Tプロセッサにおける命令キャッシュの消費電力の割合†
25%
† S.
Segars, “Low Power Design Techniques for Microprocessors,
” ISSCC Tutorial, Feb. 2001.
命令キャッシュの低消費エネルギー化
ヒストリ・ベース・タグ比較(HBTC)キャッシュ
過去のタグ比較結果を再利用することにより
参照データが存在するウェイのみを選択的に活性化
性能に影響を与えることなく低消費エネルギー化を実現
4
現在の評価における問題点
0.8μmCMOSテクノロジを前提とした消費
エネルギー・モデルで評価
⇒最先端テクノロジでの有効性不明瞭
評価比較対象は従来型キャッシュ
⇒過去に提案された低消費エネルギー化手法
との比較評価無し
5
研究目的
HBTCキャッシュの有効性の詳細な評価
手段



0.18μmCMOSプロセスによるSRAMアレイ実設計に
基づく消費エネルギー評価
過去に提案された低消費エネルギー化手法との比較
と組合わせに関する調査
HBTC方式採用に伴い発生する消費エネルギー・
オーバヘッド削減手法とその評価
6
従来方式と過去に提案された
低消費電力化手法
従来型
ウェイ予測型
段階型
予測されたウェイ
予測されたウェイ
タグ
クロック1
=
データ
=
=
=
クロック1
=
=
=
=
=
=
=
=
クロック1
=
=
=
=
エンコード
エンコード
エンコード
エンコード
クロック1
<予測ヒット時>
クロック2
=
=
=
エンコード
連想度:W
=
クロック2
=
=
=
=
エンコード
<予測ミス時>
段階型
ウェイ予測型
従来型 キャッシュ キャッシュ
予測
予測
ヒット時
ミス時
ヒット時
ミス時
1
2
1
1
アクセス時間[サイクル数]
2
W
W
W
W 7
1
読み出されるタグ数
W
W
1
0
1
読み出されるライン数
ライン間タグ比較(ILT)方式とHBTC方式
ライン間/再利用不可
タグ
クロック1
=
ライン内/再利用可
データ
=
=
=
クロック1 =
エンコード
=
=
=
エンコード
連想度:W
ILT
ライン内
ライン間
アクセス時 アクセス時
1
1
アクセス時間[サイクル数]
W
0
読み出されるタグ数
W
1
読み出されるライン数
HBTC
再利用可
再利用不可
1
0
1
1
W
W
8
HBTCキャッシュの内部構成
分岐予測結果
WP記録レジスタ
分岐命令アドレス
Biのアドレス
タグ比較結果
PBAレジスタ
ウェイ・ポインタ・テーブル
分岐命令アドレス
Biのアドレス
ウェイ
ポインタ
(WP)
分岐先アドレス
BTB (Branch Target Buffer)
Taken
Not
Taken
Bjのアドレス
I-Cache
有効フラグ
ウェイ
選択
WP
レジスタ
Inc
PC
分岐予測
結果
モード
制御回路
モード選択
9
HBTCキャッシュの内部構成
分岐予測結果
WP記録レジスタ
Biのアドレス
タグ比較結果
PBAレジスタ
ウェイ・ポインタ・テーブル
分岐命令アドレス
Biのアドレス
ウェイ
ポインタ
(WP)
分岐先アドレス
BTB (Branch Target Buffer)
Taken
Not
Taken
Bjのアドレス
通常実行
I-Cache
有効フラグ
ウェイ
選択
WP
レジスタ
Inc
PC
分岐予測
結果
モード
制御回路
モード選択
10
HBTCキャッシュの内部構成
分岐予測結果
WP記録レジスタ
Biのアドレス
タグ比較結果
PBAレジスタ
ウェイ・ポインタ・テーブル
分岐命令アドレス
Biのアドレス
ウェイ
ポインタ
(WP)
分岐先アドレス
BTB (Branch Target Buffer)
Taken
Not
Taken
Bjのアドレス
I-Cache
有効フラグ
ウェイ
選択
WP
レジスタ
Inc
PC
分岐予測
結果
モード
制御回路
モード選択
11
HBTCキャッシュの内部構成
分岐予測結果
WP記録レジスタ
Biのアドレス
タグ比較結果
PBAレジスタ
ウェイ・ポインタ・テーブル
分岐命令アドレス
Biのアドレス
ウェイ
ポインタ
(WP)
分岐先アドレス
BTB (Branch Target Buffer)
Taken
Not
Taken
Bjのアドレス
再利用
I-Cache
有効フラグ
ウェイ
選択
WP
レジスタ
Inc
PC
分岐予測
結果
モード
制御回路
モード選択
12
HBTCキャッシュの内部構成
分岐予測結果
WP記録レジスタ
分岐命令アドレス
タグ比較結果
PBAレジスタ
ウェイ・ポインタ・テーブル
分岐命令アドレス
Biのアドレス
ウェイ
ポインタ
(WP) キャッシュ・ミス
分岐先アドレス
BTB (Branch Target Buffer)
Taken
Not
Taken
Bjのアドレス
I-Cache
有効フラグ
ウェイ
選択
WP
レジスタ
Inc
PC
分岐予測
結果
モード
制御回路
モード選択
13
消費エネルギー式
1個のタグ読出しに
要するエネルギー
アクセス時に
キャッシュ・アクセスで
発生する消費エネルギー 読出されるタグ数
1個のライン読出しに
要するエネルギー
デコーダ
タグ
Ecache = Dnum × Edec + Tnum × Etag
+ Lnum × Eline + Ebtb
ライン
アクセス時に
駆動されるデコーダ数
1個のデコーダ駆動に
要するエネルギー
BTB拡張部分に
要する消費エネルギー
アクセス時に
読出されるライン数
14
消費エネルギー式
実設計
Ecache = Dnum × Edec + Tnum × Etag
+ Lnum × Eline + Ebtb
シミュレーション
実設計+シミュレーション
15
入力アドレス
BIT
アドレス・デコーダ
SRAMアレイ(1way)
BIT
・
・
・
メモリ・セル
Word line
プロセッサへ出力
16
リセット機能付メモリセル
INVALID
INVALID
Word line
BIT
BIT
Reset Transistors
17
リセット機能付メモリセル
BIT INVALID
INVALID BIT
Word line
Reset Transistors
18
設計結果
命令キャッシュ[pJ]
BTB拡張部分 [pJ]
Edec
82.2
Ewprd
75.8
Etag
63.6
Ewpwt
229.1
Eline
814.7
Ewpinv
160.0
Ewprd:1回のWP読出しに要する消費エネルギー
Ewpwt :1回のWP書込みに要する消費エネルギー
Ewpinv :1回のWP無効化処理に要する消費エネルギー
19
評価
評価環境
SimpleScalar
アウト・オブ・オーダ実行
スカラ度4
ベンチマークプログラム
SPEC95整数プログラム
Mediabench
命令キャッシュ
キャッシュ・サイズ→16KB
ライン・サイズ→32B
連想度→4
BTB
連想度→4
512エントリ
ウェイポインタ→各4個
キャッシュ
シミュレー
タ
評価方法
ベンチマーク
プログラム
SimpleScalar
消費エネルギー
命令キャッシュ
WP及び有効フラグ
評価項目
プログラム実行に要するキャッシュの総消費エネルギー
20
各キャッシュの消費エネルギー
0.9
Normalized Total Energy
0.8
0.7
ILT
PREDppc
HBTC
PREDcpc
Ebtb
Etag
Eline
Edec
0.6
0.5
0.4
0.3
0.2
0.1
0
Benchmark Programs
PREDppc:直前のPCを用いたウェイ予測型キャッシュ
PREDcpc:現PCを用いた理想的なウェイ予測型キャッシュ
21
ILTならびにPREDppcとの組み合わせ
Normalized Total Energy
0.9
0.8
0.7
HBTC
HBTC+ILT
HBTC+PREDppc
Ebtb
Etag
Eline
Edec
0.6
0.5
0.4
0.3
0.2
0.1
0
Benchmark Programs
ILTとの組み合わせが効果的!
22
WP読出しエネルギーの削減手法
(1)WP数の削減
Taken
BTB
Not-Taken
Taken
分岐成立用のみ実装
(2)BTBアクセス回数の削減
Pre-decode
BTB
Taken
Not
Taken
分岐またはジャンプ命令
フェッチ時のみBTBアクセス
BTB
Not
Taken
分岐不成立用のみ実装
(3)WP読出し当たりの
消費エネルギー削減
BLP
BTB
ビットライン分割
23
WP読出しエネルギーの削減
Normalized Total Energy
1.2
1
Not-Taken
Taken
Pre-decode
BLP
0.8
Ebtb
Etag
Eline
Edec
0.6
0.4
0.2
0
Benchmark Programs
24
BTBアクセス回数の削減が最も効果的!
まとめ
実設計に基づくHBTCキャッシュの消費エネルギー評価
⇒従来方式に比べ、最大約63%の低消費エネルギー化
これまでに提案された手法との組合わせにより、
更なる低消費エネルギー化を実現可能
HBTC方式採用によるBTB消費エネルギー・オーバヘッドの削減
⇒BTBアクセス回数の削減が効果的
(最大約67%の低消費エネルギー化)
今後の課題
 モード制御回路の設計
 HBTCキャッシュのより詳細な評価
 面積、アクセス時間、消費エネルギーのオーバヘッド
25