キャッシュ・メモリの 高性能化と低消費電力化

93
キキキキキ キキキキ キキキキキ キキキキ キキキキキキキキキキキ キキキキキキキキキキキ 井井 井井 井井井井 井井井 井井井井井井井 井井

description

キャッシュ・メモリの 高性能化と低消費電力化. 福岡大学 工学部 電子情報工学科 助手. 井上 弘士. 発表手順. キャッシュのいろは 高 性能化技術 動的可変ラインキャッシュ 低消費電力化技術 ウェイ予測キャッシュ(とその後) タグ比較省略キャッシュ(とその後) まとめと今後の課題. データの記憶. DRAM. プロセッサーメモリ間性能差の隠蔽. オンチップ・キャッシュの搭載. データの記憶. 演算処理. +. CPU. Cache Memory. メモリ参照の時間的 / 空間的局所性を活用. CPU. Cache. - PowerPoint PPT Presentation

Transcript of キャッシュ・メモリの 高性能化と低消費電力化

Page 1: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリのキャッシュ・メモリの高性能化と低消費電力化高性能化と低消費電力化

井上 弘士

福岡大学 工学部 電子情報工学科 助手

Page 2: キャッシュ・メモリの 高性能化と低消費電力化

発表手順1. キャッシュのいろは2. 高性能化技術

動的可変ラインキャッシュ3. 低消費電力化技術

ウェイ予測キャッシュ(とその後) タグ比較省略キャッシュ(とその後)

4. まとめと今後の課題

Page 3: キャッシュ・メモリの 高性能化と低消費電力化

プロセッサーメモリ間性能差の隠蔽

オンチップ・キャッシュの搭載

CPU DRAM+

演算処理 データの記憶

Cache Memory

データの記憶

メモリ参照の時間的 / 空間的局所性を活用

Page 4: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリとは?

CPU Main Memory

CPU Cache Main Memory

Page 5: キャッシュ・メモリの 高性能化と低消費電力化

メモリ参照の局所性時間的局所性:メモリ上のある項目が参照されると、間もなくそれが再び参照される確率が高い、という性質空間的局所性:メモリ上のある項目が参照されると、その近くの項目も間もなく参照される確率が高い、という性質 ヘネシー&パターソン コンピュータ・アーキテクチャ

CPU について調べたい!

SpecCに

よる

CP

U開

発 

冨山

宏之

 著

マイ

クロ

・コ

ンピ

ュー

タ 

田丸

・安

浦 

スー

パス

カラ

・プ

ロセ

ッサ

村上

 監

Page 6: キャッシュ・メモリの 高性能化と低消費電力化

どのくらい研究されてきたのか?% 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

Page 7: キャッシュ・メモリの 高性能化と低消費電力化

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%)

性能差は十分隠蔽できているのか?

Page 8: キャッシュ・メモリの 高性能化と低消費電力化

高性能化だけで十分なのか?

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

•携帯システムにおけるバッテリ駆動時間の延長•高性能システムにおけるチップ発熱の抑制

Page 9: キャッシュ・メモリの 高性能化と低消費電力化

マイクロプロセッサの消費電力(汎用 CPU : PentiumPro )

Srilaha Manne, Artur Klauser, and Dirk Grunwald, “Pipeline Gating: Speculation Control For Energy Reduction,” ISCA25, 1998.

Page 10: キャッシュ・メモリの 高性能化と低消費電力化

マイクロプロセッサの消費電力( ARM920T )

Simon Segars, “Low Power Design Techniques for Microprocessors,” ISSCC2001

Page 11: キャッシュ・メモリの 高性能化と低消費電力化

発表手順1. キャッシュのいろは2. 高性能化技術

動的可変ラインキャッシュ3. 低消費電力化技術

ウェイ予測キャッシュ(とその後) タグ比較省略キャッシュ(とその後)

4. まとめと今後の課題

Page 12: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリの性能キャッシュ・メモリの性能平均メモリ・アクセス時間(平均メモリ・アクセス時間( AMATAMAT ))

AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)– HitTimeHitTime :キャッシュにヒットした場合のアクセ:キャッシュにヒットした場合のアクセ

