3次元積層マイクロプロセッサ
3次元積層マイクロプロセッサ
〜解決すべき課題と将来展望〜
九州⼤学 井上こうじ
九州⼤学 井上 うじ
(inoue@ait.kyushu-u.ac.jp)
1世の中いたる所で3D・・・
なぜ3次元積層なのか?
半導体も2Dから3Dの世界へ!
半導体も2Dから3Dの世界へ!
•
複数のダイを同⼀パッケージに集積
•
ダイ間を貫通ビア(Through Silicon Via:TSV)
で接続
Wire-bonding (WB) 3D stacking
(S tem in P k ge o SiP)
TSV
TSV
(System-in-Package or SiP)
Multi-Level 3DIC
Package-on-Package (POP) 3D stacking
Sensor IO
AnalogRF
3
Source: Yuan Zie, “3D IC Design/Architecture,” Coolchips Special Session, 2009
g
g (
)
g
DRAM Processor
「3次元積層デバイス」の時代到来
「3次元積層デバイス」の時代到来
ISSCCʼ09
Image Sensor(MIT)
SRAM for SoCs(NEC)
Source: EMC-3D Technical Symposium
8Gb 3D DRAM(Samsung) SRAM+Multicore(Keio Univ ) 8Gb 3D DRAM(Samsung) SRAM+Multicore(Keio Univ.)
U. Kang et al., “8Gb DDR3 DRAM Using Through-Silicon-Via Technology,” ISSCCʼ09.
H. Saito et al., “A Chip-Stacked Memory for On-Chip SRAM-Rich
4
, p y p
SoCs and Processors, “ ISSCCʼ09.
V. Suntharalingam et al., “A 4-Side Tileable Back Illuminated 3D-Integrated Mpixel CMOS Image Sensor,” ISSCCʼ09.
K. Niitsu et al., “An Inductive-Coupling Link for 3D Integration of a 90nm CMOS Processor and a 65nm CMOS SRAM,” ISSCCʼ09.
3次元積層の「うれしさ」
〜配線⻑削減による⾼性能/低消費電⼒化〜
•
送受信モジュール間の物理的な距離を短縮
–
「⻑い配線の負荷容量」を「TSV負荷容量」に置換え
–
得に,グローバル配線において効果⼤(mm→um)
•
フットプリント⾯積を削減
•
フットプリント⾯積を削減
–
クロック信号や電源ラインなどの配線⻑を削減
2次元実装IC
53次元積層の「うれしさ」
〜チップ集積による⾼性能/低消費電⼒化〜
⾯と⾯の接続によるバンド幅拡⼤
•
⾯と⾯の接続によるバンド幅拡⼤
–
Intel: 80個のプロセッサ・コア+SRAM間
1)•
1TB/Sのバンド幅で接続
•
1TB/Sのバンド幅で接続
–
HRI: プロセッサ+カスタム回路+SDRAM
2)•
プロセッサーカスタム回路間:1,056個のTSVで接続
,
•
カスタム回路ーSRAM間:278個のTSVで接続
•
伝送路の負荷容量削減による低レイテンシ/低消費電⼒化
–
I/Oピンや基板配線の駆動が不要に!
1)インテル:http://www.intel.com/pressroom/archive/releases/20060926corp_b.htm 2)⽇経マイクロデバイス2008年2⽉ 63次元積層の「うれしさ」
種ダ
積
⾼機能化
〜異種ダイの積層による⾼機能化〜
•
製造プロセスの異なるダイを低コストで積層
–
従来のSiP
従来のSiP
–
TSVを⽤いることでダイ間を⾼バンド幅で接続可能
•
従来にない新しい応⽤の可能性
•
従来にない新しい応⽤の可能性
•
SRAM/DRAM以外の選択肢(例:不揮発性メモリの積層
など)
73次元積層の「うれしさ」
低
化
〜更に,低コスト化までも・・・〜
100
100
100
imes)i
100
古いプロセスを⽤い
ることでコスト削減
も可能に!!
10
ement (t iFine Process
10
も可能に!!
1
e I m pr ov e1
Power Consumption
1
rfo rm an ceStacking
微細化に頼らない⾼集積化
0.1
Process node (nm)
Pe r180 130 90 65 45 32 22 15 12
g
0.1
Process node (nm)
N.Miyakawa,”3D Stacking Technology for Improvement of System
3次元積層マイクロプロセッサ・
ア キテクチャ
アーキテクチャ
3次元積層デバイスへの期待
観点
〜アーキテクチャの観点から〜
プロセッサコアやメモリそのものの積層
•
プロセッサコアやメモリそのものの積層
•
マルチコア+マルチコア
いわゆる メニ コア化
–
いわゆる,メニーコア化
•
マルチコア(メニーコア)+メモリ
⼤容量メモリの積層による「メモリーウォール問題」の解決(SRAM
–
⼤容量メモリの積層による「メモリーウォール問題」の解決(SRAM,
DRAMなど)
–
新デバイス(MRAMなど)の積層による⾼性能化/低消費電⼒化/不揮発
/
/
性の活⽤
•
マルチコア+アクセラレータ
–
⽤途の絞り込みによる加速実⾏の実現(専⽤ASIC,再構成可能ハード
ウェア,ASIP,演算器アレイなど)
実⾏効率を向上
–
実⾏効率を向上
103
次元積層化のポイントは?
〜「配線⻑短縮」と「オンチップ化」〜
Divide & Stack
Design Reuse 3D Communicati on Example Wire Length Reduction On‐Chip IntegrationSubsystem High Chip •Core‐on‐Core
Subsystem •Multi‐Processor •Processor+Large‐Memory •Processor+Accelerator, •Etc High Chip Interconnect Core on Core •Cache‐on‐Core •Main‐Mem.‐on‐Core •Accelerator‐on‐Core
√
√
Etc. Module •CPU Core •Cache M i M Mid. Global/Local wires •ALU‐on‐ALU •Cache Bank‐on‐Bank •RF‐on‐ALU√
•Main Memory •Etc. Functional Unit Block (FUB) •Memory Array Low Global/Local wires •Mem. Array Splitting •ALU Splitting√
y y •ALU, RF, Issue Queue •Etc. p g •RF Splitting •Issue Queue Splitting√
Gate almost no reuse Global/Local wires •Gate Splitting√
11 reuse wires√
3
次元積層化のポイントは?
〜「配線⻑短縮」と「オンチップ化」〜
Divide & Stack
Design Reuse 3D Communicati on Example Wire Length Reduction On‐Chip IntegrationSubsystem High Chip •Core‐on‐Core
Subsystem •Multi‐Processor •Processor+Large‐Memory •Processor+Accelerator, •Etc High Chip Interconnect Core on Core •Cache‐on‐Core •Main‐Mem.‐on‐Core •Accelerator‐on‐Core
√
√
Etc. Module •CPU Core •Cache M i M Mid. Global/Local wires •ALU‐on‐ALU •Cache Bank‐on‐Bank •RF‐on‐ALU√
•Main Memory •Etc. Functional Unit Block (FUB) •Memory Array Low Global/Local wires •Mem. Array Splitting •ALU Splitting√
y y •ALU, RF, Issue Queue •Etc. p g •RF Splitting •Issue Queue Splitting√
Gate almost no reuse Global/Local wires •Gate Splitting√
12 reuse wires√
FUBレベルの3次元積層
FUBレベルの3次元積層
•
その狙いは?
その狙いは?
–
フットプリント⾯積の削減
–
Module/FUB内部の配線⻑短縮による低レイテンシ/
低消費電⼒化
フットプリント面積の削減
L3アクセスの低レイテンシ/低消費電力
CPU
CPU
Core
L3
Cache
CPU
Core
L3
Cache
L3
CPU
Core
L3
Cache
L3アクセスの低レイテンシ/低消費電力
CPU
Core
Core
Cache
Core
L3
Cache
Core
Cache
2次元実装
3次元積層
(C h
C
)
3次元積層
(Bank on Bank)
(Cache‐on‐Core)
(Bank‐on‐Bank)
13キャッシュ・メモリを分割&積層する!
デ
次
〜ベースモデル:2次元キャッシュ〜
rWord Line
Bit Line
r r r1MB 4‐way Set‐Associative Cache
Bank0
WL Dec&DBank1
WL Dec&DBank2
WL Dec&DBank3
WL Dec&DMux&SA Mux&SA Mux&SA Mux&SA
Pre Dec.
Address
ela
y
(ns)
& Dr Mux&SA & Dr Mux&SA & Dr Mux&SA & Dr Mux&SAOutput
D
e
Bank4
WL Dec &Bank5
WL Dec &Bank6
WL Dec &Bank7
WL Dec & Y. Tsai, F. Wang, Y. Xie, N. Vijaykrishnan, and M. J. Irwin, “Design Space Exploration for 3‐D Cache,” IEEE Trans. On VLSI Systems, vol.16, No.4, Apr. 2008. 14キャッシュ・メモリを分割&積層する!
バ
積
〜バンク同⼠を積層する〜
1MB 4
S t A
i ti
C h
rWord Line
Bit Line
r1MB 4‐way Set‐Associative Cache
Bank2
W L Dec&DrBank3
W L Dec&DrBank0
WL Dec&DBank1
WL Dec&D W Mux&SA W Mux&SA Mux&SA Mux&SA Pre Dec.Address
ela
y
(ns)
?
Mux&SA Mux&SA & Dr Mux&SA & Dr Mux&SAOutput
D
e
後述するDWLと同程度
の効果と予想される
Bank6
WL Dec&DrBank7
WL Dec&DrBank4
WL Dec &Bank5
WL Dec & K. Ruttaswamy and G. H. Loh, “Implementing Caches in a 3D Technology for High Performance Processors,” ICCD’05 15キャッシュ・メモリを分割&積層する!
〜
メモリアレイをWL⽅向に分割して積層する
〜
1MB 4‐way Set‐Associative Cache
1MB 4 way Set Associative Cache
r r r rWord Line
Bit Line
2D‐BASE
W L Dec&Dr W L Dec&Dr W L Dec&Dr W L Dec&Dr WL Dec&D WL Dec&D WL Dec&D WL Dec&D3D‐DWL
W W W Wela
y
(ns)
Address
Pre Dec. D r D r D r D rD
e
& Dr & Dr & Dr & DrOutput
WL Dec& D WL Dec& D WL Dec& D WL Dec& D WL Dec & WL Dec & WL Dec & WL Dec &アドレス/データ線
の短縮効果大!
Y. Tsai, F. Wang, Y. Xie, N. Vijaykrishnan, and M. J. Irwin, “Design Space Exploration for 3‐D Cache,” IEEE Trans. On VLSI Systems, vol.16, No.4, Apr. 2008. Nx×Ny Nx:3次元方向へのWB分割数 Ny:3次元方向へのBL分割数16キャッシュ・メモリを分割&積層する!
output
〜
メモリアレイをWL/BL⽅向に分割して積層する
〜
1MB 4‐way Set‐Associative Cache
1.4 1.6 p SA BL WL-charge WL driver
1MB 4 way Set Associative Cache
2D‐BASE
3D‐DWL
3D‐DBL (BL分割)
(2 wafers)
3D‐DBL
1 1.2n
S)
WL_driver decoder predec_driver(2 wafers)
3D‐DWL
(4 wafers)
3D‐DWL
(8 wafers)
(4 wafers)
0.6 0.8De
la
y
(
n
(8 wafers)
0.2 0.4 0 1x1 MLBS 2x1 1x2 4x1 2x2 1x4 8x1 4x2 2x4 1x83D P titi
i
(N *N )
アクセス消費エネルギ
3D Partitioning (Nx*Ny)
Y. Tsai, F. Wang, Y. Xie, N. Vijaykrishnan, and M. J. Irwin, “Design Space Exploration for 3‐D Cache,” IEEE Trans. On VLSI Systems, vol.16, No.4, Apr. 2008.アクセス消費エネルギー
も同時に削減
17レジスタファイルを分割&積層する!
プ
〜3つのアプローチ〜
•
レジスタ分割:エントリを複数グループに分割し積層
•
レジスタ分割:エントリを複数グル プに分割し積層
–
ビットラインの短縮効果
•
ビット分割:上位/下位ビットに分割し積層(WL短縮)
/
–
ワードラインの短縮効果
•
ポート分離:ポート(WL+BL)を分離し積層(bit/⾯積縮⼩)
–
ビット/ワードラインの短縮効果(ただし,TSV⾯積コスト⼤)
Reg. Partitioned
Bit Partitioned
Port Split
K. Puttaswamy and G. H. Loh, “Implementing Register Files for High‐Performance Microprocessors in a Die‐Stacked (3D) Technology,” ISVLSI’06.
その他のモジュール/FUBを
割 積
分割&積層する!
Thermal Herding
Least significant
16 bits (15:0)
Thermal Herding
16 bits (31:16)
16 bits (47:32)
16 bits (63:48)
19•Kiran Puttaswamy and Gabriel H. Loh, “Thermal Herding: Microarchitecture Techniques for Controlling Hotspots in High‐Performance 3D‐Integrated Processors ,” HPCA 2007
•B. Vaidyanathan., W‐L. Hung, F. Wang, Yuan Xie, N. Vijaykrishnan, M. J. Irwin.“Architecting Microprocessor Components in 3D Design Space,” VLSID 2007
Case Study: Alpha 21364の場合
ど
次 積
〜どのように3次元積層するか?〜
全てのFUBを3次元実装(と仮定)
•
全てのFUBを3次元実装(と仮定)
–
フットプリント⾯積が1/2に!
–
各FUBのレイテンシ短縮
F
2D t 3D
From 2D to 3D
Xie, G. H. Loh, B. Black, and K. Bernstein, “Design Space Exploration for 3D Architectures,” ACM Journal on Emerging Technologies in Computing Systems, Vol.2, Nu.2, April 2006. 20Case Study: Alpha 21364の場合
〜どの程度,性能(IPC×F)が向上するのか?〜
FUBの3次元化により動作周波数
を向上(フットプリント面積削減)
2層3次元積層によりFUBの機
能拡大(エントリ数増等)
2層 4層 4層 2層 クラスタ単位 で積層 で積層 Xie, G. H. Loh, B. Black, and K. Bernstein, “Design Space Exploration for 3D Architectures,” ACM Journal on Emerging Technologies in Computing Systems, Vol.2, Nu.2, April 2006. 21Case Study: Pentium4の場合
ど
次 積
〜どのように3次元積層するか?〜
•
複数FUBを積層しパイプラインステージを25%削減
複数FUBを積層しパイプラインステ ジを25%削減
–
DL1とFU→load-to-use遅延を削減
–
RFとFP→FP実⾏までの遅延を削減
•
FUBを分割積層しレイテンシを削減
–
UL2キャッシュ
性能は15%程度向上 かつ 消費電⼒を25%削減
•
性能は15%程度向上,かつ,消費電⼒を25%削減
Xie, G. H. Loh, B. Black, and K. Bernstein, “Design Space Exploration for 3D Architectures,” ACM Journal on Emerging Technologies in Computing Systems, Vol.2, Nu.2, April 2006. 22モジュール/FUBレベルの3D化は有効か?
モジュ ル/FUBレベルの3D化は有効か?
分割積層による実装⾯積(⽴ 床⾯積) 削減
•
分割積層による実装⾯積(⽴て床⾯積)の削減
–
⼤きな効果あり
•
配線⻑削減による速度向上と低消費電⼒化
多くの場合で効果は限定的(e g 10〜20%の改善)
–
多くの場合で効果は限定的(e.g. 10〜20%の改善)
–
主記憶やキャッシュといった「規則的構造を有し,か
つ 潜在的にグロ バル配線がクリテ カルになる場
つ,潜在的にグローバル配線がクリティカルになる場
合」は効果あり
•
「3Dによりもたらされるブレークスルー」はどこ
にあるのか?→
On-Chip 3D Integration!
p
g
233
次元積層化のポイントは?
〜「配線⻑短縮」と「オンチップ化」〜
Divide & Stack
Design Reuse 3D Communicati on Example Wire Length Reduction On‐Chip IntegrationSubsystem High Chip •Core‐on‐Core
Subsystem •Multi‐Processor •Processor+Large‐Memory •Processor+Accelerator, •Etc High Chip Interconnect Core on Core •Cache‐on‐Core •Main‐Mem.‐on‐Core •Accelerator‐on‐Core
√
√
Etc. Module •CPU Core •Cache M i M Mid. Global/Local wires •ALU‐on‐ALU •Cache Bank‐on‐Bank •RF‐on‐ALU√
•Main Memory •Etc. Functional Unit Block (FUB) •Memory Array Low Global/Local wires •Mem. Array Splitting •ALU Splitting√
y y •ALU, RF, Issue Queue •Etc. p g •RF Splitting •Issue Queue Splitting√
Gate almost no reuse Global/Local wires •Gate Splitting√
24 reuse wires√
そもそも,マイクロプロセッサの進化は
「
グ
「インテグレーション」による!
Intel 4004 (1971)
Intel 486 (1989)
Intel 4004 (1971)
Intel 486 (1989)
2,300個の
トランジスタを
数値演算コプロセッサと
Intel Pentium D (2005)
,
個
ラ
タを
集積
数値演算 プ セッサと
キャッシュメモリを集積
Intel Test Chip (2007)
Intel Pentium D (2005)
Intel Test Chip (2007)
80個のプロセッサ
コア
を1つのダイに
2個のプロセッサコアを
1つのパッケージに集積
コア
を1つのダイに
集積
出展: http://ja.wikipedia.org/wiki/Intel_486, http://ascii24.com/news/i/tech/article/2005/05/27/655984‐000.html, http://www.intel.com/museum/online/hist_micro/hof/index.htm, http://techresearch.intel.com/articles/Tera‐Scale/1421.htm1つのパッケ ジに集積
25インテグレーションが成功するには?
インテグレ ションが成功するには?
•
マイクロプロセッサのお仕事は?
•
マイクロプロセッサのお仕事は?
–
プログラム(ソフトウェア)を「効率よく」実⾏
•
インテグレーションの効果を発揮するには?
ソフトウェアの特性を考慮する事が重要
–
ソフトウェアの特性を考慮する事が重要
ス
成功例:キャッシュメモリの場合
Program
モ
リアドレ
ス
Processor時間
メ
モ
Cache頻繁に参照されるメモリ領域を
多くのプログラムは
「メモリ参照の時間/空間局所性」が有る!!
頻繁に参照されるメモリ領域を
キャッシュメモリに保存
26アーキテクチャ屋としての「⾯⽩さ」はどこに?
3次元積層の光と影:「素朴な疑問」
から⾒るア キテクチャ アプロ チ
キ
ャ
」
から⾒るアーキテクチャ・アプローチ
273次元積層マイクロプロセッサに関
「素朴 疑
考
する「素朴な疑問」を考えてみる
1. ⼤容量キャッシュ積層は本当に得策か?
1. ⼤容量キャッシュ積層は本当に得策か?
2. ⾼メモリバンド幅の活⽤は本当に得策か?
主 憶 積
3. 主記憶を積層してL2$は必要か?
4 MRAMの積層は本当に得策なのか?
4. MRAMの積層は本当に得策なのか?
5. 発熱は問題にならないのか?
28素朴な疑問その1
〜⼤容量キャッシュ積層は本当に得策か?〜
平均メモリアクセス時間:AMAT
L1キャッシュの
アクセス時間[cc]
L1キャッシュ
ミスの割合
L2キャッシュの
アクセス時間[cc]
L2キャッシュ
ミスの割合
主記憶の
アクセス時間[cc]
平均メモリアクセス時間:AMAT
MMAT
)
MR
HT
(
MR
HT
AMAT
L
1
L
1
L
2
L
2
アクセス時間[cc]
ミスの割合
アクセス時間[cc]
ミスの割合 アクセス時間[cc]
DRAMスタック
法の効果
(?)
32MB DRAM
Cache
29ベースプロセッサ(2次元実装)
DRAMスタック法(3次元実装)
⼤容量化によるL2ミス削減効果は
プ
アプリによって異なる!
LU
50
60
Sensitive!
Insensitive!
FFT
40
50
s
[%]
Insensitive!
Ocean
30
M
iss
Ra
te
s
Sensitive!
Sensitive!
Cholesky
FMM
S
i l
10
20
L2
M
Insensitive!
Insensitive!
Barnes
Raytrace
WaterSpatial
0
2MB
4MB
8MB
16MB
32MB
64MB
128MB
302MB
4MB
8MB
16MB
32MB
64MB
128MB
L2 Size
L2ミス削減効果は実⾏中にも変化する!
ミス削減効果 実⾏中 も変化する
2MB(12cc)
32MB(60cc)
Ocean
300
350
c]
200
250
ナ
ルティ
[c
c
100
150
1
ミスペ
ナ
0
50
1
6
1
6
1
6
1
6
1
6
1
6
1
6
1
6
1
6
1
6
1
L
1
6
1
1
1
6
2
1
6
2
3
1
3
6
4
1
4
6
1
5
5
6
6
1
6
6
7
1
7
6
8
1
8
6
9
1
9
6
10
1
区間
L1ミスペナルティ HT
L2+MR
L
2×MMAT
(300cc)
適したキャッシュ容量:大
適
キ
容量
31L1ミスペナルティ=HT
L2+MR
L
2×MMAT
適したキャッシュ容量:小
その結果 メモリ性能が低下することも!
その結果,メモリ性能が低下することも!
172.mgrid
LU
大容量DRAM
Profit
5
LU
171.swim
FMM
大容量DRAM
の3次元積層
4
3
Ocean
181 mcf
2
181.mcf
Cholesky
256.bzip2
WaterSpatial
従来の
2次元実装
1
0
100
100
50
0
188.ammp
Barnes
FFT
179.art
100
80
60
40
20
0
L2 Miss Rate Reduction[points]
200
150
100
HT
L2_OVERHEAD
[clock cycles]
300.twolf
301.apsi
32L2 Miss Rate Reduction[points]
SRAM/DRAMハイブリッド・
キャッシュ
2つの動作モ ドをサポ ト
•
2つの動作モードをサポート
–
「⾼速かつ⼩容量」なSRAMキャッシュ・モード
–
「低速かつ⼤容量」なDRAMキャッシュ・モード
•
実⾏プログラムが要求するメモリ容量に応じて動作モード選択
実⾏プログラムが要求するメモリ容量に応じて動作モ ド選択
•
⾼性能化と低消費電⼒化を同時に達成可能!
32MB DRAM
Cache
32MB DRAM
Cache
33 橋口慎哉, 小野貴継, 井上弘士, 村上和彰, “3次元DRAM‐プロセッサ積層実装を対象としたオンチップ・メモリ・アーキテクチャの提案と評価,”情報処理学 会研究報告, Vol. 2009‐ARC‐183, No.16, 2009年4月.性能評価結果
2D‐SRAM
DRAM‐STACK
HYBRID‐IDEAL
HYBRID
性能評価結果
1 6
1.8
2
3.02
1.2
1.4
1.6
A
T
0.6
0.8
1
AM
A
0
0.2
0.4
ベンチ
クプ グラム
ベンチマークプログラム
34素朴な疑問その2
〜⾼メモリバンド幅の活⽤は本当に得策か?〜
マイクロプロセッサと主記憶の1チップ化
•
マイクロプロセッサと主記憶の1チップ化
–
キャッシュ-主記憶間のデータ転送能⼒が劇的に向上
–
ミス・ペナルティの増加を伴う事無くラインサイズ(ブ
ロックサイズ)を拡⼤可能
平均メモリアクセス時間 = キャッシュヒット時間+ミス率×ミスペナルティ
ミスペナルティ = DRAMアクセス時間+ラインサイズ/バンド幅
DRAM
Main Memory
Mem. BW: →
Li
Si
↗
Mem. BW: ↗
Li
Si
↗
LineSize: ↗
MissPenalty: ↗
35LineSize: ↗
MissPenalty: →
着⽬するソフトウェア特性(その1)
〜最適ラインサイズはアプリによって異なる〜
•
⾼オンチップメモリバンド幅を積極活⽤するには?
–
キャッシュ・ラインサイズ(ブロックサイズ)を拡⼤
•
その効果は?
–
アプリケーションが有する「メモリ参照の空間局所性
の度合い」に⼤きく依存
の度合い」に⼤きく依存
14 0
104 hydro2d
ate
14 0
ate
099 go
14.0
12.0
10.0
8.0
104.hydro2d
072.sc
052.alvinn
Miss
R
a
14.0
12.0
10.0
8.0
Miss
R
a
134.perl
099.go
6.0
4.0
2.0
0 0
B
L1D$
6.0
4.0
2.0
0 0
B
L1D$
B tt
360.0
16 32 64 128 256
16K
B
(%)
Line Size [byte]
0.0
16 32 64 128 256
16K
B
(%)
Line Size [byte]
Better
着⽬するソフトウェア特性(その2)
〜最適ラインサイズは実⾏中にも変化する〜
16KB Direct Mapped Cache w/ 128B Lines
Cache 16KB Direct‐Mapped Cache w/ 128B Lines 128Bブロックのロード Cache プロセッサが2つの 32Bブロックを参照 Cache 128Bブロックの追出し
高い空間局所性
低い空間局所性
Ref. Sublines == 2
37可変ラインサイズ・キャッシュ
•
プログラム特性に応じてDRAMーキャッシュ間データ転送
可変ラインサイズ キャッシュ
プログラム特性に応じてDRAM キャッシュ間デ タ転送
量(ラインサイズ)を⾃動調整
–
メモリ参照の空間局所性の度合いを静的または動的にモニタリング
–
メモリ参照の空間局所性の度合いを静的または動的にモニタリング
–
ラインサイズを動的もしくは静的に決定
SRAM Cache
SRAM C h
SRAM Cache
SRAM Cache
SRAM Cache
SRAM Cache
DRAM
必要となるメモリバンド幅
高
低
消費するエネルギー
高
低
DRAM
38 動的可変ラインサイズ・キャッシュ:K. Inoue, K. Kai, and K. Murakami, ``Dynamically Variable Line‐Size Cache Exploiting High On‐Chip Memory Bandwidth of Merged DRAM/Logic LSIs,‘‘ HPCA‐5, 1999. 静的可変ラインサイズ・キャッシュ:T. Ono, K. Inoue, K. Murakami, and K. Yoshida, “Reducing On‐Chip DRAM Energy via Data Transfer Size Optimization,” IEICE Tran. on Electronics, 2009.どの程度,⾼性能化と低消費エネ
ギ 化 実
16KB Fix128 (Direct)
16KB Fi 128 (4
)
ルギー化を実現できるのか?
)
1.5
1 0
1 13
16KB Fix128 (4way)
32KB Fix128 (Direct)
16KB D‐VLS128‐32 (Direct)
d
AMA
T
ccess
Time
)
1.0
0.5
0.82
0.83
1.13
1.00
N
ormaliz
ed
e.
Mem.
A
c
B
ette
B
ette
• ダイレクトマップ方式の
高速アクセス
ラインサイズによる
0.0
1 0
N
(A
ve
y)
rr
•
128Bラインサイズによる
プリフェッチ効果
• ラインサイズ縮小による
競合ミス回避
0 72
1.00
1.0
0.6
0.8
d
AMAE
cess
Ener
gy
競合ミス回避
• ミス率改善によるオフ
0.32
0.72
0.42
0.6
0.4
0.2
N
ormaliz
ed
Mem.
Ac
c
B
ette
r
B
ette
r
ミス率改善によるオフ
チップアクセス回数削減
• 小ラインサイズにより活
性化DRAMバンクを削減
0.0
N
(A
ve
.
rr
39素朴な疑問その3
主 憶 積
〜主記憶を積層してL2$は必要か?〜
L2(ラストレベル)キ
シ 導⼊の狙いは主記憶
•
L2(ラストレベル)キャッシュ導⼊の狙いは主記憶
アクセス回数の削減
–
主記憶のオンチップ化により効果減(!?)
–
現在のプロセッサでは「L2⾯積≈全コア⾯積」
現在
ッ
⾯積
ア⾯積」
•
L2⾯積を⽤いてコア数を増加可能と仮定すると・・
Stacked
Main Memory
Stacked
Main Memory
TLP : ↗
Freq :→
TLP : ↘
Freq :→
Freq. :→
Mem. Acc.: ↗
Freq. :→
Mem. Acc.: ↘
40性能モデル式による解析
性能モデル式による解析
•
L2未搭載マルチコアをベースとした性能⽐較
L2未搭載マルチコアをベ スとした性能⽐較
•
TLP活⽤効果 vs. メモリ性能インパクト
演算性能の低下
による実行ク
ク
メモリ性能の向上
による実行ク
ク
L2未搭載N
2
wL
m
N
CC
による実行クロック
サイクル数の増加
(≧1.0)
による実行クロック
サイクル数の減少
(≦1.0)
L2未搭載N
コア実行サ
イクル数
L2キャッシュ搭載「N‐m」コア
の実行時間(サイクル数)
Stacked
M i M
Stacked
Main Memory
Main Memory
Main Memory
簡易性能モデル式による解析
簡易性能モデル式による解析
並列化できる演算の割合
L2搭載により削減されるコア数
N
f
f
1
L2未搭載時のNコア実行
クロックサイクル数
L
MR
N
N
wL
m
N
r
k
CC
N
f
f
m
N
CC
2
2
1
1
N
f
L2未搭載時の
総プロセッサコア数
全コア実行時の全実行時間にしめる
主記憶アクセスによるストールの割合
(≦
)
L2キャッシュ搭載「N‐m」コア
の実行時間(サイクル数)
総プロセッサコア数
L2キャッシュ導入によるメモリ性
能改善率(≦1 0)
(≦1.0)
能改善率(≦1.0)
42N=8(最⼤コア数が8)の場合
ベ ス L2未搭載8コア(1 0)
コア数削減によるL2搭載
K
8
=0.5
(全実行時間の50%がメモリストール)K
8
=0.1
(全実行時間の10%がメモリストール)ベース:L2未搭載8コア(1.0)
コア数削減によるL2搭載
F=0.7
性能低下
1 1.5 2 2.0 1.5 1 0 実 行時間 1 1.5 2 2.0 1.5 1 0 実 行時間 6 7 0.2 0 0 0.5 1 1.0 0.5 0.0 相対 実 1 2 0 2 0.0 6 7 0 0.2 0 4 0 0.5 1 1.0 0.5 0.0 相対 実 1 2 0 2 0.0 0 1 2 3 4 5 6 0.4 0.6 0.8 1 1 2 3 4 5 6 7 8 1.0 0.80.6 0.40.2 0 1 2 3 4 5 6 0.4 0.6 0.8 1 1 2 3 4 5 6 7 8 1.0 0.80.6 0.40.2 1 1.5 2 2.0 1.5 1 0 実 行時間 1.5 2 2.0 1.5 行時間F=0.95
6 7 0.2 0 0 0.5 1 1.0 0.5 0.0 相対 実 1 2 0 2 0.0 7 0 2 0 0 0.5 1 1.0 0.5 0.0 相対実 0 0 0 1 2 3 4 5 6 0.4 0.6 0.8 1 1 2 3 4 5 6 7 8 1.0 0.80.6 0.40.2 0 1 2 3 4 5 6 7 0.2 0.4 0.6 0.8 1 0 0.0 1 2 3 4 5 6 7 8 1.0 0.80.6 0.40.2 0.0 43素朴な疑問その4
積
当 得策
〜MRAMの積層は本当に得策なのか?〜
SRAM
DRAM
MRAM
SRAM
DRAM
MRAM
Density
Low (4MB:44mm
2)
High (16MB: 49mm
2) High (16MB: 38mm
2)
Speed
Fast (4.659ns)
Slow (5.845ns)
Read: Fast (4.693ns)
Write: Very Slow (12.272ns)
Dynamic Energy /
operation
Low (0.103nJ)
Medium (0.381nJ)
Read: Low (0.102nJ)
Write: High (2.126nJ)
Leakage Power
High (5.20W)
Low (0.52W)
Low (0.97W)
Non‐Volatility
No
No
Yes
65nm
X. Dong, X. Wu, G. Sun, Y. Xie, H. Li, and Y. Chen, “Circuit and Microarchitecture Evaluation of 3D Stacking Magnetic RAM (MRAM) as a Universal Memory Replacement,” DAC’08.
シングルコア+MARM-L2キャッ
効
シュの効果は?
性能(
)に関し は⼤幅な改善無し
•
性能(IPC)に関しては⼤幅な改善無し
–
ワーキングセット・サイズが⼩さいため?
•
リーク消費電⼒の削減による効果⼤
4MB
16MB
16MB
(W)
IPC
SRAM DRAM MRAM
m
ic
Po
w
er
c
+
Dyna
m
St
at
ic
Alpha 21264 like processor (8way) @ 90nm X. Dong, X. Wu, G. Sun, Y. Xie, H. Li, and Y. Chen, “Circuit and Microarchitecture Evaluation of 3D Stacking Magnetic RAM (MRAM) as a Universal Memory Replacement,” DAC’08. 45アプリ特性によっては3Dにより性
能が低
能が低下する場合もある!
Performance
2MB 8MB 2MB 8MBPerformance
galgel, apsi
•若干の性能向上
他のベンチマーク
SRAM‐SNUCA MRAM‐SNUCA SRAM‐DNUCA MRAM‐DNUCA