3次元DRAM‐プロセッサ積層実装を
対象としたオンチップ・メモリ・
アーキテクチャの提案と評価
ア キテクチャの提案と評価
○橋口慎哉† 小野貴継†(現‡)
井上弘士‡ 村上和彰‡
井上弘士‡ 村上和彰‡
†九州大学大学院 システム情報科学府
‡九州大学大学院 システム情報科学研究院
‡九州大学大学院 システム情報科学研究院
発表手順
発表手順
究背景
• 研究背景
• 研究目的
研究目的
• ハイブリッド・キャッシュ・アーキテクチャ
• 評価実験
• まとめと今後の課題
まとめと今後の課題
研究背景
• 3次元実装技術
グ
バル配線長の削減 チ プ面積縮小
– グローバル配線長の削減、チップ面積縮小
– 異なるプロセスを経て製造されたダイ同士の積層
• プロセッサ・ダイとDRAMダイを積層することに
• プロセッサ・ダイとDRAMダイを積層することに
よりオンチップ・メモリの大容量化を実現可能
ウ
解決策
→メモリウォール問題の解決策
TSV(Through
Silicon Vias)
)
3 出典:米インテル社3次元実装によるキャッシュメモリの大容量化
• DRAMスタック法[Black MICRO’06]
– 従来の2次元実装プロセッサ(ベースプロセッサ)上に
3次元実装技術により大容量DRAMキャッシュを積載
– DRAMキャッシュのタグRAMとして数MBの容量が必
オフチップメモリアクセス回数削減
要
下層のSRAMをタグRAMとして使用
L2 Cache (DRAM) Core(s) + L1(s) L2 TagRAM (SRAM) L2 Cache (SRAM) Core(s) + L1(s)ベースプロセッサ(2次元実装)
DRAMスタック法(3次元実装)
DRAMスタック法の問題点
タック法の問題点
L1キャッシュの アクセス時間[cc] L1キャッシュ ミスの割合 L2キャッシュの アクセス時間[cc] L2キャッシュ ミスの割合 主記憶の アクセス時間[cc]MMAT
)
MR
HT
(
MR
HT
AMAT
L1
L1
L2
L2
[ ] [ ] [ ] DRAMスタック 法の効果 (?) 3.0 性能向上率 1.5 2.0 2.5性能向上
Oceanプ グラムによ ては
100 80 100 50 0 1.0 0 0.5性能低下
Choleskyプログラムによっては
性能が低下
20 60 40 100 80 150 200 100 0 L2キャッシュ アクセス時間の増加 L2キャッシュミス率の削減率 [cc] [points] 5キャッシュ容量とキャッシュミス率の関係
キャッシュ容量とキャッシュミス率の関係
60 大きく低 50 % ] あまり低下 しない 大きく低 下する FFT LU FMM 30 40 ュ ミス 率 [% 大きく低 下する FFT Ocean 20 30 キ ャッシ ュ 下する あまり低下 しない 大きく低 下する Cholesky Ocean 10 L2 キ あまり低下 しない 下する Cholesky Barnes WaterSpatial 0 2MB 4MB 8MB 16MB 32MB 64MB 128MB Raytrace Barnes L2キャッシュ容量プログラム実行中の
適したキ
シ 容量の変化
適したキャッシュ容量の変化
O
300 350 2MB(12cc) 32MB(60cc)Ocean
200 250 300 ル ティ [cc] 100 150 200 ミ スペナ ル 0 50 100 L 1 ミ 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 区間 (300 )適したキャッシュ容量:大
L1ミスペナルティ=HTL2+MRL2×MMAT (300cc)適したキャッシ 容量:大
適したキャッシュ容量:小
研究のねらい
研究のねらい
• 着眼点
着眼点
– 大容量DRAMキャッシュの活用により必ずしも性
能が向上するとは限らない
能が向上するとは限らない
– 適したキャッシュ容量はプログラム間、ならびにプ
グラム内 変化
ログラム内で変化
• 研究目的
研究目
– DRAMスタック法の問題点を解決したメモリ・アー
キテクチャの提案と評価
キテクチャの提案と評価
– 「大容量かつ低速キャッシュ」ならびに「小容量か
つ高速キャッシュ」を同一アーキテクチャで実現
つ高速キャッシュ」を同一アーキテクチャで実現
ハイブリッド・キャッシュ搭載プロセッサ
ハイブリッド キャッシュ搭載プロセッサ
• プログラム間(中)の適したキャッシュ容量の変化に応じ
て下層SRAMキャッシュの動作モードを切り替える
未使用 L2 L2 L2 Cache (DRAM) Core(s) Core(s) TagRAM (SRAM) Cache (SRAM) 切り替え キャッシュモード タグモード Core(s) + L1(s) Core(s) + L1(s) (高速かつ小容量L2キャッシュ) (低速かつ大容量L2キャッシュ) L2 Cache Cache L2 Cache (DRAM) Core(s) (SRAM) + L1(s)ハイブリッド・キャッシュ
ハイブリッド・キャッシュ実現への課題
ハイブリッド・キャッシュ実現への課題
• タグ情報のマッピング
• タグ情報のマッピング
– DRAMキャッシュのタグ情報はハイブリッド・キャッ
シュのデータアレイに格納
シュのデ タアレイに格納
– ハイブリッドキャッシュのライン数より多いDRAMの
タグ情報をどのようにマッピングするか?
タグ情報をどのようにマッピングするか?
• ハードウェア・サポート
ブ
ド キ
タグ情報をど
う
– ハイブリッド・キャッシュ内のタグ情報をどのように
して読みだすか?
動作
ド
決定
ゴ ズム
• 動作モードの決定アルゴリズム
– いつ、何に基づき動作モードを決定するか?
タグ情報のマッピング
キャッシュ・モード時 データが格納される領域 デコ ダ タグ タグ デコーダ1 Way
1 W
キャッシュ・モード時 タグが格納される領域 2ウェイ・セットアソシアティブ SRAMキャッシュ1 Way
2ウェイ・セットアソシアティブ DRAMキャッシュ L2 Cache (DRAM) 11 L2 TagRAM (SRAM) Core(s) + L1(s)ビ ド 物 ド イ デ ク ド
通常のキャッシュ構成
64ビットアドレス(物理アドレス) インデックスフィールド タグフィールド オフセットフィールド IS 下層SARM(容量: ラインサイズ: LS 連想度: ) CS WS デコーダ L lg S I -L lg -64 S S ラインサイズ: LS 連想度:WS ) IS LS LS 64-lgLS-IS=
=
64-lg LS-IS LS I -L lg -64 S S.
MUX1=
=
1 1 LS.
.
Hit/Miss Data (SRAM) W ・ L C lg I S S S S 1 LS Hit/Miss (SRAM) W L C lg ID D ・ ビ ド 物 ド イ デ ク ド
ハードウェア・サポート
64ビットアドレス(物理アドレス) インデックスフィールド タグフィールド オフセットフィールド IS ID 下層SARM(容量: ラインサイズ: LS 連想度: ) CS WS デコーダ L lg S L lg D I -L lg -64 S S I -L lg -64 D D ラインサイズ: 連想度: ) 上層DARM(容量: ラインサイズ: LD 連想度: ) LS CD WD WS IS LS LS W L ・ C W L ・ C lg D D S S S D ・ ・ I -L lg -64 S S=
=
64-lg LS-IS ID LS I -L lg -64 S S I L g 6 S S MUX1=
=
MUX2 I -L lg -64 D D LD LD 1 1 LS I -L lg -64 D D I -L lg -64 D D 追加 HW.
MUX3=
Hit/Miss Data (SRAM)=
W ・ L C lg I S S S S I L lg 64 D D LD 1 1 1 L LS 追加 追加 追加 追加 HW. .
Hit/Miss (SRAM) Hit/Miss (DRAM) Data (DRAM) W L C lg I D D D D ・ 1 LD 追 HW 追 HW 追 HW 13ハイブリッド・キャッシュ搭載
プロセッサの利点・欠点
○
DRAMスタック法より高性能、もしくは同性能
– 高速小容量のL2キャッシュと低速大容量のL2
高速小容量のL2キャッシ と低速大容量のL2
キャッシュを選択的に活用
○
消費エネルギーの削減
○
消費エネルギ の削減
– キャッシュ・モード時、上層DRAMは動作しない
×
下層ダイの面積増加
×
下層ダイの面積増加
– マルチプレクサ等の追加→無視できる程に小さい
– 上層DRAMキャッシュに関するすべてのタグ情報
をハイブリッド・キャッシュに格納できない場合、メ
モリアレイを拡大する必要がある
モリアレイを拡大する必要がある
動作モードの切り替え
キャッシュ・ モ ド• 静的切り替え
40 50 ス 率 [%] FFT モード– プログラム実行前により高性
能な動作モードを決定する
プ グラム実行中に動作
10 20 30 2 キャッシュミ ス FMM Barnes タグ・モード– プログラム実行中に動作
モードの切り替えは行わな
い
0 2MB 4MB 8MB 16MB 32MB 64MB 128MB L2 L2キャッシュ容量 Barnes キャッシュ・• 動的切り替え
Ocean L2キャッシュ容量 モード 2MB(12cc) 32MB(60cc)– プログラム実行中に動作
モードを切り替える
200 300 400 ルティ [cc] タグ・モード– 動作モード切り替えタイミン
グの決定はプログラム実行
前・実行中のいずれか
0 100 200 1 9 7 5 3 1 9 7 5 3 1 9 7 L 1 ミスペナ前 実行中のいずれか
1 9 1 7 25 33 41 49 75 65 73 81 89 97 区間 キャッシュ・ モード評価実験~評価対象モデル~
評価実験
評価対象 デル
L2 Data Cache (DRAM) L2 Cache (SRAM) Core(s) + L1(s) Core(s) + L1(s) L2 TagRAM (SRAM) (DRAM)2D‐BASE
(=ベースプロセッサ)
3D‐CONV
+ L1(s) (SRAM)( ベ スプロセッサ)
(=DRAMスタック法)
h 未使用 L2 L2 Data Cache (DRAM) L2 L2 TagRAM (SRAM) Core(s) + L1(s) Core(s) + L1(s) L2 Cache (SRAM)静的切り替え:
3D‐HYBRID‐STATIC
16評価実験~実験環境~
プロセ サシミ レ タ
• プロセッサシミュレータ:M5
• ベンチマークプログラム:SPEC CPU 2000 、Splash2から選択
• 評価対象
• 評価対象
– 2D‐BASE
– 3D‐CONV
どちらのモードが高性能となる か実行前に既知であるとする– 3D‐HYBRID‐STATIC
– 3D‐HYBRID‐DYNAMIC
• 評価指標:AMAT
切り替える適切なタイミングは既 知とし、かつ切り替えによるオー バーヘッドはなしと仮定 オンチップ• 評価指標:AMAT
オンチップ2D‐BASE
キャッシュ・モード
3D‐CONV
タグ・モード
L1 コア L1 コア 容量:32KB アクセス時間:1clock cycle L2 キャッシュ L2 キャッシュ 容量:2MB アクセス時間: 12clock cycles 容量:32MB アクセス時間: 60 clock cycles 主記憶 17 アクセス時間:300clock cycles 主記憶 y y評価実験~実験結果~
評価実験
実験結果
2D‐BASE 3D‐CONV 3.5 4 3D‐HYBRID‐STATIC 3D‐HYBRID‐DYNAMIC 2 2.5 3 能 向上比 0 0.5 1 1.5 性 能 0 ベンチマークプログラム評価実験~実験結果~
評価実験
実験結果
2D‐BASE 3D‐CONV L2 Cache (SRAM) Core(s) + L1(s) Core(s) + L1(s) L2 TagRAM (SRAM) L2 Cache (DRAM) 3.5 43D‐HYBRID‐STATIC 3D‐HYBRID‐DYNAMIC 2D‐BASE (SRAM)3D‐CONV
2 2.5 3 能 向上比 0 0.5 1 1.5 性 能 0 ベンチマークプログラム
3D‐CONVで性能が低下するプログラムが複数存在する
評価実験~実験結果~
2D‐BASE 3D‐CONV 2D‐BASE L2 Cache (SRAM)+ L1(s)Core(s) Core(s) + L1(s) L2 TagRAM (SRAM) L2 Cache (DRAM) L2 TagRAM (SRAM) L2 Cache (DRAM) Core(s) + L1(s) Core(s) + L1(s) 未使用 L2 Cache (SRAM) 3.5 43D‐HYBRID‐STATIC 3D‐HYBRID‐DYNAMIC2D BASE 3D‐CONV (SRAM)静的切り替え:3D‐HYBRID‐STATIC(SRAM)
2 2.5 3 能 向上比 0 0.5 1 1.5 性 能 0 ベンチマークプログラム
3D‐CONVで性能が低下するプログラムは3D‐
評価実験~実験結果~
2D‐BASE 3D‐CONV 2D‐BASE L2 Cache (SRAM)+ L1(s)Core(s) Core(s) + L1(s) L2 TagRAM (SRAM) L2 Cache (DRAM) L2 TagRAM (SRAM) L2 Cache (DRAM) Core(s) + L1(s) Core(s) + L1(s) 未使用 L2 Cache (SRAM) 3.5 43D‐HYBRID‐STATIC 3D‐HYBRID‐DYNAMIC2D BASE 3D‐CONV (SRAM)静的切り替え:3D‐HYBRID‐STATIC(SRAM)
2 2.5 3 能 向上比 0 0.5 1 1.5 性 能 0 ベンチマークプログラム 21
2D‐BASEや3D‐CONVと比較して3D‐HYBRID‐DYNAMICの性
能が大きく向上するプログラムがいくつか存在する
評価実験~実験結果~
L2 Cache 2D‐BASE 3D‐CONV L2 TagRAM (SRAM) L2 Cache (DRAM) Core(s) + L1(s) Core(s) + L1(s) 未使用 L2 Cache (SRAM) L2 TagRAM (SRAM) L2 Cache (DRAM) Core(s) + L1(s) Core(s) + L1(s) 未使用 L2 Cache (SRAM) 静的切り替え:3D HYBRID STATIC 3.5 43D‐HYBRID‐STATIC 3D‐HYBRID‐DYNAMIC静的切り替え:3D‐HYBRID‐STATIC (SRAM)静的切り替え:3D‐HYBRID‐STATIC(SRAM)
2 2.5 3 能 向上比 0 0.5 1 1.5 性 能 0 ベンチマークプログラム