ス時間(プロセッサがアドレスを出力して所望ス時間(プロセッサがアドレスを出力して所望の命令/データを取得するまでの所要時間)の命令/データを取得するまでの所要時間)

– MissRateMissRate :キャッシュのミス率:キャッシュのミス率MissRate=MissRate= ミス回数/メモリ・アクセス回数ミス回数/メモリ・アクセス回数

– MissPenaltyMissPenalty :キャッシュにミスした際に,主記:キャッシュにミスした際に,主記憶から所望の命令/データを取得してくるのに要憶から所望の命令/データを取得してくるのに要する時間する時間

Page 13: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリの高性能キャッシュ・メモリの高性能化化AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)

ヒット時間の低減ヒット時間は,

キャッシュ・サイズ ブロック・サイズ 連想度

等で決まる

ミス率の削減ミス率は,

キャッシュ・サイズ ブロック・サイズ 連想度

等で決まる

ミス・ペナルティの低減ミス・ペナルティは,

主記憶( DRAM )のアクセス時間

キャッシュ-主記憶間バンド巾

ブロック・サイズ等で決まる

Page 14: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・サイズとヒット時キャッシュ・サイズとヒット時間間

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

Page 15: キャッシュ・メモリの 高性能化と低消費電力化

連想度(ウェイ数)とヒット時連想度(ウェイ数)とヒット時間間

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 キャッシュ・ヒット時間キャッシュ・ヒット時間(キャッシュ・アクセス時間)(キャッシュ・アクセス時間)

傾向:連想度(ウェイ数)の傾向:連想度(ウェイ数)の増加と伴にヒット時間が長く増加と伴にヒット時間が長くなるなる

理由:クリティカル・パスが理由:クリティカル・パスが長くなるため長くなるため

Page 16: キャッシュ・メモリの 高性能化と低消費電力化

連想度(ウェイ数)とヒット時連想度(ウェイ数)とヒット時間間

ダイレクト・マップ・ダイレクト・マップ・キャッシュのヒット時間キャッシュのヒット時間

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

Page 17: キャッシュ・メモリの 高性能化と低消費電力化

ブロックサイズとヒット時間ブロックサイズとヒット時間

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

Page 18: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリと高性能化キャッシュ・メモリと高性能化ートレード・オフーートレード・オフー

AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)

ヒット時間低ヒット時間低減減 ミス率削減ミス率削減 ミス・ペナルティ低ミス・ペナルティ低

減減

キャッシュ・サイズキャッシュ・サイズは?は? 小さく!小さく!

ブロック・サイズは?ブロック・サイズは? ????

連想度は?連想度は? 小さく!小さく!

Page 19: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリの高性能キャッシュ・メモリの高性能化化AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)

ヒット時間の低減ヒット時間は,

キャッシュ・サイズ ブロック・サイズ 連想度

等で決まる

ミス率の削減ミス率は,

キャッシュ・サイズ ブロック・サイズ 連想度

等で決まる

ミス・ペナルティの低減ミス・ペナルティは,

主記憶( DRAM )のアクセス時間

キャッシュ-主記憶間バンド巾

ブロック・サイズ等で決まる

Page 20: キャッシュ・メモリの 高性能化と低消費電力化

ミス率の削減ミス率の削減 キャッシュ・ミスの原因キャッシュ・ミスの原因

– Compulsory MissCompulsory Miss (初期参照ミ(初期参照ミス):メモリ・ブロックに対すス):メモリ・ブロックに対する最初のアクセスは必ずミスする最初のアクセスは必ずミスするる

– Conflict MissConflict Miss (競合性ミス):(競合性ミス):1個のキャッシュ・ブロックを1個のキャッシュ・ブロックを複数のメモリ・ブロックが共用複数のメモリ・ブロックが共用するする

– Capacity MissCapacity Miss (容量性ミス):(容量性ミス):すべてのメモリ・ブロックをキすべてのメモリ・ブロックをキャッシュに置くことは出来ないャッシュに置くことは出来ない

対策対策– キャッシュ・サイズキャッシュ・サイズ

を大きくするを大きくする– ブロック・サイズをブロック・サイズを

大きくする大きくする– 連想度を大きくする連想度を大きくする

Page 21: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・ミスの原因の分キャッシュ・ミスの原因の分析析

