キャッシュ・メモリの 高性能化と低消費電力化
description
Transcript of キャッシュ・メモリの 高性能化と低消費電力化
キャッシュ・メモリのキャッシュ・メモリの高性能化と低消費電力化高性能化と低消費電力化
井上 弘士
福岡大学 工学部 電子情報工学科 助手
発表手順1. キャッシュのいろは2. 高性能化技術
動的可変ラインキャッシュ3. 低消費電力化技術
ウェイ予測キャッシュ(とその後) タグ比較省略キャッシュ(とその後)
4. まとめと今後の課題
プロセッサーメモリ間性能差の隠蔽
オンチップ・キャッシュの搭載
CPU DRAM+
演算処理 データの記憶
Cache Memory
データの記憶
メモリ参照の時間的 / 空間的局所性を活用
キャッシュ・メモリとは?
CPU Main Memory
CPU Cache Main Memory
メモリ参照の局所性時間的局所性:メモリ上のある項目が参照されると、間もなくそれが再び参照される確率が高い、という性質空間的局所性:メモリ上のある項目が参照されると、その近くの項目も間もなく参照される確率が高い、という性質 ヘネシー&パターソン コンピュータ・アーキテクチャ
CPU について調べたい!
SpecCに
よる
CP
U開
発
冨山
宏之
著
マイ
クロ
・コ
ンピ
ュー
タ
田丸
・安
浦
著
スー
パス
カラ
・プ
ロセ
ッサ
村上
監
訳
どのくらい研究されてきたのか?% of ISCA papers dealing principally with caches
0
5
10
15
20
25
30
35
1st session on caches
Largest number (14)
Jean-Loup Baer, "2K papers on caches by Y2K: Do we need more?“ HPCA-6 Keynote
SPECint92 (22%) SPECfp92 (32%)
Sparse (73%)From D. Patterson et al., (IEEE Micro)
Alpha 21164
Processor
Fraction of time spent in
I-Cache MissesD-Cache MissesL2 Cache MissesL3 Cache Misses
NO!
Database (77%)
性能差は十分隠蔽できているのか?
高性能化だけで十分なのか?
NO!
DEC 21164 CPU* StrongARM SA-110 CPU* Bipolar ECL CPU**
25% 43% 50%
チップ全体の消費電力においてキャッシュが占める割合
* Kamble et. al., “Analytical energy Dissipation Models for Low Power Caches”, I S LPED’97** Joouppi et. al., “A 300-MHz 115-W 32-b Bipolar ECL Microprocessor” ,IEEE Journal of Solid-State Circuits’93
•携帯システムにおけるバッテリ駆動時間の延長•高性能システムにおけるチップ発熱の抑制
マイクロプロセッサの消費電力(汎用 CPU : PentiumPro )
Srilaha Manne, Artur Klauser, and Dirk Grunwald, “Pipeline Gating: Speculation Control For Energy Reduction,” ISCA25, 1998.
マイクロプロセッサの消費電力( ARM920T )
Simon Segars, “Low Power Design Techniques for Microprocessors,” ISSCC2001
発表手順1. キャッシュのいろは2. 高性能化技術
動的可変ラインキャッシュ3. 低消費電力化技術
ウェイ予測キャッシュ(とその後) タグ比較省略キャッシュ(とその後)
4. まとめと今後の課題
キャッシュ・メモリの性能キャッシュ・メモリの性能平均メモリ・アクセス時間(平均メモリ・アクセス時間( AMATAMAT ))
AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)– HitTimeHitTime :キャッシュにヒットした場合のアクセ:キャッシュにヒットした場合のアクセ
ス時間(プロセッサがアドレスを出力して所望ス時間(プロセッサがアドレスを出力して所望の命令/データを取得するまでの所要時間)の命令/データを取得するまでの所要時間)
– MissRateMissRate :キャッシュのミス率:キャッシュのミス率MissRate=MissRate= ミス回数/メモリ・アクセス回数ミス回数/メモリ・アクセス回数
– MissPenaltyMissPenalty :キャッシュにミスした際に,主記:キャッシュにミスした際に,主記憶から所望の命令/データを取得してくるのに要憶から所望の命令/データを取得してくるのに要する時間する時間
キャッシュ・メモリの高性能キャッシュ・メモリの高性能化化AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)
ヒット時間の低減ヒット時間は,
キャッシュ・サイズ ブロック・サイズ 連想度
等で決まる
ミス率の削減ミス率は,
キャッシュ・サイズ ブロック・サイズ 連想度
等で決まる
ミス・ペナルティの低減ミス・ペナルティは,
主記憶( DRAM )のアクセス時間
キャッシュ-主記憶間バンド巾
ブロック・サイズ等で決まる
キャッシュ・サイズとヒット時キャッシュ・サイズとヒット時間間
S. Wilton and N. Jouppi, “An Enhanced Access and Cycle Time Model for On-Chip Caches,” WRL Research Report 93/5
キャッシュ・ヒット時間キャッシュ・ヒット時間(キャッシュ・アクセス時間)(キャッシュ・アクセス時間)
傾向:キャッシュ・サイズの増傾向:キャッシュ・サイズの増加と伴にヒット時間が長くなる加と伴にヒット時間が長くなる
理由:負荷容量が大きくなるた理由:負荷容量が大きくなるためめ
Direct-map, 16B block
連想度(ウェイ数)とヒット時連想度(ウェイ数)とヒット時間間
S. Wilton and N. Jouppi, “An Enhanced Access and Cycle Time Model for On-Chip Caches,” WRL Research Report 93/5
16KB Cache Size, 16B block キャッシュ・ヒット時間キャッシュ・ヒット時間(キャッシュ・アクセス時間)(キャッシュ・アクセス時間)
傾向:連想度(ウェイ数)の傾向:連想度(ウェイ数)の増加と伴にヒット時間が長く増加と伴にヒット時間が長くなるなる
理由:クリティカル・パスが理由:クリティカル・パスが長くなるため長くなるため
連想度(ウェイ数)とヒット時連想度(ウェイ数)とヒット時間間
ダイレクト・マップ・ダイレクト・マップ・キャッシュのヒット時間キャッシュのヒット時間
4ウェイ・セット・アソシアテ4ウェイ・セット・アソシアティブ・キャッシュのヒット時ィブ・キャッシュのヒット時間間
<<
クリティカル・パス
10
0
1
2
Address31 …..….. 12 11 …. 2 1 0
20Tag
Index
Index Valid Tag Data
Data
1021
1022
1023
20 32
=
Hit
10
0
1
2
Address31 …..….. 12 11 …. 2 1 0
20Tag
Index
Index Valid Tag Data
Data
1021
1022
1023
20 32
=
Hit
8
012
Address31 ………………10 9 …….... 2 1 0
22
DataTagVDataTagVDataTagVDataTagVIndex
253254
255
3222
Hit
4-1 MUX
Data
TagIndex
8
012
Address31 ………………10 9 …….... 2 1 0
22
DataTagVDataTagVDataTagVDataTagVIndex
253254
255
3222
Hit
4-1 MUX
Data
TagIndex
ブロックサイズとヒット時間ブロックサイズとヒット時間
S. Wilton and N. Jouppi, “An Enhanced Access and Cycle Time Model for On-Chip Caches,” WRL Research Report 93/5
Direct-map 4-way set-associative
傾向:ブロックサイ傾向:ブロックサイズの増加と伴にヒッズの増加と伴にヒット時間が短くなるト時間が短くなる
理由:デコーダ遅延理由:デコーダ遅延の低下の低下
Direct-map
傾向:ブロックサイ傾向:ブロックサイズがズが 32B32B を超えるとを超えるとヒット時間が増加ヒット時間が増加
理由:出力ドライバ理由:出力ドライバ遅延の増加(負荷の遅延の増加(負荷の増大)増大)
Set-Associative
キャッシュ・メモリと高性能化キャッシュ・メモリと高性能化ートレード・オフーートレード・オフー
AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)
ヒット時間低ヒット時間低減減 ミス率削減ミス率削減 ミス・ペナルティ低ミス・ペナルティ低
減減
キャッシュ・サイズキャッシュ・サイズは?は? 小さく!小さく!
ブロック・サイズは?ブロック・サイズは? ????
連想度は?連想度は? 小さく!小さく!
キャッシュ・メモリの高性能キャッシュ・メモリの高性能化化AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)
ヒット時間の低減ヒット時間は,
キャッシュ・サイズ ブロック・サイズ 連想度
等で決まる
ミス率の削減ミス率は,
キャッシュ・サイズ ブロック・サイズ 連想度
等で決まる
ミス・ペナルティの低減ミス・ペナルティは,
主記憶( DRAM )のアクセス時間
キャッシュ-主記憶間バンド巾
ブロック・サイズ等で決まる
ミス率の削減ミス率の削減 キャッシュ・ミスの原因キャッシュ・ミスの原因
– Compulsory MissCompulsory Miss (初期参照ミ(初期参照ミス):メモリ・ブロックに対すス):メモリ・ブロックに対する最初のアクセスは必ずミスする最初のアクセスは必ずミスするる
– Conflict MissConflict Miss (競合性ミス):(競合性ミス):1個のキャッシュ・ブロックを1個のキャッシュ・ブロックを複数のメモリ・ブロックが共用複数のメモリ・ブロックが共用するする
– Capacity MissCapacity Miss (容量性ミス):(容量性ミス):すべてのメモリ・ブロックをキすべてのメモリ・ブロックをキャッシュに置くことは出来ないャッシュに置くことは出来ない
対策対策– キャッシュ・サイズキャッシュ・サイズ
を大きくするを大きくする– ブロック・サイズをブロック・サイズを
大きくする大きくする– 連想度を大きくする連想度を大きくする
キャッシュ・ミスの原因の分キャッシュ・ミスの原因の分析析
キャッシュ・サイズ (KB)
0%
2%
4%
6%
8%
10%
12%
14%
1 2 4 8
16
32
64
128
1-way
2-way
4-way
8-way
Capacity Miss
ミス率
Conflict Miss
傾向:連想度を高くす傾向:連想度を高くするとミス率が低下する。るとミス率が低下する。
理由:競合性ミスを削理由:競合性ミスを削減できるため。減できるため。
傾向:キャッシュ・サイズ傾向:キャッシュ・サイズを増加するとミス率が低下を増加するとミス率が低下する。する。
理由:容量性ミスを削減で理由:容量性ミスを削減できるため。きるため。
ブロック・サイズとミス率ブロック・サイズとミス率14.012.010.08.06.04.02.00.0
16 32 64 128 256
104.hydro2d072.sc
052.alvinn
Mis
s R
ate
(%
)
Block Size [byte]
傾向:ある程度までブロック・サイズを拡大するとミス率は傾向:ある程度までブロック・サイズを拡大するとミス率は低下する。しかしながら、極端なブロック・サイズの拡大は低下する。しかしながら、極端なブロック・サイズの拡大はミス率の増加を招く。ミス率の増加を招く。
理由:ブロック・サイズの拡大によりプリフェッチ効果によ理由:ブロック・サイズの拡大によりプリフェッチ効果によりヒット率は向上するが、コンフリクト・ミスが増加する。りヒット率は向上するが、コンフリクト・ミスが増加する。
16KB D-cacheDirect-map
一度に多くの本を机上に一度に多くの本を机上に持ってくるには、机上に持ってくるには、机上にある多くの本を本棚に返ある多くの本を本棚に返さなければならない!さなければならない!(競合性ミス)(競合性ミス)
キャッシュ・メモリと高性能化キャッシュ・メモリと高性能化ートレード・オフーートレード・オフー
AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)
ヒット時間低ヒット時間低減減 ミス率削減ミス率削減 ミス・ペナルティ低ミス・ペナルティ低
減減
キャッシュ・サイズキャッシュ・サイズは?は? 小さく!小さく! 大きく!大きく!
ブロック・サイズは?ブロック・サイズは? ???? (ある程(ある程度)大きく!度)大きく!
連想度は?連想度は? 小さく!小さく! 大きく!大きく!
キャッシュ・メモリの高性能キャッシュ・メモリの高性能化化AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)
ヒット時間の低減ヒット時間は,
キャッシュ・サイズ ブロック・サイズ 連想度
等で決まる
ミス率の削減ミス率は,
キャッシュ・サイズ ブロック・サイズ 連想度
等で決まる
ミス・ペナルティの低減ミス・ペナルティは,
主記憶( DRAM )のアクセス時間
キャッシュ-主記憶間バンド巾
ブロック・サイズ等で決まる
ブロック・サイズとミス・ペナブロック・サイズとミス・ペナルティルティ
andwidthandwidthCacheDramBCacheDramBockSizeockSizeTransferBlTransferBl
TimeTimeDramAccessDramAccessyyMissPenaltMissPenalt
アクセス時間
転送時間
ブロックサイズ
Mis
sPen
alty 傾向:キャッシュー主記憶間バ傾向:キャッシュー主記憶間バ
ンド幅以上にブロックサイズをンド幅以上にブロックサイズを拡大するとミス・ペナルティが拡大するとミス・ペナルティが増大する。増大する。
理由:ブロック転送時間が増大理由:ブロック転送時間が増大するため。するため。
キャッシュ・メモリと高性能化キャッシュ・メモリと高性能化ートレード・オフーートレード・オフー
AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)
ヒット時間低ヒット時間低減減 ミス率削減ミス率削減 ミス・ペナルティ低ミス・ペナルティ低
減減
キャッシュ・サイズキャッシュ・サイズは?は? 小さく!小さく! 大きく!大きく! --
ブロック・サイズは?ブロック・サイズは? -- (ある程(ある程度)大きく!度)大きく! 小さく!小さく!
連想度は?連想度は? 小さく!小さく! 大きく!大きく! --
:相反する要求(トレードオフが必要):相反する要求(トレードオフが必要)
高性能化技術 -キャッシュ・アクセス時間の短縮ー
投機的ウェイ選択:MRU cache [Chang87]
部分タグ比較:Partial address matching [Liu94]Difference-bit cache [Juan96]
セット・アソシアティブ・キャッシュの高ヒット率を維持しつつ、ダイレクト・マップの高速アクセスを実
現したい!セット・アソシアティブ・キャッシュの高速化技術
Main Directory
Partial Address Directory
完全なタグ
タグの1部(例えば
5b)
Tag from Addr.
検証用 投機ウェイ選択用タグの1ビットだけを見て選択すべきウェイを決定 (2way
のみ)
高性能化技術 -キャッシュ・ヒット率の向上 (5/6) ー
メモリ階層の改良(水平方向)
L1 Cache
Dual data Cache [Gonzalez95] 空間的局所性の低いデータ(ラインサイズ小)と、高いデータ(大)Co-operative Cache [Park99] ダイレクト・マップ(ラインサイズ小)とセット・アソシアティブ(大)Non-critical Buffer [Fisk99] クリティカルなデータと、ノンクリティカルなデータSCIMA [Nakamura2000], Scratch-pad Memory [Panda97],Column caching [Chiou2000] リプレイスが発生する領域と、発生しない領域
高性能化技術 -キャッシュ・ヒット率の向上 (1/6) ー
キャッシュ・スペースの有効利用( 複数マッピング関数のサポート):
Hash-rehash cache [Agarwal88]Column-associative cache [Agarwal93]Predictive sequential-associative cache [Calder96]Skewed-associative cache [Seznec93]
00011011
従来型ダイレクト・マップ( マッピング関数は 1 つ )
参照アドレスIndex = 00
00011011
Hash-rehash ダイレクト・マップ( マッピング関数は 2 つ :
最上位ビットを反転 )
1st
2nd
高性能化技術 -キャッシュ・ヒット率の向上 (2/6) ー
キャッシュ・スペースの有効利用( 動的適応可能なマッピング関数のサポート):
Adaptive group-associative Cache [Peir98]
00011011
頻繁に参照される領域頻繁に参照されない領域 (hole)
00011011
参照頻度の高いデータがキャッシュから追い出される時、 hole に割り当
てる
高性能化技術 -キャッシュ・ヒット率の向上 (3/6) ー
参照頻度の高いデータの追い出しを削減( キャッシュ・バイパス): Dynamic exclusion replacement [McFarling92] Run-time adaptive cache management [Johnson97A]
0001
00011011
L1 Cache
Main Memory
CPU
0001
00011011
L1 Cache
Main Memory
CPU
バイパス
高性能化技術 -キャッシュ・ヒット率の向上 (4/6) ー
メモリ階層の改良(垂直方向)
L1 Cache
MainMemory
•Victim Cache [Jouppi90]追い出されるデータを保存
•Annex Cache [John97]•Pollution-control Cache [Walsh95]
リフィルされるデータを保存
高性能化技術 -キャッシュ・ヒット率の向上 (6/6) ー
ラインサイズの拡大によるプリフェッチ効果( 可変ラインサイズ)
ハードウェア制御 : [Johson97B], [Inoue99A], [Vleet99]ソフトウェア制御: [Veidenbaum99], [Vleet99]
データ圧縮技術の活用Compression Cache: [Yang2000],
データ再配置プロファイルに基づくデータの再配置: [Tomiyama97]
高性能化技術 -ミス・ペナルティの削減ー
DRAM アクセス時間の改善
実効バンド幅の向上DRAM ロジック混載 LSI の活用: [Murakami97],
[Inoue99A], [Patterson97]
要求バンド幅の削減バイパス技術の活用
高性能化技術 -キャッシュの他の利用法ー
キャッシュ SRAM をリコンフィギュラブル・デバイスとして使用[Kim2002]
動的可変ラインサイズ・キャッシュ動的可変ラインサイズ・キャッシュアーキテクチャアーキテクチャ
MainMemory
Time Energy
Cache
Time EnergyCMR
37%従来型 DM キャッシュと比較 52%
高メモリバンド巾の活用
ラインサイズミス・ペナルティ
ラインサイズミス・ペナルティ
Processor Cache
Main Memory
(On-Chip SRAM)
(Off-Chip DRAM)
Processor Cache
(On-Chip SRAM)
Main Memory(Off-Chip DRAM)
AMAT = TCache + CMR * 2 * TMainMemoryTMainMemory = TDRAM + LineSize/BandWidth
ラインサイズ vs. ミス率メモリ参照の空間的局所性が高いプログラム
プリフェッチ効果によるヒット率の向上
14.012.010.08.06.04.02.00.0
16 32 64 128 256
104.hydro2d072.sc
052.alvinn
Mis
s R
ate
(%)
Line Size [byte]
メモリ参照の空間的局所性が低いプログラム頻繁なコンフリクト発生によるヒット率の低下
14.012.010.08.06.04.02.00.0
16 32 64 128 256
Mis
s R
ate
(%)
Line Size [byte]
134.perl099.go
Amount of Spatial Locality at each Cache-Sector
LineSize:128B
動的可変ラインサイズ・キャッシューコンセプト-
高い局所性低い局所性
A B C DE
A B C D A B C D
最小ライン 中間ライン 最大ライン
D-VLSCache
Main Memory
サブアレイ
実行中に空間的局所性の度合いを予測し、ラインサイズを動的に変更
動的可変ラインサイズ・キャッシュー内部構成-
ダイレクト・マップ DVLS キャッシュ(ラインサイズは 32 バイト、 64 バイト、 128 バイトで可変)
Reference Flag Tag Line
Line-SizeDeterminer
MUX Drive
Tag Index OffsetLoad/Store Data
Main Memory
Line-SizeSpecifier
32B 32B 32B 32B
SA
SA:SubArray
Fix128のミス率で正規化(全プログラム平均)1.0
0.0
0.60.40.2
0.80.76
0.620.42
1.00 Fix128Fix128W4Fix128doubleD-VLS128-32
Fix128のミス率で正規化(全プログラム平均)1.0
0.0
0.60.40.2
0.80.76
0.620.42
1.001.0
0.0
0.60.40.2
0.80.76
0.620.42
1.00 Fix128Fix128W4Fix128doubleD-VLS128-32
Fix128のAMATで正規化(全プログラム平均)1.5
0.0
1.0
0.50.830.82
1.131.00
Fix128Fix128W4Fix128doubleD-VLS128-32
Fix128のAMATで正規化(全プログラム平均)1.5
0.0
1.0
0.50.830.82
1.131.00
Fix128Fix128W4Fix128doubleD-VLS128-32
動的可変ラインサイズ・キャッシュー評価結果-
発表手順1. キャッシュのいろは2. 高性能化技術
動的可変ラインキャッシュ3. 低消費電力化技術
ウェイ予測キャッシュ(とその後) タグ比較省略キャッシュ(とその後)
4. まとめと今後の課題
キャッシュ・メモリの消費エネキャッシュ・メモリの消費エネルギールギー
平均メモリ・アクセス・エネルギー(平均メモリ・アクセス・エネルギー( AMAAMAEE ))AMAE=HitEnergy + (MissRate×MissEnergy)AMAE=HitEnergy + (MissRate×MissEnergy)– HitEnergyHitEnergy :キャッシュにヒットした場合の消費:キャッシュにヒットした場合の消費
エネルギーエネルギー– MissRateMissRate :キャッシュのミス率:キャッシュのミス率
MissRate=MissRate= ミス回数/メモリ・アクセス回数ミス回数/メモリ・アクセス回数
– MissPenaltyMissPenalty :キャッシュにミスした際に,主記:キャッシュにミスした際に,主記憶から所望の命令/データを取得してくるのに要憶から所望の命令/データを取得してくるのに要するエネルギーするエネルギー
キャッシュ・メモリの低消費エキャッシュ・メモリの低消費エネルギー化ネルギー化AMAE=HitEnergy + (MissRate×MissEnergy)AMAE=HitEnergy + (MissRate×MissEnergy)
ヒット Ene の削減ヒット Ene は,
キャッシュ・サイズ 連想度
等で決まる
ミス率の削減ミス率は,
キャッシュ・サイズ ブロック・サイズ 連想度
等で決まる
ミス Ene の低減ミス Ene は,
主記憶( DRAM )アクセスに要するエネルギー
キャッシュ-主記憶間データ転送に要するエネルギー
等で決まる
キャッシュ・サイズと消費エネルキャッシュ・サイズと消費エネルギーギー
P. Shivalumar and N. Jouppi, “CACTI3.0: An Integrated Cache Timing, Power, and Area Model,” WRL Research Report 2001/2
傾向:キャッシュ・サ傾向:キャッシュ・サイズの増加と伴に消費イズの増加と伴に消費エネルギーは大きくなエネルギーは大きくなるる
理由:ビットラインや理由:ビットラインやワードラインの負荷容ワードラインの負荷容量が大きくなるため量が大きくなるため
キャッシュ連想度と消費エネルギキャッシュ連想度と消費エネルギーー
P. Shivalumar and N. Jouppi, “CACTI3.0: An Integrated Cache Timing, Power, and Area Model,” WRL Research Report 2001/2
傾向:キャッシュ連想度の傾向:キャッシュ連想度の増加と伴に消費エネルギー増加と伴に消費エネルギーは大きくなる(特に、キャは大きくなる(特に、キャッシュ・サイズが小さい場ッシュ・サイズが小さい場合)合)
理由:タグビット数の増加理由:タグビット数の増加によるワードライン負荷容によるワードライン負荷容量の増加、ビットライン・量の増加、ビットライン・プリチャージ回路の負荷増プリチャージ回路の負荷増大、など大、など
キャッシュ・メモリと低消費エネルキャッシュ・メモリと低消費エネルギー化ギー化ートレード・オフーートレード・オフー
AMAE=HitEnergy + (MissRate×MissEnergy)AMAE=HitEnergy + (MissRate×MissEnergy)
ヒット時間低ヒット時間低減減 ミス率削減ミス率削減 ミス・ペナルティ低ミス・ペナルティ低
減減
キャッシュ・サイズキャッシュ・サイズは?は? 小さく!小さく!
ブロック・サイズは?ブロック・サイズは? ????
連想度は?連想度は? 小さく!小さく! ??
キャッシュ・メモリの低消費エキャッシュ・メモリの低消費エネルギー化ネルギー化AMAE=HitEnergy + (MissRate×MissEnergy)AMAE=HitEnergy + (MissRate×MissEnergy)
ヒット Ene の削減ヒット Ene は,
キャッシュ・サイズ 連想度
等で決まる
ミス率の削減ミス率は,
キャッシュ・サイズ ブロック・サイズ 連想度
等で決まる
ミス Ene の低減ミス Ene は,
主記憶( DRAM )アクセスに要するエネルギー
キャッシュ-主記憶間データ転送に要するエネルギー
等で決まる
キャッシュ・メモリと低消費エネルキャッシュ・メモリと低消費エネルギー化ギー化ートレード・オフーートレード・オフー
AMAE=HitEnergy + (MissRate×MissEnergy)AMAE=HitEnergy + (MissRate×MissEnergy)
ヒット時間低ヒット時間低減減 ミス率削減ミス率削減 ミス・ペナルティ低ミス・ペナルティ低
減減
キャッシュ・サイズキャッシュ・サイズは?は? 小さく!小さく! 大きく!大きく! ----
ブロック・サイズは?ブロック・サイズは? ???? (ある程(ある程度)大きく!度)大きく! 小さく!小さく!
連想度は?連想度は? 小さく!小さく! ?? 大きく!大きく! ----
:相反する要求(トレードオフが必要):相反する要求(トレードオフが必要)
低消費エネルギー化技術 -キャッシュ消費エネルギー (1/6) ー
構造的アプローチ水平方向への分割:
Cache subbanking [Su95],[Kamble97]Region-based caching [Lee2000]Specialized Stack Cache [Huang2001]
従来型 Subbanking
for Stackfor
Othersfor Global
Region-based
低消費エネルギー化技術 -キャッシュ消費エネルギー (2/6) ー
構造的アプローチ垂直方向への分割:
Block buffering [Su95],[Kamble97]Filter cache [Kin97]L0 Cache [Bellas99]Loop Cache [Bellas98]Split Loop Cache [Jayapala2001]
従来型
CPU
本アプローチ
CPU
(デコード前と後)
低消費エネルギー化技術 -キャッシュ消費エネルギー (3/6) ー
構造的アプローチ静的 / 動的領域への分割:
Decompressor [Ishihara2000]S-Cache [Panwar95]Scratch-pad Memory
従来型
CPU
本アプローチ
CPUReplaceReplace
No-Replace
アクセス頻度の高いデータ
低消費エネルギー化技術 -キャッシュ消費エネルギー (4/6) ー
動作的アプローチキャッシュ・サイズや連想度の動的変更:
Selective cache ways [Albonese99]Selective ways+sets [Yang2001]
連想度 1 2 4サイズ n/4 n/2 n
Selective cache ways
低消費エネルギー化技術 -キャッシュ消費エネルギー (5/6) ー
動作的アプローチ選択的ウェイ・アクセス:
Phased cache [Hasegawa95]Way-predicting cache [Inoue99B]Direct Addressing [Witchel2001]Way Memoization [Ma2001]History-Based Tag-Comparison [Inoue:ICCD’02]SCIMA [Nakamura2000]
従来型 4 ウェイ 選択型 4 ウェイ
低消費エネルギー化技術 -キャッシュ消費エネルギー (6/6) ー
動作的アプローチタグ比較の省略:
Inter-line tag-comparison [Panwar95]History-based tag-comparison [Inoue2002]
低消費エネルギー化技術 -リプレイス時の消費エネルギー (1/2) ー
バス・コーディングBus-invert coding [Stan95]Address-bus encording [Benini97]
キャッシュ - 主記憶間バスでの消費エネルギー削減
命令スケジューリング [Tomiyama98]
enc
ode
r
dec
ode
r
MainMemory
Cache MainMemory Cache
バス・コーディング 命令スケジューリング
アドレス・バスの並び替え クロストークによる影響を最小化 [Shin2001]
低消費エネルギー化技術 -リプレイス時の消費エネルギー (2/2) ー
主記憶アクセスでの消費エネルギー削減
可変ラインサイズを利用した主記憶のサブバンク化
動的可変ラインサイズ・キャッシュ [Inoue2000B]
A B C DE
A B C D A B C D
最小ライン 中間ライン 最大ライン
D-VLSCache
Main Memory
サブアレイ
A B C DE
A B C D A B C D
最小ライン 中間ライン 最大ライン
D-VLSCache
Main Memory
サブアレイ
低消費エネルギー化技術 - DRAM リフレッシュ消費エネルギーー
データの生存区間を考慮したリフレッシュ制御Selective refresh scheme [Ohsawa98]
DRAM 動作モード制御OS によるページ配置管理 [Lebeck2000]コンパイラや HW による制御 [Delaluz2000], [Delaulz2001]
ウェイ予測セット・アソシアティブウェイ予測セット・アソシアティブキャッシュ・アーキテクチャキャッシュ・アーキテクチャ
MainMemory
Time Energy
Cache
Time EnergyCMR
10% 70%従来型 4 ウェイ SA キャッシュと比較
ウェイ予測アクセス方式従来型(N)段階型(P) ウェイ予測型(WP)
M: 連想度
従来型 段階型 ウェイ予測型ヒット ミス 予測ヒット 予測ミス
読み出されるタグ数 M M M 1 M読み出されるライン数 M 1 0 1 M所要クロック数 1 2 1 1 2
WP キャッシュ -内部構成ー
Status Tag Line
Access Control
ウェイ予測フラグ
way0 way1 way2 way3
2bits
ウェイ予測回路
MUX Drive
Tag Index OffsetReference-Address
実験的評価 ー性能と消費エネルギ (1/2) ー
0
0.5
1
1.5
2
0
0.1
0.2
0.3
0.4
Nor
mal
ized
Tca
che
Nor
mal
ized
Eca
che
124.m88ksim 129.compress 132.ijpeg 102.swim 102.swim 104.hydro2d099.go 126.gcc 130.li 134.perl 101.tomcatv 103.su2cor
段階型 ウェイ予測型Instruction Cache
0
0.5
1
1.5
2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
段階型 ウェイ予測型Data Cache
Nor
mal
ized
Tca
che
Nor
mal
ized
Eca
che
実験的評価 ー性能と消費エネルギ (2/2) ー
124.m88ksim 129.compress 132.ijpeg 102.swim 102.swim 104.hydro2d099.go 126.gcc 130.li 134.perl 101.tomcatv 103.su2cor
ウェイ予測キャッシュウェイ予測セット・アソシアティブ・キャッシュの提案
1. メモリ参照パタンをウェイ予測テーブルに記録2. 参照データを有するウェイを予測3. 無駄なウェイアクセスを回避し省エネルギ化を達成
CMR = 0.02TMainMemory = 10*TCacheEMainMemory = 10*ECache
72%72%AMAE = ECache + CMR * 2 * EMainMemory51%51%
5%5%AMAT = TCache + CMR * 2 * TMainMemory4%4%
従来型 4 ウェイ SA データキャッシュと比較(124.m88ksim)
適応型ウェイ予測キャッシュ
従来型(N)段階型(P) ウェイ予測型(WP)高速/高消費電力 低速/低消費電力 高速/低消費電力 低速/高消費電力
要求性能に応じて動作モードを動的に変更
適応型ウェイ予測キャッシュ
日立 0.18 プロセス( VDEC) で設
計中
(第 4回 IP アワード・チャレンジ賞受賞)
分岐予測技術を活用した適応型 WP キャッシュの設計セット毎に 2 ビット飽和カウンタを実装ウェイ予測結果に基づきカウンタを更新カウンタ値に基づき動作モードを選択
MPEG ソフトウェア向け適応型 WP キャッシュロード / ストア・クリティカリティに基づく適応型WP キャッシュ
3 2
10
正しい予測
正しい予測
正しい予測
間違った予測
3 2
10
正しい予測
正しい予測
正しい予測
間違った予測
ヒストリ・ベース・タグ比較キャッシュヒストリ・ベース・タグ比較キャッシュアーキテクチャアーキテクチャ
MainMemory
Time Energy
Cache
Time EnergyCMR
30% サブバンキング手法を用いた従来型 DM キャッシュと比較
従来型ダイレクト・マップ・キャッシュ
Tag LineTag Index Offset
タグメモリ データメモリメモリ参照アドレス
Hit? Word Data
MUX
Ecache = Edecode + Esram + Eio
Esram_tag + Esram_data
従来型キャッシュにおけるタグ比較
事実 1 :命令キャッシュのヒット率は極めて高い→キャッシュ内容の更新は稀にしか発生しない
事実 2 :プログラムはループ構造に基づく→多くの命令は繰り返し実行される
キャッシュの内容は変更されていないにも関わらず同一命令へのアクセス時、毎回タグ比較を実行
キャッシュの内容は変更されていないにも関わらず同一命令へのアクセス時、毎回タグ比較を実行
時刻
Miss! Miss!命令 A
参照
タグ比較
命令 A参照
タグ比較
キャッシュ・ミス・インターバルキャッシュ・ミス・インターバル
命令 A参照
タグ比較
命令 A参照
タグ比較
命令 A参照
タグ比較
無駄なタグ比較はどの程度存在するのか?
キャッシュ・ミス・インターバル当たりの平均アクセス回数(100回まで)
16 KB ダイレクト・マップ命令キャッシュ( 32B ラインサイズ)
HBTCキャッシュ
時刻
Miss! Miss!命令 A
参照命令 A
参照
タグ比較
命令 A参照
タグ比較
動的に無駄なタグ比較処理を検出・削除することで低消費エネルギー化を実現
ある命令を参照する時、•当該命令が過去に参照された実績があり、かつ、• その時から現在に至るまで一度もキャッシュ・
ミスが発生していない
ある命令を参照する時、•当該命令が過去に参照された実績があり、かつ、• その時から現在に至るまで一度もキャッシュ・
ミスが発生していない場合にはタグ比較処理を省略可能(ヒット)場合にはタグ比較処理を省略可能(ヒット)
タグ比較省略条件の動的判定方法
A?
1. 時刻Tにおける命令ブロックAの参照命令ブロックAの実行履歴を残すための足跡フラグをセット
$
2. キャッシュ・ミス発生時、全ての足跡フラグをリセット
実行履歴(実行の足跡)を記録
3. 時刻T+Xにおいて、命令ブロックAを再び参照する時に対応する実行足跡をチェック
A $実行足跡が残っていればタグ比較処理を省略
HBTCキャッシュ・アーキテクチャ
Not-taken
I-$
タグ比較省略信号
Target Instruction Block
実行足跡フラグ設定用アドレス
実行足跡フラグ
分岐命令アドレス 分岐先アドレス
分岐先アドレス
BTB
T
分岐命令アドレス
PBAreg(Previous Branch Addr. Reg)
分岐命令アドレス
PC
F
分岐予測結果
分岐予測結果
モード制御回路
HBTC キャッシュの動作通常モード (Normal Mode:NM): タグ比較を実行省略モード (Omitting Mode:OM): タグ比較を省略記録モード (Tracing Mode:TM): タグ比較を実行
( ただし、BTBヒット時、 PBAreg で指定された足跡フラグを1にセット )Mode Transition
BTB HitOM
NM TM
足跡フラグ=1足跡フラグ=1
足跡フラグ= 0足跡フラグ= 0GOtoNMGOtoNM
GOtoNMGOtoNM
GOtoNM命令キャッシュ・ミスBTB リプレイスメントRAS アクセス分岐予測ミス検出
GOtoNM命令キャッシュ・ミスBTB リプレイスメントRAS アクセス分岐予測ミス検出
全ての実行足跡フラグをリセット全ての実行足跡フラグをリセット
00.10.20.30.40.50.60.70.80.9
1
Nor
mal
ized
Cac
he E
nerg
y EbtbaddEbtbaddEoutputEoutputEtagEtagEdataEdata
129.compress adpcm(e) mpeg2(e) epic(e) pegwit(e) 132.ijpeg adpcm(d) mpeg2(d) epic(d) pegwit(d)
0.9
0.92
0.94
0.96
0.98
1
1.02
1.04
Nor
m.
Exe
. T
ime
129.compress adpcm(e) mpeg2(e) epic(e) pegwit(e) 132.ijpeg adpcm(d) mpeg2(d) epic(d) pegwit(d)
評価 -消費エネルギーと性能ー
評価 -実行足跡無効化ペナルティが与える影
響ー
0.95
1
1.05
1.1
1.15
1 2 4 8 16
129.compress132.ijpegadpcm(e)adpcm(d)mpeg2(e)mpeg2(d)epic(e)epic(d)pegwit(d)N
orm
aliz
ed E
xe. T
ime
Footprint Flag Invalidation Penalty (cycle)
L1 Cache Miss Penalty
L1 Cache Miss Penalty
0%10%20%30%40%50%60%70%80%90%
100%
Bre
akd
own
of
Foo
tprin
t In
valid
atio
ns
129.compress adpcm(e) mpeg2(e) epic(e) pegwit(e)132.ijpeg adpcm(d) mpeg2(d) epic(d) pegwit(d)
BTB ReplacementCache MissBTB ReplacementCache Miss
0.8
0.85
0.9
0.95
1
4 8 16 32 64
No
rma
lize
d E
ner
gy
Cache Size [KB]
0.8
0.85
0.9
0.95
1
1 2 4 8 16 32
129.compress132.ijpegadpcm(e)adpcm(d)mpeg2(e)mpeg2(d)epic(e)epic(d)pegwit(e)pegwit(d)
No
rma
lize
d E
xe. T
ime
BTB Associativity
評価 -キャッシュ・サイズと BTB 連想度が与える影響ー
ヒストリ・ベース・タグ比較キャッシュ
ヒストリ・ベース・タグ比較・キャッシュの提案
1. プログラム実行の足跡を BTB に記録2. 参照データのキャッシュ滞在状況を正確に予測3. 無駄なタグ比較を回避し省エネルギ化を達成
CMR = 0.009TMainMemory = 10*TCacheEMainMemory = 10*ECache
30%30%AMAE = ECache + CMR * 2 * EMainMemory25%25%
AMAT = TCache + CMR * 2 * TMainMemory
従来型サブバンク DM キャッシュと比較(107.mgrid)
HBL キャッシュー セット・アソシアティブ方式への拡張 ー
Branch-Inst. Addr. Target Addr.
Branch-Inst. Addr. Target Addr.
BTB (Branch Target Buffer) NotTakenPC
Write Address
Tag Check Result
WPvalid
I-Cache
Miss?
valid flag n way pointers
Taken
検索履歴テーブル
分岐予測結果
検索履歴レジスタ
前 PC保存用レジスタ
前分岐予測結果
WPレジスタ
モード制御
検索履歴テーブルのエントリ
To be presented at ICCD’02
HBL キャッシュー 基本概念 ー
1. 時刻 T にてある命令 A を参照•タグ比較を実行•タグ比較結果を保存
way0 way1 way2 way3
Hit! (命令(命令 AA のヒット・ウェイのヒット・ウェイ =2=2 ))2. キャッシュ・ミスが発生したら記録した全てのタ
グ比較結果を無効化3. 時刻 T+x において命令 A を再度参照
• 有効なタグ比較結果が保存されていれば再利用
way0 way1 way2 way3
Index
Hit! (命令(命令 AA のヒット・ウェイのヒット・ウェイ =2=2 ))
Index
評価ー実験結果ー
099.go 126.gcc 130.li 102.swim adpcm(d) mpeg2(d) 124.m88ksim 129.comp. 132.ijpeg adpcm(e) mpeg2(e)
1.2
1.0
0.8
0.6
0.4
0.2
0.0
1.2
1.0
0.8
0.6
0.4
0.2
0.0
No
rmal
ized
En
erg
y (J
ou
le) N
orm
alized E
xe. Tim
e (cycle)
62%62% 0.2%0.2%# of WPs = 4
評価ー WP 数が消費エネルギーに与える影響 ー
1.0
0.8
0.6
0.4
0.2
0.0
No
rmal
ized
En
erg
y (J
ou
le)
Energy Overhead at BTBEnergy for Cache Access
1 2 4 8 16 32 1 2 4 8 16 32
# of Way Pointer
w/ Pre-Decodingw/ Pre-Decoding126.gcc
w/o Pre-Decodingw/o Pre-Decoding
評価ーキャッシュ連想度が消費エネルギーに与える影
響ー
0.E+001.E+062.E+063.E+064.E+065.E+066.E+067.E+068.E+06
En
erg
y (J
ou
le)
Eothers EtagEdata,blEdata,prectlConventional HBL Cache
Associativity
mpeg2decode
0.8um CMOS* **
*) M.B.Kamble and K.ghose, “Energy-Efficiency of VLSI Caches: A Comparative Study,” 10th Int. Conf. On VLSI Design**) S.J.E.Wilton and N.P.Jouppi, “An Enhanced Access and Cycle Time Model for On-Chip Caches,” WRL Research Report 93/5
1 2 4 8 16 32 64 1 2 4 8 16 32 64
発表手順1. キャッシュのいろは2. 高性能化技術
動的可変ラインキャッシュ3. 低消費電力化技術
ウェイ予測キャッシュ(とその後) タグ比較省略キャッシュ(とその後)
4. まとめと今後の課題
まとめまだまだキャッシュ・メモリの研究はこれ
から!
• 特性の異なるメモリ領域を複数個用意• (物理的には 1 つのメモリ・アレイでもOK)
• プログラムの特性(特に局所性)に応じてこれらを効率良く使い分ける
ヒット率の向上によるメモリウォール問題の解決動的 /静的消費電力の削減
多くの技術に共通する事は。。。
References[Chang87]:Chang,J.H, Chao,H., and So,K.,”Cache design of a sub-micron cmos system370,” 14th ISCA.[Liu94]:Liu.L,”Cache design with partial address matching,”27th MICRO.[Juan96]:Juan,T., Lang,T., and Navarro,J.J.,”The difference-bit cache,”23rd ISCA.[Agarwal88]:Agarwal,A., Hennesy,J., and Horowitz,M.,”Cache performance of operating systems and multiprogramming,” ACM Trans. On Computer Systems, vol.6.[Agarwal93]:Agarwal,A., and Pudar,S.D.,”Column-associative cache: A technique for reducing the miss rate of direct-mapped caches,” 20th ISCA.[Calder96]:Calder,B., Grunwald,D., and Emer,J.,”Predictive sequential associative cache,” 2nd HPCA.[Seznec93]:Seznec,A.,”A case for two-way skewed-associative caches,” 20th ISCA.[Peir98]:Peir,J.K., Lee,Y., and Hsu,W.W.,”Capturing dynamic memory reference behavior with adaptive cache topology,” 8th ASPLOS.[McFarling92]:McFarling,S.,”Cache replacement with dynamic exclusiion,” 19th ISCA.[Johnson97A]:Johnson,T. L. and Hwu,W.W.,”Run-time adaptive cache hierarchy management via reference analysis,” 24th ISCA.[Jouppi90]:Jouppi,N.P.,”Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers,” 17th ISCA.[John97]:John,L.K. and Subramanian,A.,”Design and performance evaluation of a cache assist to implement selective caching,” ICCD 1997.[Walsh95]:Walsh,S.J. and Board,J.A.,”Pollution control caching,” ICCD 1995.[Gonzalez95]:Gonzalez,A., Aliagas,C., and Valero,M.,”A data cache with multiple caching strategies tuned to different types of locality,” ICS 1995.[Park99]:Park,G.-H., “Desing and analysis of an adaptive memory system for deep-submicron and processor-memory integration technologies,” PhD thesis, Department of Computer Science the Graduate School Yonsei Univ. 1999.
References[Fisk99]:Fisk,B.R. and Bahar,R.I.,”The non-critical buffer: Using load latency tolerance to improve data cache efficiency,” ICCD 1999.[Inoue99A]: Inoue,K., Kai,K., and Murakami,K.,”Dynamically variable line-size cache exploiting high on-chip memory bandwidth of merged DRAM/logic LSIs,” 5th HPCA.[Johnson97B]:Johnson,T.L., Merten,M.C., and Hwu,W.W.,”Run-time spatioal locality detection and optimization,” 30th MICRO.[Vleet99]: Vleet,P.V., Anderson,E., Brown,L., Baer,J., and Karlin,A.,”Pursuing the performance potential of dynamic cache lilne sizes,” ICCD 1999.[Veidenbaum99]: Veidenbaum,A.V., Tang,W., Gupta,R., Nicolau,A., and Ji,X.,”Adapting cache line size to application behavior,” ICS 1999.[Tomiyama97]: Tomiyama,H. and Yasuura,H.,”Code placement techniques for cache miss rate reduction,” ACM Trans. On Design Automation of Electronic Systems, 1997.[Murakami97]: Murakami,K., Shirakawa,S., and Miyajima,H.,”Parallel processing RAM chip with 256mB DRAM and quad processors,” ISSCC, 1997.[Patterson97]: Patterson,D. et. Al., “A case for intelligent RAM,” IEEE Micro, 1997.[Su95]: Su,C.L. and Despain,A.M.,”Cache design trade-offs for power and performance optimization: a cace study,” ISLPED 1995.[Kamble97]: Kamble,M.B. and Ghose,K., “Analytical energy dissipation models for low power caches,” ISLPED 1997.[Lee2000]: Lee,H.S. and Tyson,G.S.,”Region-based caching: an energy-delay efficient memory architecture for embedded processors,” CASES 2000.[Kin97]: Kin,J., Gupta,M., and Mangione-Smith,W.H.,”The filter cache: an energy efficient memory structure,” MICRO 1997.
References[Ishihara2000]:Ishihara,T. and Yasuura,H.,”A power reduction technique with object code merging for application specific embedded processors,” DATE 2000.[Panwar95]: Panwar,R. and Rennels,D.,”Reducing the frequency of tag compares for low power I-cache design,” ISLPED 1995.[Hasegawa95]: Hasegawa,A., et al., “SH3: High code density, low power,” IEEE Micro, 1995.[Inoue99B]: Inoue,K., Ishihara,T., and Murakami,K.,”Way-predicting set-associative cache for high performance and low energy consumption,” ISLPED 1999.[Albonesi99]: Albonesi,D.H.,”Selective cache ways: On-demand cache resource allocation,” MICRO 1999.[inoue2002]: Koji Inoue, Vasily Moshnyaga, and Kazuaki Murakami, “A History-based I-Cache for Low-Energy Multimedia Applications,” to appear in ISLPED 2002. [Stan95]: Stan,M.R. and Burleson,W.P.,”Bus-invert cording for low-power I/O,” IEEE transaction on VLSI Systems, 1995.[Benini97]: Benini,L., De Micheli,G., Macii,E., Sciuto,D., and Silvano,C.,”Asymptotic zero-transition activity encording for address busses in low-power microprocessor-based systems,” 7th GLS-VLSI.[Tomiyama98]: Tomiyama,H., Ishihara,T., Inoue,A., and Yasuura,H.,”Instruction scheduling for power reduction in processor-based system design,” DATE 1998.[Inoue2000B]: Inoue, K., Kai, K., and Murakami, K., ``Performance/Energy Efficiency of Variable Line-Size Caches on Intelligent Memory Systems,'' Proc. of The 2nd Workshop on Intelligent Memory Systems, Nov. 2000. [Ohsawa98]: Ohsawa,T., Kai,K., and Murakami,K.,”Optimizing the DRAM refresh count for merged DRAM/logic LSIs,” ISLPED 1998.[Lebeck2000]:Lebeck,A.R., Fan,X., Zeng,H., and Ellis,C.,”Power aware page allocation,” ASPLOS 2000.[Delaluz2000]:Delaluz,V., Kandemir,M., Vijaykrishnan,N., and Irwin,M.J.,”Energy-oriented compiler optimizations for partitioned memory architectures,” CASES 2000.[Delaluz2001]:Delalus,V., Kandemir,M., Vijaykrishnan,N., Sivasubramaniam,A., and Irwin,M.J.,”DRAM energy management using software and hardware directed power mode control,” 7th HPCA.
References[Witchel2001]: E. Witchel, S. Larsen, C. Ananian, and K. Asanovic, “Direct Addressed Caches for Reduced Power Consumption," Int. Symp. on Microarchitecture (MICRO34).[Ma2001] :A. Ma, M. Zhang, and K. Asanovic, “Way Memoization to Reduce Fetch Energy in Instruction Caches," ISCA Workshop on Complexity Effective Design, June 2001. [Huang2001]: M. Huang, J. Renau, S. Yoo, and J. Torrellas, “L1 Data Cache Decomposition for Energy Efficiency,” Int. Symp. on Low Power Electronics and Design (ISLPED2001).[Kim2002]: H. Kim, A. K. Somani, and A. Tyagi, “A Reconfigurable Mulifunction Computing Cache Architecture," IEEE Trans. on VLSI Systems, Vol.9, No.4, Aug. 2001 [Shin2001]: Y. Shin and T. Sakurai, “Coupling-Driven Bus Design for Low-Power Application-Specific Systems," Int. Conf. on Design Automation Conference (DAC38), pp750-753, 2001. [Nakamura2000]: H. Nakamura, M. Kondo, and T. Boku, “Software Controlled Reconfigurable On-chip Memory for High Performance Computing,” 2nd Workshop on Intelligent Memory Systems, Nov. 2000.[Chiou2000]: Derek Chiou, Prabhat Jain, Larry Rudolp, and Srinivas Devadas, “Application-Specific Memory Management for Embedded Systems Using Software-Controlled Caches,” DAC2000.[Yang2000]: Jun Yang, Youtao Zhang, and Rajiv Gupta, “Frequent Value Compression In Data Caches,” MICRO33.[Valla2000]: Luis Villa, Michael Zhang, and Krste Asanovic, “Dynamic Zero Compression for Cache Energy Reduction,” MICRO33. [Jayapala2001]: Murali Jayapala, Francisco Barat, Pieter Op de Beek, Francky Catthoor, and Rudy Lauwereins, “Low Energy Clustered Instruction Fetch and Split Loop Cache Architecture for Long Instruction Word Processors,” COLP’01.[Yang2001]: Se-Hyun Yang, Michael D. Powell, Babak Falsafi, and T. N. Vijaykumar, “Exploiting Choice in Resizable Cache Design to Optimize Deep-Submicron Processor Energy-Delay,” HPCA-8.
Back Up Slides
低消費エネルギー化技術(おまけ) -レジスタ・ファイルー
Reduction Rate Read Accesses
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
trace
_deco
de
trace
_enco
detra
intest
bigtest go
mei16v
2tenn
is
test_
verify
trace
_mei1
6v2
trace
_clint
on
my.pub
trace
_my.p
ub
trace
_pegw
it
RRswRskRsw+sk
オペランド・データの再利用とフォワーディング回路の活用To be presented at PATMOS’02, SWoPP’02
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
trace
_deco
de
trace
_enco
de test go
mei16v
2
trace
_clint
on
my.pub
RRswRskRsw+skW+RW+RswW+RskW+Rsw+sk
低消費エネルギー化技術(おまけ) -命令 ROM ー
00.10.20.30.40.50.60.70.80.9
11.1
BA
SE
BA
SE
HS
IH
SI
IEsp
IEsp
IEa
llIE
all
HIS
+IE
sp
HIS
+IE
sp
HIS
+IE
all
HIS
+IE
all
Nor
mal
ized
Ene
rgy
mpeg2dec
00.10.20.30.40.50.60.70.80.9
11.1
BA
SE
BA
SE
HS
IH
SI
IEsp
IEsp
IEa
llIE
all
HIS
+IE
sp
HIS
+IE
sp
HIS
+IE
all
HIS
+IE
all
Nor
mal
ized
Ene
rgy
mpeg2dec
Invert-FlagOp-FieldFunc-FieldReg-FieldImm-Field
命令ローカリティを利用した命令 ROM の低消費電力化To be presented at APCCAS’02
0%
20%
40%
60%
80%
100%出現頻度(OP-field)
BNEZ:SW:LW:
ADDI:Special:
000101 (4)101011 (2)100011 (3)001000 (5)000000 (6)
Base(dlxsim)Others
出現頻度(Rs1,Rs2,Rd-field)
R31:R3:R2:
R29:R1:
11111 (0)00011 (3)00010 (4)11101 (1)00000 (5)
Base(dlxsim)Others
0%
20%
40%
60%
80%
100%
0%
20%
40%
60%
80%
100%出現頻度(OP-field)
BNEZ:SW:LW:
ADDI:Special:
000101 (4)101011 (2)100011 (3)001000 (5)000000 (6)
Base(dlxsim)Others
出現頻度(Rs1,Rs2,Rd-field)
R31:R3:R2:
R29:R1:
11111 (0)00011 (3)00010 (4)11101 (1)00000 (5)
Base(dlxsim)Others
0%
20%
40%
60%
80%
100%
WL
BL0 BL1
SenseAmp.
Ref. V
SenseAmp.
読出しデータ
0 0
1 0
1 1
CBCB UCBUCB
WL
BL0 BL1
SenseAmp.
Ref. V
SenseAmp.
読出しデータ
0 0
1 0
1 1
CBCB UCBUCB