キャッシュ・サイズ (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

傾向:連想度を高くす傾向:連想度を高くするとミス率が低下する。るとミス率が低下する。

理由:競合性ミスを削理由:競合性ミスを削減できるため。減できるため。

傾向:キャッシュ・サイズ傾向:キャッシュ・サイズを増加するとミス率が低下を増加するとミス率が低下する。する。

理由:容量性ミスを削減で理由:容量性ミスを削減できるため。きるため。

Page 22: キャッシュ・メモリの 高性能化と低消費電力化

ブロック・サイズとミス率ブロック・サイズとミス率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

一度に多くの本を机上に一度に多くの本を机上に持ってくるには、机上に持ってくるには、机上にある多くの本を本棚に返ある多くの本を本棚に返さなければならない!さなければならない!(競合性ミス)(競合性ミス)

Page 23: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリと高性能化キャッシュ・メモリと高性能化ートレード・オフーートレード・オフー

AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)

ヒット時間低ヒット時間低減減 ミス率削減ミス率削減 ミス・ペナルティ低ミス・ペナルティ低

減減

キャッシュ・サイズキャッシュ・サイズは?は? 小さく!小さく! 大きく!大きく!

ブロック・サイズは?ブロック・サイズは? ???? (ある程(ある程度)大きく!度)大きく!

連想度は?連想度は? 小さく!小さく! 大きく!大きく!

Page 24: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリの高性能キャッシュ・メモリの高性能化化AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)

ヒット時間の低減ヒット時間は,

キャッシュ・サイズ ブロック・サイズ 連想度

等で決まる

ミス率の削減ミス率は,

キャッシュ・サイズ ブロック・サイズ 連想度

等で決まる

ミス・ペナルティの低減ミス・ペナルティは,

主記憶( DRAM )のアクセス時間

キャッシュ-主記憶間バンド巾

ブロック・サイズ等で決まる

Page 25: キャッシュ・メモリの 高性能化と低消費電力化

ブロック・サイズとミス・ペナブロック・サイズとミス・ペナルティルティ

andwidthandwidthCacheDramBCacheDramBockSizeockSizeTransferBlTransferBl

TimeTimeDramAccessDramAccessyyMissPenaltMissPenalt

アクセス時間

転送時間

ブロックサイズ

Mis

sPen

alty 傾向:キャッシュー主記憶間バ傾向:キャッシュー主記憶間バ

ンド幅以上にブロックサイズをンド幅以上にブロックサイズを拡大するとミス・ペナルティが拡大するとミス・ペナルティが増大する。増大する。

理由:ブロック転送時間が増大理由:ブロック転送時間が増大するため。するため。

Page 26: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリと高性能化キャッシュ・メモリと高性能化ートレード・オフーートレード・オフー

AMAT=HitTime + (MissRate×MissPenalty)AMAT=HitTime + (MissRate×MissPenalty)

ヒット時間低ヒット時間低減減 ミス率削減ミス率削減 ミス・ペナルティ低ミス・ペナルティ低

減減

キャッシュ・サイズキャッシュ・サイズは?は? 小さく!小さく! 大きく!大きく! --

ブロック・サイズは?ブロック・サイズは? -- (ある程(ある程度)大きく!度)大きく! 小さく!小さく!

連想度は?連想度は? 小さく!小さく! 大きく!大きく! --

:相反する要求(トレードオフが必要):相反する要求(トレードオフが必要)

Page 27: キャッシュ・メモリの 高性能化と低消費電力化

高性能化技術 -キャッシュ・アクセス時間の短縮ー

投機的ウェイ選択:MRU cache [Chang87]

部分タグ比較:Partial address matching [Liu94]Difference-bit cache [Juan96]

セット・アソシアティブ・キャッシュの高ヒット率を維持しつつ、ダイレクト・マップの高速アクセスを実

現したい!セット・アソシアティブ・キャッシュの高速化技術

Main Directory

Partial Address Directory

完全なタグ

タグの1部(例えば

5b)

Tag from Addr.

検証用 投機ウェイ選択用タグの1ビットだけを見て選択すべきウェイを決定 (2way

のみ)

Page 28: キャッシュ・メモリの 高性能化と低消費電力化

高性能化技術 -キャッシュ・ヒット率の向上 (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]   リプレイスが発生する領域と、発生しない領域

Page 29: キャッシュ・メモリの 高性能化と低消費電力化

高性能化技術 -キャッシュ・ヒット率の向上 (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

Page 30: キャッシュ・メモリの 高性能化と低消費電力化

高性能化技術 -キャッシュ・ヒット率の向上 (2/6) ー

キャッシュ・スペースの有効利用( 動的適応可能なマッピング関数のサポート):

Adaptive group-associative Cache [Peir98]

00011011

頻繁に参照される領域頻繁に参照されない領域 (hole)

00011011

参照頻度の高いデータがキャッシュから追い出される時、 hole に割り当

てる

Page 31: キャッシュ・メモリの 高性能化と低消費電力化

高性能化技術 -キャッシュ・ヒット率の向上 (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

バイパス

Page 32: キャッシュ・メモリの 高性能化と低消費電力化

高性能化技術 -キャッシュ・ヒット率の向上 (4/6) ー

メモリ階層の改良(垂直方向)

L1 Cache

MainMemory

•Victim Cache [Jouppi90]追い出されるデータを保存

•Annex Cache [John97]•Pollution-control Cache [Walsh95]

リフィルされるデータを保存

Page 33: キャッシュ・メモリの 高性能化と低消費電力化

高性能化技術 -キャッシュ・ヒット率の向上 (6/6) ー

ラインサイズの拡大によるプリフェッチ効果( 可変ラインサイズ)

ハードウェア制御 : [Johson97B], [Inoue99A], [Vleet99]ソフトウェア制御: [Veidenbaum99], [Vleet99]

データ圧縮技術の活用Compression Cache: [Yang2000],

データ再配置プロファイルに基づくデータの再配置: [Tomiyama97]

Page 34: キャッシュ・メモリの 高性能化と低消費電力化

高性能化技術 -ミス・ペナルティの削減ー

DRAM アクセス時間の改善

実効バンド幅の向上DRAM ロジック混載 LSI の活用: [Murakami97],

[Inoue99A], [Patterson97]

要求バンド幅の削減バイパス技術の活用

Page 35: キャッシュ・メモリの 高性能化と低消費電力化

高性能化技術 -キャッシュの他の利用法ー

キャッシュ SRAM をリコンフィギュラブル・デバイスとして使用[Kim2002]

Page 36: キャッシュ・メモリの 高性能化と低消費電力化

動的可変ラインサイズ・キャッシュ動的可変ラインサイズ・キャッシュアーキテクチャアーキテクチャ

MainMemory

Time Energy

Cache

Time EnergyCMR

37%従来型 DM キャッシュと比較 52%

Page 37: キャッシュ・メモリの 高性能化と低消費電力化

高メモリバンド巾の活用

ラインサイズミス・ペナルティ

ラインサイズミス・ペナルティ

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

Page 38: キャッシュ・メモリの 高性能化と低消費電力化

ラインサイズ 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

Page 39: キャッシュ・メモリの 高性能化と低消費電力化

Amount of Spatial Locality at each Cache-Sector

LineSize:128B

Page 40: キャッシュ・メモリの 高性能化と低消費電力化

動的可変ラインサイズ・キャッシューコンセプト-

高い局所性低い局所性

A B C DE

A B C D A B C D

最小ライン 中間ライン 最大ライン

D-VLSCache

Main Memory

サブアレイ

実行中に空間的局所性の度合いを予測し、ラインサイズを動的に変更

Page 41: キャッシュ・メモリの 高性能化と低消費電力化

動的可変ラインサイズ・キャッシュー内部構成-

ダイレクト・マップ 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

Page 42: キャッシュ・メモリの 高性能化と低消費電力化

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

動的可変ラインサイズ・キャッシュー評価結果-

Page 43: キャッシュ・メモリの 高性能化と低消費電力化

発表手順1. キャッシュのいろは2. 高性能化技術

動的可変ラインキャッシュ3. 低消費電力化技術

ウェイ予測キャッシュ(とその後) タグ比較省略キャッシュ(とその後)

4. まとめと今後の課題

Page 44: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリの消費エネキャッシュ・メモリの消費エネルギールギー

平均メモリ・アクセス・エネルギー(平均メモリ・アクセス・エネルギー( AMAAMAEE ))AMAE=HitEnergy + (MissRate×MissEnergy)AMAE=HitEnergy + (MissRate×MissEnergy)– HitEnergyHitEnergy :キャッシュにヒットした場合の消費:キャッシュにヒットした場合の消費

エネルギーエネルギー– MissRateMissRate :キャッシュのミス率:キャッシュのミス率

MissRate=MissRate= ミス回数/メモリ・アクセス回数ミス回数/メモリ・アクセス回数

– MissPenaltyMissPenalty :キャッシュにミスした際に,主記:キャッシュにミスした際に,主記憶から所望の命令/データを取得してくるのに要憶から所望の命令/データを取得してくるのに要するエネルギーするエネルギー

Page 45: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリの低消費エキャッシュ・メモリの低消費エネルギー化ネルギー化AMAE=HitEnergy + (MissRate×MissEnergy)AMAE=HitEnergy + (MissRate×MissEnergy)

ヒット Ene の削減ヒット Ene は,

キャッシュ・サイズ 連想度

等で決まる

ミス率の削減ミス率は,

キャッシュ・サイズ ブロック・サイズ 連想度

等で決まる

ミス Ene の低減ミス Ene は,

主記憶( DRAM )アクセスに要するエネルギー

キャッシュ-主記憶間データ転送に要するエネルギー

等で決まる

Page 46: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・サイズと消費エネルキャッシュ・サイズと消費エネルギーギー

P. Shivalumar and N. Jouppi, “CACTI3.0: An Integrated Cache Timing, Power, and Area Model,” WRL Research Report 2001/2

傾向:キャッシュ・サ傾向:キャッシュ・サイズの増加と伴に消費イズの増加と伴に消費エネルギーは大きくなエネルギーは大きくなるる

理由:ビットラインや理由:ビットラインやワードラインの負荷容ワードラインの負荷容量が大きくなるため量が大きくなるため

Page 47: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ連想度と消費エネルギキャッシュ連想度と消費エネルギーー

P. Shivalumar and N. Jouppi, “CACTI3.0: An Integrated Cache Timing, Power, and Area Model,” WRL Research Report 2001/2

傾向:キャッシュ連想度の傾向:キャッシュ連想度の増加と伴に消費エネルギー増加と伴に消費エネルギーは大きくなる(特に、キャは大きくなる(特に、キャッシュ・サイズが小さい場ッシュ・サイズが小さい場合)合)

理由:タグビット数の増加理由:タグビット数の増加によるワードライン負荷容によるワードライン負荷容量の増加、ビットライン・量の増加、ビットライン・プリチャージ回路の負荷増プリチャージ回路の負荷増大、など大、など

Page 48: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリと低消費エネルキャッシュ・メモリと低消費エネルギー化ギー化ートレード・オフーートレード・オフー

AMAE=HitEnergy + (MissRate×MissEnergy)AMAE=HitEnergy + (MissRate×MissEnergy)

ヒット時間低ヒット時間低減減 ミス率削減ミス率削減 ミス・ペナルティ低ミス・ペナルティ低

減減

キャッシュ・サイズキャッシュ・サイズは?は? 小さく!小さく!

ブロック・サイズは?ブロック・サイズは? ????

連想度は?連想度は? 小さく!小さく! ??

Page 49: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリの低消費エキャッシュ・メモリの低消費エネルギー化ネルギー化AMAE=HitEnergy + (MissRate×MissEnergy)AMAE=HitEnergy + (MissRate×MissEnergy)

ヒット Ene の削減ヒット Ene は,

キャッシュ・サイズ 連想度

等で決まる

ミス率の削減ミス率は,

キャッシュ・サイズ ブロック・サイズ 連想度

等で決まる

ミス Ene の低減ミス Ene は,

主記憶( DRAM )アクセスに要するエネルギー

キャッシュ-主記憶間データ転送に要するエネルギー

等で決まる

Page 50: キャッシュ・メモリの 高性能化と低消費電力化

キャッシュ・メモリと低消費エネルキャッシュ・メモリと低消費エネルギー化ギー化ートレード・オフーートレード・オフー

AMAE=HitEnergy + (MissRate×MissEnergy)AMAE=HitEnergy + (MissRate×MissEnergy)

ヒット時間低ヒット時間低減減 ミス率削減ミス率削減 ミス・ペナルティ低ミス・ペナルティ低

減減

キャッシュ・サイズキャッシュ・サイズは?は? 小さく!小さく! 大きく!大きく! ----

ブロック・サイズは?ブロック・サイズは? ???? (ある程(ある程度)大きく!度)大きく! 小さく!小さく!

連想度は?連想度は? 小さく!小さく! ?? 大きく!大きく! ----

:相反する要求(トレードオフが必要):相反する要求(トレードオフが必要)

Page 51: キャッシュ・メモリの 高性能化と低消費電力化

低消費エネルギー化技術 -キャッシュ消費エネルギー (1/6) ー

構造的アプローチ水平方向への分割:

Cache subbanking [Su95],[Kamble97]Region-based caching [Lee2000]Specialized Stack Cache [Huang2001]

従来型 Subbanking

for Stackfor

Othersfor Global

Region-based

Page 52: キャッシュ・メモリの 高性能化と低消費電力化

低消費エネルギー化技術 -キャッシュ消費エネルギー (2/6) ー

構造的アプローチ垂直方向への分割:

Block buffering [Su95],[Kamble97]Filter cache [Kin97]L0 Cache [Bellas99]Loop Cache [Bellas98]Split Loop Cache [Jayapala2001]

従来型

CPU

本アプローチ

CPU

(デコード前と後)

Page 53: キャッシュ・メモリの 高性能化と低消費電力化

低消費エネルギー化技術 -キャッシュ消費エネルギー (3/6) ー

構造的アプローチ静的 / 動的領域への分割:

Decompressor [Ishihara2000]S-Cache [Panwar95]Scratch-pad Memory

従来型

CPU

本アプローチ

CPUReplaceReplace

No-Replace

アクセス頻度の高いデータ

Page 54: キャッシュ・メモリの 高性能化と低消費電力化

低消費エネルギー化技術 -キャッシュ消費エネルギー (4/6) ー

動作的アプローチキャッシュ・サイズや連想度の動的変更:

Selective cache ways [Albonese99]Selective ways+sets [Yang2001]

連想度    1        2       4サイズ     n/4 n/2 n

Selective cache ways

Page 55: キャッシュ・メモリの 高性能化と低消費電力化

低消費エネルギー化技術 -キャッシュ消費エネルギー (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 ウェイ

Page 56: キャッシュ・メモリの 高性能化と低消費電力化

低消費エネルギー化技術 -キャッシュ消費エネルギー (6/6) ー

動作的アプローチタグ比較の省略:

Inter-line tag-comparison [Panwar95]History-based tag-comparison [Inoue2002]

Page 57: キャッシュ・メモリの 高性能化と低消費電力化

低消費エネルギー化技術 -リプレイス時の消費エネルギー (1/2) ー

バス・コーディングBus-invert coding [Stan95]Address-bus encording [Benini97]

キャッシュ - 主記憶間バスでの消費エネルギー削減

命令スケジューリング [Tomiyama98]

enc

ode

r

dec

ode

r

MainMemory

Cache MainMemory Cache

バス・コーディング 命令スケジューリング

アドレス・バスの並び替え クロストークによる影響を最小化 [Shin2001]

Page 58: キャッシュ・メモリの 高性能化と低消費電力化

低消費エネルギー化技術 -リプレイス時の消費エネルギー (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

サブアレイ

Page 59: キャッシュ・メモリの 高性能化と低消費電力化

低消費エネルギー化技術 - DRAM リフレッシュ消費エネルギーー

データの生存区間を考慮したリフレッシュ制御Selective refresh scheme [Ohsawa98]

DRAM 動作モード制御OS によるページ配置管理 [Lebeck2000]コンパイラや HW による制御 [Delaluz2000], [Delaulz2001]

Page 60: キャッシュ・メモリの 高性能化と低消費電力化

ウェイ予測セット・アソシアティブウェイ予測セット・アソシアティブキャッシュ・アーキテクチャキャッシュ・アーキテクチャ

MainMemory

Time Energy

Cache

Time EnergyCMR

10% 70%従来型 4 ウェイ SA キャッシュと比較

Page 61: キャッシュ・メモリの 高性能化と低消費電力化

ウェイ予測アクセス方式従来型(N)段階型(P) ウェイ予測型(WP)

M: 連想度

従来型 段階型 ウェイ予測型ヒット ミス 予測ヒット 予測ミス

読み出されるタグ数 M M M 1 M読み出されるライン数 M 1 0 1 M所要クロック数 1 2 1 1 2

Page 62: キャッシュ・メモリの 高性能化と低消費電力化

WP キャッシュ -内部構成ー

Status Tag Line

Access Control

ウェイ予測フラグ

way0 way1 way2 way3

2bits

ウェイ予測回路

MUX Drive

Tag Index OffsetReference-Address

Page 63: キャッシュ・メモリの 高性能化と低消費電力化

実験的評価 ー性能と消費エネルギ (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

Page 64: キャッシュ・メモリの 高性能化と低消費電力化

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

Page 65: キャッシュ・メモリの 高性能化と低消費電力化

ウェイ予測キャッシュウェイ予測セット・アソシアティブ・キャッシュの提案

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)

Page 66: キャッシュ・メモリの 高性能化と低消費電力化

適応型ウェイ予測キャッシュ

従来型(N)段階型(P) ウェイ予測型(WP)高速/高消費電力 低速/低消費電力 高速/低消費電力 低速/高消費電力

要求性能に応じて動作モードを動的に変更

Page 67: キャッシュ・メモリの 高性能化と低消費電力化

適応型ウェイ予測キャッシュ

日立 0.18 プロセス( VDEC) で設

計中

(第 4回 IP アワード・チャレンジ賞受賞)

分岐予測技術を活用した適応型 WP キャッシュの設計セット毎に 2 ビット飽和カウンタを実装ウェイ予測結果に基づきカウンタを更新カウンタ値に基づき動作モードを選択

MPEG ソフトウェア向け適応型 WP キャッシュロード / ストア・クリティカリティに基づく適応型WP キャッシュ

3 2

10

正しい予測

正しい予測

正しい予測

間違った予測

3 2

10

正しい予測

正しい予測

正しい予測

間違った予測

Page 68: キャッシュ・メモリの 高性能化と低消費電力化

ヒストリ・ベース・タグ比較キャッシュヒストリ・ベース・タグ比較キャッシュアーキテクチャアーキテクチャ

MainMemory

Time Energy

Cache

Time EnergyCMR

30% サブバンキング手法を用いた従来型 DM キャッシュと比較

Page 69: キャッシュ・メモリの 高性能化と低消費電力化

従来型ダイレクト・マップ・キャッシュ

Tag LineTag Index Offset

タグメモリ データメモリメモリ参照アドレス

Hit? Word Data

MUX

Ecache = Edecode + Esram + Eio

Esram_tag + Esram_data

Page 70: キャッシュ・メモリの 高性能化と低消費電力化

従来型キャッシュにおけるタグ比較

事実 1 :命令キャッシュのヒット率は極めて高い→キャッシュ内容の更新は稀にしか発生しない

事実 2 :プログラムはループ構造に基づく→多くの命令は繰り返し実行される

キャッシュの内容は変更されていないにも関わらず同一命令へのアクセス時、毎回タグ比較を実行

キャッシュの内容は変更されていないにも関わらず同一命令へのアクセス時、毎回タグ比較を実行

時刻

Miss! Miss!命令 A

参照

タグ比較

命令 A参照

タグ比較

キャッシュ・ミス・インターバルキャッシュ・ミス・インターバル

命令 A参照

タグ比較

命令 A参照

タグ比較

命令 A参照

タグ比較

Page 71: キャッシュ・メモリの 高性能化と低消費電力化

無駄なタグ比較はどの程度存在するのか?

キャッシュ・ミス・インターバル当たりの平均アクセス回数(100回まで)

16 KB ダイレクト・マップ命令キャッシュ( 32B ラインサイズ)

Page 72: キャッシュ・メモリの 高性能化と低消費電力化

HBTCキャッシュ 

時刻

Miss! Miss!命令 A

参照命令 A

参照

タグ比較

命令 A参照

タグ比較

動的に無駄なタグ比較処理を検出・削除することで低消費エネルギー化を実現

ある命令を参照する時、•当該命令が過去に参照された実績があり、かつ、• その時から現在に至るまで一度もキャッシュ・

ミスが発生していない

ある命令を参照する時、•当該命令が過去に参照された実績があり、かつ、• その時から現在に至るまで一度もキャッシュ・

ミスが発生していない場合にはタグ比較処理を省略可能(ヒット)場合にはタグ比較処理を省略可能(ヒット)

Page 73: キャッシュ・メモリの 高性能化と低消費電力化

タグ比較省略条件の動的判定方法

A?

1. 時刻Tにおける命令ブロックAの参照命令ブロックAの実行履歴を残すための足跡フラグをセット

$

2. キャッシュ・ミス発生時、全ての足跡フラグをリセット

実行履歴(実行の足跡)を記録

3. 時刻T+Xにおいて、命令ブロックAを再び参照する時に対応する実行足跡をチェック

A $実行足跡が残っていればタグ比較処理を省略

Page 74: キャッシュ・メモリの 高性能化と低消費電力化

HBTCキャッシュ・アーキテクチャ 

Not-taken

I-$

タグ比較省略信号

Target Instruction Block

実行足跡フラグ設定用アドレス

実行足跡フラグ

分岐命令アドレス 分岐先アドレス

分岐先アドレス

BTB

T

分岐命令アドレス

PBAreg(Previous Branch Addr. Reg)

分岐命令アドレス

PC

F

分岐予測結果

分岐予測結果

モード制御回路

Page 75: キャッシュ・メモリの 高性能化と低消費電力化

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 アクセス分岐予測ミス検出

全ての実行足跡フラグをリセット全ての実行足跡フラグをリセット

Page 76: キャッシュ・メモリの 高性能化と低消費電力化

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)

評価 -消費エネルギーと性能ー

Page 77: キャッシュ・メモリの 高性能化と低消費電力化

評価 -実行足跡無効化ペナルティが与える影

響ー

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

Page 78: キャッシュ・メモリの 高性能化と低消費電力化

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 連想度が与える影響ー

Page 79: キャッシュ・メモリの 高性能化と低消費電力化

ヒストリ・ベース・タグ比較キャッシュ

ヒストリ・ベース・タグ比較・キャッシュの提案

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)

Page 80: キャッシュ・メモリの 高性能化と低消費電力化

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

Page 81: キャッシュ・メモリの 高性能化と低消費電力化

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

Page 82: キャッシュ・メモリの 高性能化と低消費電力化

評価ー実験結果ー

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

Page 83: キャッシュ・メモリの 高性能化と低消費電力化

評価ー 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

Page 84: キャッシュ・メモリの 高性能化と低消費電力化

評価ーキャッシュ連想度が消費エネルギーに与える影

響ー

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

Page 85: キャッシュ・メモリの 高性能化と低消費電力化

発表手順1. キャッシュのいろは2. 高性能化技術

動的可変ラインキャッシュ3. 低消費電力化技術

ウェイ予測キャッシュ(とその後) タグ比較省略キャッシュ(とその後)

4. まとめと今後の課題

Page 86: キャッシュ・メモリの 高性能化と低消費電力化

まとめまだまだキャッシュ・メモリの研究はこれ

から!

• 特性の異なるメモリ領域を複数個用意• (物理的には 1 つのメモリ・アレイでもOK)

• プログラムの特性(特に局所性)に応じてこれらを効率良く使い分ける

ヒット率の向上によるメモリウォール問題の解決動的 /静的消費電力の削減

多くの技術に共通する事は。。。

Page 87: キャッシュ・メモリの 高性能化と低消費電力化

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.

Page 88: キャッシュ・メモリの 高性能化と低消費電力化

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.

Page 89: キャッシュ・メモリの 高性能化と低消費電力化

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.

Page 90: キャッシュ・メモリの 高性能化と低消費電力化

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.

Page 91: キャッシュ・メモリの 高性能化と低消費電力化

Back Up Slides

Page 92: キャッシュ・メモリの 高性能化と低消費電力化

低消費エネルギー化技術(おまけ) -レジスタ・ファイルー

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

Page 93: キャッシュ・メモリの 高性能化と低消費電力化

低消費エネルギー化技術(おまけ) -命令 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