136
3 次次次次次次次次次次 次次次次次次次次次次次次 次次次次次次次 次次次次 次次次次次 [email protected] 1

3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

  • Upload
    ezhno

  • View
    156

  • Download
    0

Embed Size (px)

DESCRIPTION

3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ. 九州大学  井上こうじ ( [email protected] ). More Than Moore を目指して. なぜ 3 次元積層なのか ?. Wire-bonding (WB) 3D stacking (System-in-Package or SiP). Package-on-Package (POP) 3D stacking. 半導体も 2D から 3D の世界へ !. 複数のダイを同一パッケージに集積 - PowerPoint PPT Presentation

Citation preview

Page 1: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層が可能にする次世代マイクロプロセッサ・アーキテクチャ

九州大学 井上こうじ( [email protected]

1

Page 2: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

なぜ 3 次元積層なのか ?More Than Moore を目指して

2

Page 3: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

半導体も 2D から 3D の世界へ !• 複数のダイを同一パッケージに集積• ダイ間を貫通ビア( Through Silicon Via:TSV )で接続

3

Source: Yuan Zie, “3D IC Design/Architecture,” Coolchips Special Session, 2009

Wire-bonding (WB) 3D stacking (System-in-Package or SiP)

Package-on-Package (POP) 3D stacking

TSV

Multi-Level 3D IC

SensorIO

AnalogRF

DRAMProcessor

Page 4: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

「 3 次元積層デバイス」の時代が到来

Source: EMC-3D Technical Symposium

4

Image Sensor ( MIT )

SRAM for SoCs ( NEC )

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 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.

ISSCC’09

Photo

Photo

PhotoPhoto

Page 5: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層の「うれしさ」~配線長削減による高性能 / 低消費電力化~• 送受信モジュール間の物理的な距離を短縮

– 「長い配線の負荷容量」を「 TSV 負荷容量」に置換え– 得に,グローバル配線において効果大( mm→um )

• フットプリント面積を削減– クロック信号や電源ラインなどの配線長を削減

2 次元実装 IC5

Page 6: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層の「うれしさ」~高いオンチップメモリバンド幅の実現~

• 面と面の接続によるバンド幅拡大– Intel: 80 個のプロセッサ・コア+ SRAM 間 1)

• 1TB/S のバンド幅で接続– HRI: プロセッサ+カスタム回路+ SDRAM2)

• プロセッサーカスタム回路間: 1,056 個の TSV で接続• カスタム回路- SRAM 間: 278 個の TSV で接続

• 「メモリ・ウォール問題」の有望な解決策

1) インテル: http://www.intel.com/pressroom/archive/releases/20060926corp_b.htm2) 日経マイクロデバイス 2008 年 2月

6

0 1 2 3 4 5 6 7 80

1

2

3

4

プロセッサコア数

性能

向上

Cholesky

Perfect L2 cache(100% ヒット )

1MB L2 cache

Page 7: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層の「うれしさ」~異種ダイの積層による高機能化~

• 製造プロセスの異なるダイを低コストで積層– 従来の SiP– TSV を用いることでダイ間を高バンド幅で接続可

能• 従来にない新しい応用の可能性• SRAM/DRAM 以外の選択肢(例:不揮発性メモリの積層

など)

7

Page 8: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

インテグレーションがもたらすマイクロプロセッサの進化

マイクロプロセッサ発展の歴史を振り返る

8

Page 9: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

「インテグレーション」が可能にしたマイクロプロセッサの進化

出展: 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.htm

Intel Pentium D (2005)

2個のプロセッサコアを 1 つのパッケージに集積

Intel 4004 (1971)

2,300 個のトランジスタを集積

Intel 486 (1989)

数値演算コプロセッサとキャッシュメモリを集積

Intel Test Chip (2007)

80 個のプロセッサコアを 1 つのダイに集積

9

Photo Photo

PhotoPhoto

Page 10: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

Program

インテグレーションが成功するには ?• マイクロプロセッサのお仕事は ?

– プログラム(ソフトウェア)を「効率よく」実行• インテグレーションの効果を発揮するには ?

– ソフトウェアの特性を考慮する事が重要

時間

メモ

リア

ドレ

Processor

Cache

多くのプログラムは「メモリ参照の時間 / 空間局所性」が

有る !!

頻繁に参照されるメモリ領域を

キャッシュメモリに保存

成功例:キャッシュメモリの場合

10

Page 11: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層プロセッサに関する 4つの素朴な疑問

3 次元積層の利点と欠点

11

Page 12: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

素朴な疑問その 1~大容量キャッシュ積層は本当に得策か ? ~

12

MMAT)MRHT(MRHTAMAT LLLL 2211

L1 キャッシュの

アクセス時間[cc]

L1 キャッシュ

ミスの割合

L2 キャッシュの

アクセス時間[cc]

L2 キャッシュ

ミスの割合

主記憶のアクセス時間

[cc]

DRAM スタック法の効果

(?)

ベースプロセッサ(2次元実装) DRAMスタック法(3次元実装)

32MB DRAMCache

平均メモリアクセス時間: AMAT

Page 13: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

大容量化による L2 ミス削減効果はアプリによって異なる !

13

2MB 4MB 8MB 16MB 32MB 64MB 128MB0

10

20

30

40

50

60

Cholesky

FFT

LU

Barnes

FMM

Ocean

Raytrace

WaterSpatial

L2 Size

L2 M

iss R

ates

[%]

Sensitive!

Sensitive!

Sensitive!

Insensitive!

Insensitive!Insensitive!

Page 14: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

その結果,メモリ性能が低下することも !

14

2060

40

100 80150

200

10050

0

0

1.0

0

1.5

3.0

2.0

2.5

0.5

L2 キャッシュアクセス時間の増加L2 キャッシュミス率の削減率 [cc]

性能向上

性能低下

メモリ性能向上率

[points]

Ocean

Cholesky

従来の2 次元実装

大容量 DRAMの 3 次元積層

Page 15: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

素朴な疑問その 2~高メモリバンド幅の活用は本当に得策か ? ~• マイクロプロセッサと主記憶の 1 チップ化

– キャッシュ-主記憶間のデータ転送能力が劇的に向上– ミス・ペナルティの増加を伴う事無くラインサイズ

(ブロックサイズ)を拡大可能

CoreL1

DRAMMain Memory

Mem. BW: →LineSize: ↗MissPenalty: ↗

15

平均メモリアクセス時間 = キャッシュヒット時間+ミス率 × ミスペナルティミスペナルティ = DRAM アクセス時間+ラインサイズ / バンド幅

CoreL1 Core

L1

CoreL1

Stacked Main Memory

Mem. BW: ↗LineSize: ↗MissPenalty: →

Page 16: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

ラインサイズ拡大効果はアプリによって異なる ! (性能が低下することも ! )

• 高オンチップメモリバンド幅を積極活用するには ?– キャッシュ・ラインサイズ(ブロックサイズ)を拡大

• その効果は ?– アプリケーションが有する「メモリ参照の空間局所性の度合い」に大きく依存

16

14.012.010.0

8.06.04.02.00.0

16 32 64 128 256

104.hydro2d072.sc

052.alvinn

16KB

L1D

$ M

iss

Rate

(%

)

Line Size [byte]

14.012.010.0

8.06.04.02.00.0

16 32 64 128 256

16KB

L1D

$ M

iss

Rate

(%

)

Line Size [byte]

134.perl099.go

Better

Page 17: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

素朴な疑問その 3~主記憶の積層は本当に得策か ? ~

• 3 次元積層 LSI の問題点はチップ温度上昇– チップ温度は消費電力に依存– 消費電力はプロセッサの動作周波数に依存

• 「プロセッサの最大動作周波数はチップ温度制約により決定」と仮定すると・・・

CoreL2 Cache

L1 L1

DRAMMain Memory

L2 Cache

CoreL1 L1

Stacked Main Memory

Tem. : ↘Freq. : ↗Mem. Stall: ↗

Tem. : ↗Freq. : ↘Mem. Stall: ↘

17

Page 18: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

アプリ特性によっては 3D 化により性能が低下する場合がある !

mcf ( Highly Memory Intensive )

動作周波数•2D: 約 2.9GHz•3D: 約 2.5GHz

平均命令実行時間•2D: 約 2.5•3D: 約 0.6 ( Better )

twolf ( Less Memory Intensive )

動作周波数•2D: 約 2.8GHz•3D: 約 2.4GHz

平均命令実行時間•2D: 約 0.35 ( Better )•3D: 約 0.41

G. L. Loi, B. Agrawal, N. Srivastava, S. Lin, T. Sherwood, and K. Banerjee, “A Thermally-Aware Performance Analysis of Vertically Integrated (3-D) Processor-Memory Hierarchy,” DAC’06.

18

Page 19: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

素朴な疑問その 4~主記憶を積層して L2$ は必要か ? ~

• L2 (ラストレベル)キャッシュ導入の狙いは主記憶アクセス回数の削減– 主記憶のオンチップ化により効果減( !? )– 現在のプロセッサでは「 L2 面積≈全コア面積」

• L2 面積を用いてコア数を増加可能と仮定すると・・

TLP : ↗Freq. :→Mem. Acc.: ↗

CoreSRAM L2$

Core

StackedMain Memory

TLP : ↘Freq. :→Mem. Acc.: ↘

CoreCore

CoreCore

StackedMain Memory

19

Page 20: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

0 1

2 3

4 5

6 7

0 0.2

0.4 0.6

0.8 1

0

0.5

1

1.5

22.0

1.5

1.0

0.5

0.0

相対

実行

時間

1 2 3 4 5 6 7 8 1.0 0.8 0.6 0.4 0.2 0.0搭載コア数( N-m )

メモリ性能改善率( r )

アプリが有する並列性とメモリ性能依存性により適切な構成は異なる !

F=0.7

K8=0.5 (全実行時間の 50% がメモリストール)K8=0.1 (全実行時間の 10% がメモリストール)

F=0.95

ベース: L2 未搭載 8 コア( 1.0 ) コア数削減による L2 搭載

性能低下

0 1

2 3

4 5

6 7

0 0.2

0.4 0.6

0.8 1

0

0.5

1

1.5

22.0

1.5

1.0

0.5

0.0

相対

実行

時間

1 2 3 4 5 6 7 8 1.0 0.8 0.6 0.4 0.2 0.0搭載コア数( N-m )

メモリ性能改善率( r )

0 1

2 3

4 5

6 7

0 0.2

0.4 0.6

0.8 1

0

0.5

1

1.5

2

2.0

1.5

1.0

0.5

0.0

相対

実行

時間

1 2 3 4 5 6 7 8 1.0 0.8 0.6 0.4 0.2 0.0搭載コア数( N-m )

メモリ性能改善率( r )

0 1

2 3

4 5

6 7

0 0.2

0.4 0.6

0.8 1

0

0.5

1

1.5

22.0

1.5

1.0

0.5

0.0

相対

実行

時間

1 2 3 4 5 6 7 8 1.0 0.8 0.6 0.4 0.2 0.0搭載コア数( N-m )

メモリ性能改善率( r )

20N=8 (最大コア数が 8 )の場合

Page 21: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

アプリケーション実行の振舞いの変化に適応する !~ HYBRID CACHE ARCHITECTURE ~

次世代 3D マイクロプロセッサへの道

21

Page 22: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

素朴な疑問その 1 (再)~大容量キャッシュ積層は本当に得策か ? ~

22

MMAT)MRHT(MRHTAMAT LLLL 2211

L1 キャッシュの

アクセス時間[cc]

L1 キャッシュ

ミスの割合

L2 キャッシュの

アクセス時間[cc]

L2 キャッシュ

ミスの割合

主記憶のアクセス時間

[cc]

DRAM スタック法の効果

(?)

ベースプロセッサ(2次元実装) DRAMスタック法(3次元実装)

32MB DRAMCache

平均メモリアクセス時間: AMAT

Page 23: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

着目するソフトウェア特性(その1)~ L2 ミス削減効果はアプリによって異なる~

23

2MB 4MB 8MB 16MB 32MB 64MB 128MB0

10

20

30

40

50

60

Cholesky

FFT

LU

Barnes

FMM

Ocean

Raytrace

WaterSpatial

L2 Size

L2 M

iss R

ates

[%]

Sensitive!

Sensitive!

Sensitive!

Insensitive!

Insensitive!Insensitive!

Page 24: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

着目するソフトウェア特性(その 2 )~ L2 ミス削減効果は実行中にも変化する~

24

1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 961010

50

100

150

200

250

300

350

2MB(12cc) 32MB(60cc)

区間

L1

ミス

ペナ

ルテ

ィ[c

c]

Ocean

L1 ミスペナルティ =HTL2+MRL2×MMAT( 300cc )適したキャッシュ容量:大

適したキャッシュ容量:小

Page 25: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

ハイブリッド・キャッシュ~ 3 次元積層 DRAM を適応的に活用する ! ~• ハイブリッド・キャッシュ・アーキテクチャの特徴

– 異なる 2 種類の動作モードをサポート– アプリケーションの要求メモリ容量に応じて動作モードを選択 !– 高性能化と低消費電力化を同時に達成可能 !

• 動作モード– SRAM キャッシュ動作モード:小容量&高速– DRAM キャッシュ動作モード:大容量&低速

25橋口慎哉 , 小野貴継 , 井上弘士 , 村上和彰 , “3 次元 DRAM‐ プロセッサ積層実装を対象としたオンチップ・メモリ・アーキテクチャの提案と評価 ,”情報処理学会研究報告 , Vol. 2009-ARC-183, No.16, 2009 年 4 月 .

(A) 2D SRAM L2 Cache(Base)

(B) 3D L2 DRAM Cache

Core(s)+ L1(s)

L2Tag

(SRAM)

32MB L2 Cache(DRAM)

2MB L2Cache

(SRAM)

Core(s)+ L1(s)

Small but first SRAM L2 Cache Mode

Slow but large DRAM L2 Cache Mode

Core(s)+ L1(s)

L2Tag

(SRAM)

32MB L2 Cache(DRAM)

Core(s)+ L1(s)

2MB L2Cache

(SRAM)

32MB L2 Cache(DRAM)

(C) 3D Proposed Hybrid Cache

Page 26: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

どの程度,性能向上を期待できるのか ?

26

00.5

11.5

22.5

33.5

4

性能向上比(1

/AM

AT)

ベンチマークプログラム

2D-BASE 3D-CONV

3D-HYBRID-STATIC 3D-HYBRID-DYNAMIC

適切な動作モードは既知実行中はモード切替無し

適切な動作モードは既知実行中もモード切替を実施

Better

Better

常に 3 次元積層 DRAM をL2 キャッシュとして活用

Page 27: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

アプリケーション実行の振舞いの変化に適応する !~ VARIABLE LINE-SIZE CACHE ARCHITECTURE ~

次世代 3D マイクロプロセッサへの道

27

Page 28: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

素朴な疑問その 2 (再)~高メモリバンド幅の活用は本当に得策か ? ~• マイクロプロセッサと主記憶の 1 チップ化

– キャッシュ-主記憶間のデータ転送能力が劇的に向上– ミス・ペナルティの増加を伴う事無くラインサイズ

(ブロックサイズ)を拡大可能

CoreL1

DRAMMain Memory

Mem. BW: →LineSize: ↗MissPenalty: ↗

28

平均メモリアクセス時間 = キャッシュヒット時間+ミス率 × ミスペナルティミスペナルティ = DRAM アクセス時間+ラインサイズ / バンド幅

CoreL1 Core

L1

CoreL1

Stacked Main Memory

Mem. BW: ↗LineSize: ↗MissPenalty: →

Page 29: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

着目するソフトウェア特性(その 1 )~最適ラインサイズはアプリによって異なる~

• 高オンチップメモリバンド幅を積極活用するには ?– キャッシュ・ラインサイズ(ブロックサイズ)を拡大

• その効果は ?– アプリケーションが有する「メモリ参照の空間局所性の度合い」に大きく依存

29

14.012.010.0

8.06.04.02.00.0

16 32 64 128 256

104.hydro2d072.sc

052.alvinn

16KB

L1D

$ M

iss

Rate

(%

)

Line Size [byte]

14.012.010.0

8.06.04.02.00.0

16 32 64 128 256

16KB

L1D

$ M

iss

Rate

(%

)

Line Size [byte]

134.perl099.go

Better

Page 30: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

着目するソフトウェア特性(その 2 )~最適ラインサイズは実行中にも変化する~

Cache

16KB Direct-Mapped Cache w/ 128B Lines

128Bブロックのロード

Cache

プロセッサが 2 つの 32Bブロックを

参照

Cache

128Bブロックの追出しRef. Sublines == 2

高い空間局所性 低い空間局所性

30

Page 31: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

可変ラインサイズ・キャッシュ~高メモリバンドを適応的に活用する ! ~

• プログラム特性に応じて DRAM ーキャッシュ間データ転送量(ラインサイズ)を自動調整–メモリ参照の空間局所性の度合いを静的もしくは動

的にモニタリング–ラインサイズを動的もしくは静的に決定

31

動的可変ラインサイズ・キャッシュ: 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.

必要となるメモリバンド幅高 低消費するエネルギー高 低

DRAM

SRAM Cache SRAM Cache SRAM Cache

Page 32: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

1.5

0.0

1.0

0.50.830.82

1.131.00

16KB Fix128 (Direct)16KB Fix128 (4way)32KB Fix128 (Direct)16KB D-VLS128-32 (Direct)

どの程度,高性能化と低消費エネルギー化を実現できるのか ?

0.32

0.720.42

1.001.0

0.0

0.60.40.2

0.8

Nor

mal

ized

AMAT

(Ave

. Mem

. Acc

ess

Tim

e)N

orm

alize

d AM

AE (A

ve. M

em. A

cces

s En

ergy

)

Better

Better

Better

Better

• ダイレクトマップ方式の高速アクセス

• 128B ラインサイズによるプリフェッチ効果

• ラインサイズ縮小による競合ミス回避

• ミス率改善によるオフチップアクセス回数削減

• 小ラインサイズにより活性化 DRAM バンクを削減

32

Page 33: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

次世代 3 次元積層プロセッサを目指して~集積,協調,そして適応する !! ~

• 3 次元集積を前提としたアーキテクチャの再構築• デバイス / アーキテクチャ技術の協調で互いの問題を解消• プログラム実行ならびにデバイス状態の変化に適応

3 次元実装デバイス

プロセッサ・アーキテクチャ(+コンパ

イラ)

アプリケーションプログラム

33

Page 34: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

実装からアプリケーションレベルまでの統合的な技術開発が必要 !!

34

半導体製造 / 実装技術( 3 次元積層など)

回路設計技術( Sub-Threshold 回路な

ど)

アーキテクチャ技術( CPU/ メモリ構成 , NOC

など)

コンパイラ /OS技術(自動並列化 , VM など)

プログラミング技術( API標準化 , Tuning な

ど)

応用技術( On-Line画像処理など)

ProgramProgram

ProgramProgram

StackedMain Memory

Many-CoreAccelerator

cccc

ccc

cccc

ccc

cccc

ccc

cccc

ccc

cccc

ccc

cccc

ccc

cccc

ccc

cccc

ccc

cccc

ccc

cccc

ccc

cccc

ccc

cccc

ccc

P

5x5 CROSSBAR

ARBITER

FIFO

FIFO

FIFO

FIFO

FIFOX+

X-

Y+

Y-

CORE

X+

X-

Y+

Y-

CORE

入力チャネル 出力チャネル

3) パケットを出力チャネルへ転送

GRANT

Page 35: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

謝辞• 本研究は,一部, NEDO若手グラント「エネルギー効率の最大化を目的とした適応型3次元マイクロプロセッサ・アーキテクチャの研究」による.

35

Page 36: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

Backup Slides

36

Page 37: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

マルチコア・プロセッサと3 次元積層への展開

九州大学 村上・井上・馬場研究室井上こうじ

[email protected]

37

Page 38: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

「富士通さま」との関係(井上こうじの場合)

• 富士通が「世界初」– 研究会発表( M1 時代 @1995 )– 教員になってからの共同研究– 社会人ドクターの指導– 大型プロジェクトのチームリーダー( PSI プロジェク

ト)• 富士通が「 No1 」

– 「井上研究室」出身の就職先• 40% が富士通に入社 ! (といっても 2/5 ですが・・・)

– 企業訪問回数(川崎+汐留)と TV会議回数(川崎)– 研究プロジェクトや学会活動を通して知合った方の数

38

Page 39: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

講演内容• マルチコア・プロセッサ

– コア・オーケストレーション実行• 3 次元積層マイクロプロセッサへの展開

– なぜ 3 次元積層なのか ?– 3 次元積層プロセッサ・アーキテクチャ– プロセッサ・コアと大容量キャッシュを積層する– プロセッサ・コアと大容量メモリを積層する– プロセッサ・コアと新メモリデバイスを積層する

• 今後の展開39

Page 40: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

講演内容• マルチコア・プロセッサ

– コア・オーケストレーション実行• 3 次元積層マイクロプロセッサへの展開

– なぜ 3 次元積層なのか ?– 3 次元積層プロセッサ・アーキテクチャ– プロセッサ・コアと大容量キャッシュを積層する– プロセッサ・コアと大容量メモリを積層する– プロセッサ・コアと新メモリデバイスを積層する

• 今後の展開40

Page 41: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

マルチコア向けコア・オーケストレーション実行

41

Page 42: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

「シングルコア」から「マルチコア」へ

• 現在の主流はマルチコア・プロセッサ– 2 ~ <10 個のコアを搭載– インテルテストチップでは 80 コア(メニーコア)

• その理由は ?– コア数に比例した性能向上(を期待できる)– 低動作周波数を維持→消費電力削減へ– 高い設計容易性

Sun Niagara

8 processors

Intel Core Duo

2 processors

42

Page 43: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

Core 0

Core 1

Core 2

Core 3

マルチコア・プロセッサでのプログラム実行方式

• 1つのチップ上に複数のプロセッサコアを搭載• 同時に複数のコアで実行することにより性能向

並列プログラ

ム複数のスレッドに分割

プログラム1

プログラム2

プログラム3

プログラム4

並列処理マルチプログラミング

Core 0

Core 1

Core 2

Core 3

43

Page 44: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

• コア同士の「助け合い実行」を実現1. 各コアの HW 特性ならびにプログラム実行の振舞いをプログラム実行前 / 実行時に観測

2. 収集した情報に基づきボトルネック箇所 /原因を特定(性能,消費電力,信頼性など)

3. ボトルネックを解消するようコア間で協調実行

「集積」「協調」そして「適応」する !

~コア・オーケストレーション実行~

Core 0

Core 1

Core 2

Core 3

Core 4

Core 5

Core 6

Core 7

従来型 8 並列実行

Core 0

Core 1

Core 2

Core 3

Core 4

Core 5

Core 6

Core 7

従来型 6 並列実行 +2 サポート実行44

Page 45: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

アムダールの法則(を思い出そう)

• 高性能化を実現するには ?1. F (並列実行可能部分)を大きくする !2. 逐次実行時間を短縮する !3. 並列実行時間を F/N に近づける !

Amdahl’s Speedup =+ F

N

1

ParallelExecution

1 ー F1

SequentialExecution

45

Page 46: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

なぜ並列実行性能が低下するのか ?• メモリウォール問題

– プロセッサ-主記憶間の速度差拡大– マルチコアでは更に深刻化

• 逐次実行部分でも問題

マイクロプロセッサの性能

(主記憶として使用される)DRAMアクセス時間

35%/year

55%/year

7%/year

出典: J.L.Hennessy, D.A.Patterson, “Computer Architecture: A Quatitative Approach 3rd Edition”

0 1 2 3 4 5 6 7 8012345678

実行プロセッサコア数

性能

向上

Barnes

Perfect L2 cache(100% ヒット )

1MB L2 cache

0 1 2 3 4 5 6 7 80

0.51

1.52

2.53

3.54

実行プロセッサコア数

性能

向上

CholeskyPerfect L2 cache(100% ヒット )

1MB L2 cache

46

Page 47: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

• コアを用途に応じて使い分け– アプリ実行用(メインコア)– メモリ性能向上用(ヘルパーコア)

• 演算 / メモリ性能のバランスを考慮して各コア数を決定– 敢えて演算性能を低下してでもトータル性能を向上 !

演算 / メモリ性能バランシング

0 1 2 3 4 5 6 7 80

0.51

1.52

2.53

3.54

実行プロセッサコア数

性能

向上

Cholesky

Perfect L2 cache(100% ヒット )

1MB L2 cache

Core 0

Core 1

Core 2

Core 3

Core 4

Core 5

Core 6

Core 7

6.9%

本研究の狙い

メモリ性能向上用

アプリ実行用

47

Page 48: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

ヘルパーコア導入によりなぜマルチコア性能が向上するのか ?

• 2 つのヘルパーコア実現法– SW プリフェッチャ実行→投機的に参照データをロード !– メモリ貸与→見かけ上のオンチップ・メモリ容量を増加 !

• ポイント:如何に最適なヘルパーコア数を決定するか ?

48

Series1 ヘルパーコア数( N :搭載している総コア数)

1 N-1

プロ

グラ

ム実

行時

演算に要する時間

メモリ参照に要する時間

実行時間を最小にするヘルパーコア数が存

在 !! ヘルパーコアによりオフチップ・メモリアクセス回数を削減→ メモリ性能を向

上メインコア数が少なくなるため

並列実行効果が低減→ 演算性能が低下

ヘルパーコア数を増やすと・・・

Page 49: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

ヘルパーコアをどう実現するか ?

~共有 L2 キャッシュ搭載型マルチコア~

49

•ソフトウェア・プリフェッチャを実行–あえて活用可能なスレッ

ドレベル並列性を低下–その分メモリ性能を向上

•動的性能バランシング–繰返し実行される並列

化部分に着目–実行中に適切なヘル

パーコア数を決定

Helper Threads(SW Prefetcher)

MainCore

D$ I$

Shared L2 Cache

Main Memory

MainCore

D$ I$

MainCore

D$ I$

MainCore

D$ I$

HelperCore

D$ I$

HelperCore

D$ I$

MainCore

D$ I$

並列アプリケーション

ヘルパースレッド( SW プリフェッチャ)

Prefetching

演算性能が不足する場合

メモリ性能が不足する場合

Page 50: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

ハードウェア / ソフトウェア・サポート

• “Miss State Buffer (MSB)” の導入• Linux-OS によるヘルパースレッドの実行

50

MainCore

D$ I$

Shared L2 Cache

Main Memory

HelperCore

D$ I$MSB

MainCore

D$ I$ MSB MSB

HelperCore

D$ I$ MSB

PC Ref. Addr. Core IDPC Ref. Addr. Core IDPC Ref. Addr. Core IDPC Ref. Addr. Core IDPC Ref. Addr. Core ID

Miss information by snooping

To Processor

Miss!!

while (true) { 1.miss_info = msb.addr; 2.pref = predict(miss_info); 3.prefetch(pref); }

Page 51: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

ヘルパースレッドの動作

1. Miss Status Buffer からキャッシュミス情報を取得– Miss Status Buffer が空であれば待機

2. メモリ参照アドレスの予測–ハードウェアプリフェッチャの模倣

3. プリフェッチ命令の実行

while (true) {1. miss_info = msb.addr;2. pref = predict(miss_info);3. prefetch(pref); }

51

ヘルパースレッドが実行するコードStride , Marcov ,

Delta correlation ,…

Page 52: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

• 逐次実行部– 1 スレッドでのみ実行可能なプログラムコード部分

• 並列実行部– 複数スレッドで実行可能なプログラムコード部分

• 並列実行部インスタンス– 並列実行部の1回の実行分

並列プログラムに関する用語の定義

並列実行部 並列実行部

逐次実行部 逐次実行部 逐次実行部

52

ループ

Page 53: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

1 20 39 58 77 96 11513415317219102468 並列実行部

A並列実行部 B並列実行部 C並列実行部D最

適な

メイ

ンコ

ア数

1 8 15 22 29 36 43 50 57 64 71 78 85 92 9902468

最適

なメ

イン

コア

1 4 7 10 13 16 19 22 25 2802468

実行回数

最適

なメ

イン

コア

最適なコア配分の変化

53

BT

UA

MG

並列実行部インスタンス毎にコア配分を変更し実行

並列実行部毎にコア配分を変更し実行

すべての並列実行部を同じコア配分で実行

Page 54: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

• シミュレータ: CMP シミュレータ  M5• ベンチマークプログラム: Nas Parallel

Benchmark 3.3

L2 共有キャッシュ

共有バス

コア 0

L1D$ L1I$MSB … …コア 2

L1D$ L1I$MSB

コア 7L1D$ L1I$MSB

評価環境

主記憶

サイズ : 32KBレイテンシ :

1cc

サイズ : 20 エントリ

レイテンシ : 1cc

サイズ : 1MBレイテンシ :

12cc

レイテンシ : 300cc

バス幅: 16B動作周波数: CPU動作周波数の

1/4 54

ストライドプリフェッ

チヘルパーコアメインコア

Page 55: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

評価モデル• 従来方式

– BASE• すべてのコアで並列プログラムを実行

• 提案方式– PB-STATIC-OPT

• すべての並列実行部を同一のコア配分で実行• 最適なコア配分は既知

– PB-DYN-EXH• 全探索法を用いてコア配分を決定

– PB-DYN-HILL• ヒルクライミング法を用いコア配分を決定

– PB-DYN-OPT• 各並列実行部について最適なコア配分で実行 55

Page 56: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

BT CG FT IS LU MG UA0

0.20.40.60.8

11.21.41.61.8

2BASE PB-STATIC-OPT PB-DYN-EXH PB-DYN-HILL PB-DYN-OPT

BASE

モデ

ルか

らの

性能

向上

提案方式による性能向上

56

8:0

5:3

6:27:1 7:1

6:2

7:1ヘルパーコア数

メインコア数

Page 57: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

講演内容• マルチコア・プロセッサ

– コア・オーケストレーション実行• 3 次元積層マイクロプロセッサへの展開

– なぜ 3 次元積層なのか ?– 3 次元積層プロセッサ・アーキテクチャ– プロセッサ・コアと大容量キャッシュを積層する– プロセッサ・コアと大容量メモリを積層する– プロセッサ・コアと新メモリデバイスを積層する

• 今後の展開57

Page 58: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

なぜ 3 次元積層なのか ?

58

Page 59: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

半導体も 2D から 3D の世界へ !• 複数のダイを同一パッケージに集積• ダイ間を貫通ビア( Through Silicon Via:TSV )で接続

59

Source: Yuan Zie, “3D IC Design/Architecture,” Coolchips Special Session, 2009

Wire-bonding (WB) 3D stacking (System-in-Package or SiP)

Package-on-Package (POP) 3D stacking

TSV

Multi-Level 3D IC

SensorIO

AnalogRF

DRAMProcessor

Page 60: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層 IC ( ISSCC’09 より)• イメージセンサ• SoC 用 SRAM• 大容量 DRAM• マルチコア+ SRAM ( w/ 無線 TSV )• など

8Gb 3D DRAM ( Samsung )

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 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.

SRAM+Multicore ( Keio Univ. )SRAM for SoCs ( NEC )

スケールは無関係

Image Sensor ( MIT )

60

Page 61: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

メニーコア+大容量メモリ~ Intel (80 core テストチップ)~

61

http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=04382571http://www.legitreviews.com/article/460/1/

Mem.-on-coreMem.-on-cache

Mem

oryCores/Caches

Page 62: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層の「うれしさ」~配線長削減による高性能 / 低消費電力化~• 送受信モジュール間の物理的な距離を短縮

– 「長い配線の負荷容量」を「 TSV 負荷容量」に置換え– 得に,グローバル配線において効果大( mm→um )

• フットプリント面積を削減– クロック信号や電源ラインなどの配線長を削減

2 次元実装 IC62

Page 63: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層の「うれしさ」~チップ集積による高性能 / 低消費電力化~• 面と面の接続によるバンド幅拡大

– Intel: 80 個のプロセッサ・コア+ SRAM 間 1)

• 1TB/S のバンド幅で接続– HRI: プロセッサ+カスタム回路+ SDRAM2)

• プロセッサーカスタム回路間: 1,056 個の TSV で接続• カスタム回路ー SRAM 間: 278 個の TSV で接続

• 伝送路の負荷容量削減による低レイテンシ / 低消費電力化– I/Oピンや基板配線の駆動が不要に !

1) インテル: http://www.intel.com/pressroom/archive/releases/20060926corp_b.htm2) 日経マイクロデバイス 2008 年 2 月

63

Page 64: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層の「うれしさ」~異種ダイの積層による高機能化~

• 製造プロセスの異なるダイを低コストで積層– 従来の SiP– TSV を用いることでダイ間を高バンド幅で接続可

能• 従来にない新しい応用の可能性• SRAM/DRAM 以外の選択肢(例:不揮発性メモリの積層

など)

64

Page 65: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層の「うれしさ」~更に,低コスト化までも・・・~

0.1

1

10

100

1系列2系列1系列2系列

Process node   (nm)

Per

form

ance

Im

pro

vem

ent

(ti

mes

)

180 130 90 65 45 32 22 15 12

Fine Process

Stacking

Perform

ance100

10

1

0.1

Power Consumption

N.Miyakawa,”3D Stacking Technology for Improvement of System Performance,” International Trade Partners Conference, Nov.2008

古い世代のプロセス技術を用いることで

コスト削減も可能に !!

65

微細化に頼らない高集積化

Page 66: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

TSVベースの 3 次元化は普及するのか ?

• 現状: CMOS イメージセンサー

• 今後:メモリーやロジック LSIの積層が普及

Jerome Baron, “TSVベースの 3 次元化が半導体の基板技術に ,” 日経マイクロデバイス , 2009 年 4 月 .

日経マイクロデバイス 2009 年 4 月号より抜粋

66

Page 67: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層デバイスのロードマップ

Source: EMC-3D Technical Symposium 67

Page 68: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層マイクロプロセッサ・アーキテクチャ

68

Page 69: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層デバイスへの期待~マルチコアの観点から~

• コアそのものの積層• マルチコア+マルチコア

– いわゆる,メニーコア化• マルチコア+メモリ

– 大容量メモリの積層による「メモリーウォール問題」の解決( SRAM , DRAM など)

– 新デバイス( MRAM など)の積層による高性能化 / 低消費電力化

• マルチコア+アクセラレータ– 用途の絞り込みによる加速実行の実現(専用 ASIC ,再構

成可能ハードウェア, ASIP ,演算器アレイなど)– 実行効率を向上

69

Page 70: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層化のポイントは ?

• 「 2D構成」から「 3D構成」へ– TSV の活用により如何に,どの「通信経路を 3 次元化

すべきか ? 」が重要– 分割( Divide ) & 積層( Stack )

• Sub-System• Core: e.g. Processor, Cache, Main-Memory• Functional Block Unit (FBU) : e.g. ALU, Reg. File, Memory-Array• Gate

• 「オフチップ」から「オンチップ」へ– TSV 活用の恩恵を受けるには,どの「通信経路を 3 次

元化すべきか ? 」が重要

70

Page 71: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

何を積層するか ?

71

Divide & Stack Design Reuse

Wire delay/power

reduction

Example Wire Length

Reduction

Off-Chip to On-Chip

Subsystem•Multi-core•Core+memory•Etc.

High Global wires •Core-on-Core•Cache-on-Core•Main-Mem.-on-Core•Accelerator-on-Core

√ √

Module•CPU Core•Cache•Main Memory•Etc.

Mid. Global/Local wires

•ALU-on-ALU•Cache Bank-on-Bank•RF-on-ALU √

Functional Unit Block (FUB)•Memory Array•ALU, RF, Issue Queue•Etc.

Low Global/Local wires

• Mem. Array Splitting• ALU Splitting• RF Splitting• Issue Queue Splitting

Gate almost no reuse

Global/Local wires

•Gate Splitting √

Page 72: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

何を積層するか ?

72

Divide & Stack Design Reuse

Wire delay/power

reduction

Example Wire Length

Reduction

Off-Chip to On-Chip

Subsystem•Multi-core•Core+memory•Etc.

High Global wires •Core-on-Core•Cache-on-Core•Main-Mem.-on-Core•Accelerator-on-Core

√ √

Module•CPU Core•Cache•Main Memory•Etc.

Mid. Global/Local wires

•ALU-on-ALU•Cache Bank-on-Bank•RF-on-ALU √

Functional Unit Block (FUB)•Memory Array•ALU, RF, Issue Queue•Etc.

Low Global/Local wires

• Mem. Array Splitting• ALU Splitting• RF Splitting• Issue Queue Splitting

Gate almost no reuse

Global/Local wires

•Gate Splitting √

Page 73: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

CPUCore

CPUCore

FUB レベルの 3 次元積層• その狙いは ?

– フットプリント面積の削減– Module/FUB内部の配線長短縮による低レイテ

ンシ / 低消費電力化

L3Cache

CPUCore

L3Cache

L3Cache

CPUCore

L3Cache

2 次元実装 3 次元積層( Cache-on-Core)

3 次元積層( Bank-on-Bank )

フットプリント面積の削減

L3 アクセスの低レイテンシ / 低消費電力

73

Page 74: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

キャッシュ・メモリの「分割 & 積層」~ベースモデル: 2 次元キャッシュ~

Bank0

WL

Dec

&D

r

Word LineBit Line

Mux&SA

Bank1

WL

Dec

&D

r

Mux&SA

Bank2

WL

Dec

&D

rMux&SA

Bank3

WL

Dec

&D

r

Mux&SA

Bank4

WL

Dec

&D

r

Mux&SA

Bank5

WL

Dec

&D

r

Mux&SA

Bank6

WL

Dec

&D

r

Mux&SA

Bank7

WL

Dec

&D

r

Mux&SA

Pre Dec.

Output

Address

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.

1MB 4-way Set-Associative Cache

Del

ay (n

s)74

Page 75: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

Bank2

WL

Dec

&D

r

Mux&SA

Bank3

WL

Dec

&D

r

Mux&SA

Bank6

WL

Dec

&D

r

Mux&SA

Bank7

WL

Dec

&D

r

Mux&SA

キャッシュ・メモリの「分割 & 積層」~バンク同士を積層する~

Bank0

WL

Dec

&D

rWord LineBit Line

Mux&SA

Bank1

WL

Dec

&D

r

Mux&SA

Bank4

WL

Dec

&D

r

Mux&SA

Bank5

WL

Dec

&D

r

Mux&SA

Pre Dec.

Output

Address

K. Ruttaswamy and G. H. Loh, “Implementing Caches in a 3D Technology for High Performance Processors,” ICCD’05

1MB 4-way Set-Associative Cache

Del

ay (n

s)

?後述する DWL と同程度の効果と予想される

75

Page 76: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

WL

Dec

&D

r

WL

Dec

&D

r

WL

Dec

&D

r

WL

Dec

&D

r

WL

Dec

&D

r

WL

Dec

&D

r

WL

Dec

&D

r

WL

Dec

&D

r

キャッシュ・メモリの「分割 & 積層」~メモリアレイを WL方向に分割して積層する~

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.

1MB 4-way Set-Associative Cache

Del

ay (n

s)

WL

Dec

&D

r

WL

Dec

&D

r

WL

Dec

&D

r

WL

Dec

&D

r

WL

Dec

&D

r

WL

Dec

&D

r

WL

Dec

&D

r

WL

Dec

&D

r

Address

Output

Pre Dec.

Word LineBit Line 2D-BASE

3D-DWL

アドレス / データ線

の短縮効果大 ! Nx×NyNx : 3 次元方向への WB分割数Ny : 3 次元方向への BL分割数76

Page 77: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1x1 MLBS 2x1 1x2 4x1 2x2 1x4 8x1 4x2 2x4 1x8

3D Partitioning (Nx*Ny)

Del

ay (

nS

)

output

SA

BL

WL-charge

WL_driver

decoder

predec_driver

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.

キャッシュ・メモリの「分割 & 積層」~メモリアレイを WL/BL方向に分割して積層する~

1MB 4-way Set-Associative Cache

2D-BASE

3D-DWL(2 wafers)

3D-DWL(4 wafers) 3D-DWL

(8 wafers)

3D-DBL (BL 分割 )(2 wafers) 3D-DBL

(4 wafers)

アクセス消費エネルギーも同時に削減 77

Page 78: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

レジスタファイルを分割積層する !~ 3 つのアプローチ~

• レジスタ分割:エントリを複数グループに分割し積層– ビットラインの短縮効果

• ビット分割:上位 / 下位ビットに分割し積層( WL 短縮)– ワードラインの短縮効果

• ポート分離:ポート( WL+BL )を分離し積層( bit/ 面積縮小)– ビット /ワードラインの短縮効果(ただし, TSV 面積コスト大)

K. Puttaswamy and G. H. Loh, “Implementing Register Files for High-Performance Microprocessors in a Die-Stacked (3D) Technology,” ISVLSI’06.

Reg. Partitioned Bit Partitioned Port Split

78

Page 79: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

レジスタファイルを分割積層する !~レイテンシ / 消費エネルギー削減効果~

• レジスタファイル構成により適切な積層アプローチは異なる !!– 128エントリ→ BP , 256エントリ→ RP

K. Puttaswamy and G. H. Loh, “Implementing Register Files for High-Performance Microprocessors in a Die-Stacked (3D) Technology,” ISVLSI’06.

2D RP BP PS 2D RP BP PS0

100200300400500600700800900

Late

ncy

(ps)

12r-4w RF Design w/ 70nm

Ener

gy (n

J)

2D RP BP PS 2D RP BP PS0

2

4

6

8

10

12

70nm, F2F

128 Entry 256 Entry 128 Entry 256 Entry

16%

24%

22%

59%

3-D F2F 3-D F2F 3-D F2F 3-D F2F79

Page 80: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

Case Study: Alpha 21364 の場合~どのように 3 次元積層するか ? ~

• 全ての FUB を 3 次元実装(と仮定)– フットプリント面積が 1/2 に !–各 FUB のレイテンシ短縮

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.

From 2D to 3D

80

Page 81: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

Case Study: Alpha 21364 の場合~どの程度 IPC が向上するのか ? ~

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.

FUB の 3 次元化により動作周波数を向上(フットプリント面積削減)

2 層

3 次元積層により FUB の機能拡大(エントリ数増等)2 層 4 層4 層

クラスタ単位で積層

81

Page 82: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

Case Study: Alpha 21364 の場合~どの程度,性能( IPC×F )が向上するのか ? ~

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.

FUB の 3 次元化により動作周波数を向上(フットプリント面積削減)

2 層

3 次元積層により FUB の機能拡大(エントリ数増等)2 層 4 層4 層

クラスタ単位で積層

82

Page 83: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

Case Study: Pentium4 の場合~どのように 3 次元積層するか ? ~

• 複数 FUB を積層しパイプラインステージを 25% 削減– DL1 と FU→load-to-use遅延を削減– RF と FP→FP 実行までの遅延を削減

• FUB を分割積層しレイテンシを削減– UL2 キャッシュ

• 性能は 15%程度向上,かつ,消費電力を 25% 削減

1st Layer 2nd LayerXie, 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.

83

Page 84: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

Case Study: Pentium4 の場合~温度上昇は問題になるのか ? ~

• ホットスポットの温度上昇はさほど問題ではない– 2 次元実装 @147W : 99℃– 3 次元実装 @147W : 125℃– 3 次元実装 @110W ( 25% 削減): 101℃

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.

3D@147W 3D@110W2D@147W

84

Page 85: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

何を積層するか ?

85

Divide & Stack Design Reuse

Wire delay/power

reduction

Example Wire Length

Reduction

Off-Chip to On-Chip

Subsystem•Multi-core•Core+memory•Etc.

High Global wires •Core-on-Core•Cache-on-Core•Main-Mem.-on-Core•Accelerator-on-Core

√ √

Module•CPU Core•Cache•Main Memory•Etc.

Mid. Global/Local wires

•ALU-on-ALU•Cache Bank-on-Bank•RF-on-ALU √

Functional Unit Block (FUB)•Memory Array•ALU, RF, Issue Queue•Etc.

Low Global/Local wires

• Mem. Array Splitting• ALU Splitting• RF Splitting• Issue Queue Splitting

Gate almost no reuse

Global/Local wires

•Gate Splitting √

Page 86: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

プロセッサコアと大容量キャッシュを積層する

86

Page 87: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

大容量化の一途を辿るオンチップ・キャッシュ

• メモリウォール問題– 特にマルチコアでは深刻化– オンチップ・キャッシュの大容量化

• 最近では「コア面積 キャッシュ面積」≒

87

4MB L2 Cache

Core 2 Duo

出典: http://www.atmarkit.co.jp/    http://www.chip-architect.com/ http://pc.watch.impress.co.jp/docs/2009/0212/kaigai490.htm

1MB L2 Cache

Pentium4

Bus

Core

Level 2 cache

Nehalem-EX

24MB L3

Page 88: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

大容量 DRAM キャッシュを積層する !

• DRAM スタック法 [Black MICRO’06]– 従来の 2 次元実装プロセッサ上に 3 次元実装技術

により大容量 DRAM キャッシュを積載    – DRAM キャッシュのタグ RAM として数 MB の容量

が必要

88ベースプロセッサ(2次元実装) DRAM スタック法(3次元実装)

オフチップメモリアクセス回数削減

下層の SRAM をタグ RAM として使用

Core4MB Cache

Core

Core4MB Tag SRAM

Core

32MB DRAMCache

Page 89: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

2060 40

100 80 150200

10050 0

0

1.0

0

1.5

3.0

2.0

2.5

0.5

L2 キャッシュアクセス時間の増加L2 キャッシュミス率の削減率

[cc]

性能向上

性能低下

性能向上率

[points]

大容量キャッシュの積載が本当に得策なのか ?

89

MMAT)MRHT(MRHTAMAT LLLL 2211

Ocean

Choleskyプログラムによって

は性能が低下

L1 キャッシュの

アクセス時間[cc]

L1 キャッシュ

ミスの割合

L2 キャッシュの

アクセス時間[cc]

L2 キャッシュ

ミスの割合

主記憶のアクセス時間

[cc]

DRAM スタック法の効果

(?)

Page 90: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

大容量化による L2 ミス削減効果はプログラムによって異なる !

90

2MB 4MB 8MB 16MB 32MB 64MB 128MB0

10

20

30

40

50

60

Cholesky

FFT

LU

Barnes

FMM

Ocean

Raytrace

WaterSpatial

L2 Size

L2 M

iss R

ates

[%]

Sensitive!

Sensitive!

Sensitive!

Insensitive!

Insensitive!Insensitive!

Page 91: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

プログラム実行中の適したキャッシュ容量の変化

91

1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 961010

50

100

150

200

250

300

350

2MB(12cc) 32MB(60cc)

区間

L1

ミス

ペナ

ルテ

ィ[c

c]

Ocean

L1 ミスペナルティ =HTL2+MRL2×MMAT( 300cc )適したキャッシュ容量:大

適したキャッシュ容量:小

Page 92: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

「集積」「協調」そして「適応」する !~ 3 次元実装向けキャッシュ・アーキテクチャ~

• 「キャッシュ動作モード」と「タグ動作モード」を選択可能なキャッシュ・アーキテクチャ– タグ動作モード時には SRAM キャッシュでデータ領域

に DRAM キャッシュ用タグを記憶• 実行プログラムが要求するメモリ容量に応じて動作モード選択

• 高性能化と低消費電力化を同時に達成可能 !

Core4MB Tag SRAM

Core

32MB DRAMCache

Core4MB Cache

Core

32MB DRAMCache

92

Page 93: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

ハイブリッド・キャッシュ搭載プロセッサ

• プログラム間(中)の適したキャッシュ容量の変化に応じて下層 SRAM キャッシュの動作モードを切り替える

93

    L2   TagRAM(SRAM)

     L2  Cache(SRAM)

切り替え

未使用

キャッシュモード(高速かつ小容量 L2 キャッシュ)

タグモード(低速かつ大容量 L2 キャッシュ)

L2 Cache  (DRAM)

Core(s)+ L1(s)

Core(s)+ L1(s)

  Cache(SRAM)

L2 Cache(DRAM)

Core(s)+ L1(s)ハイブリッド・キャッシュ

Page 94: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

2 ウェイ・セットアソシアティブSRAM キャッシュ

1 Way

1 Way

2 ウェイ・セットアソシアティブDRAM キャッシュ

キャッシュ・モード時データが格納される領

キャッシュ・モード時タグが格納される領

デコーダ

タグ情報のマッピング

94

    L2   TagRAM(SRAM)

L2 Cache  (DRAM)

Core(s)+ L1(s)

タグタグ

Page 95: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

MUX1= =

Hit/Miss(SRAM)

Data(SRAM)

64 ビットアドレス(物理アドレス)インデックスフィールドタグフィールド

オフセットフィールド

W・LClgI

SS

SS

WL

ClgIDD

DD ・

IS

I-Llg-64 SS

LS LS

IS

11

1

LS

下層 SARM (容量:  ラインサイズ:   連想度:   )

LSCS

WSデコーダ

Llg S

I-Llg-64 SS

I-Llg-64 SS

I-Llg-64 SS

通常のキャッシュ構成

95

.

..

Page 96: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

MUX1

MUX3

= =

=

MUX2

Hit/Miss(SRAM)

Data(SRAM)

64 ビットアドレス(物理アドレス)インデックスフィールドタグフィールド

オフセットフィールド

=

Hit/Miss(DRAM)

Data(DRAM)

W・LClgI

SS

SS

WL

ClgIDD

DD ・

IS

I-Llg-64 DD

I-Llg-64 SS

IDLS

LDLD

LS

ISID

1 1

11

1

1

LD

LS

下層 SARM (容量:  ラインサイズ:   連想度:   ) 上層 DARM (容量:  

ラインサイズ:   連想度:   )

LD

LS

CDWD

CSWS

デコーダ

WL・CWL・Clg

DDS

SSD

・・

Llg S

Llg D

I-Llg-64 SS

I-Llg-64 SS

I-Llg-64 DD

I-Llg-64 DD

I-Llg-64 SS

I-Llg-64 DD

ハードウェア・サポート

追加HW追加HW追加HW

追加HW

追加HW

96

.. .

Page 97: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

動作モードの切り替え• 静的切り替え

– プログラム実行前により高性能な動作モードを決定する

– プログラム実行中に動作モードの切り替えは行わない

• 動的切り替え– プログラム実行中に動作

モードを切り替える– 動作モード切り替えタイミ

ングの決定はプログラム実行前・実行中のいずれか

97

Ocean

2MB 4MB 8MB 16MB 32MB 64MB 128MB05

101520253035404550

L2 キャッシュ容量

L2キ

ャッ

シュ

ミス

率[%

] FFT

FMM

Barnes

キャッシュ・モード

タグ・モード

キャッシュ・モード

1 8 15 22 29 36 43 50 57 64 71 78 85 92 990

50100150200250300350

2MB(12cc) 32MB(60cc)

区間

L1

ミス

ペナ

ルテ

ィ[c

c]

キャッシュ・モード

タグ・モード

Page 98: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

評価実験~評価対象モデル~

2D-BASE( =ベースプロセッサ)

    L2    Cache(SRAM)

Core(s)+ L1(s)

3D-CONV( =DRAM スタック法)

Core(s)+ L1(s)

    L2   TagRAM(SRAM)

L2 Data Cache  (DRAM)

    L2   TagRAM(SRAM)

L2 Data Cache  (DRAM)

Core(s)+ L1(s)

Core(s)+ L1(s)

未使用

    L2    Cache(SRAM)

静的切り替え: 3D-HYBRID-STATIC動的切り替え: 3D-HYBRID-DYNAMIC 98

Page 99: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

L1

L2キャッシュ

コア

主記憶

オンチップ

評価実験~実験環境~• プロセッサシミュレータ: M5• ベンチマークプログラム: SPEC CPU 2000 、 Splash2 から選択• 評価対象

– 2D-BASE– 3D-CONV– 3D-HYBRID-STATIC– 3D-HYBRID-DYNAMIC

• 評価指標: AMAT

99アクセス時間: 300clock

cycles

L1

L2キャッシュ

コア

主記憶

オンチップ 2D-BASEキャッシュ・モード

3D-CONVタグ・モード

どちらのモードが高性能となるか実行前に既知である

とする切り替える適切なタイミングは既知とし、かつ切り替えによるオーバーヘッドはなしと

仮定

容量: 2MBアクセス時

間:12clock cycles

容量: 32MBアクセス時

間: 60 clock cycles

容量 :32KBアクセス時間: 1clock cycle

Page 100: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

評価実験~実験結果~

100

171.swim

179.art

181.mcf

183.equake

188.ammp

256.bzip2

CholeskyFM

MOce

an

Wate

rSpati

al

Averag

e0

0.51

1.52

2.53

3.54

2D-BASE 3D-CONV

3D-HYBRID-STATIC 3D-HYBRID-DYNAMIC

ベンチマークプログラム

性能

向上

比(

1/A

MA

T)

Page 101: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

他にも様々なアーキテクチャ選択肢が存在

• アプリケーション特性に応じた積層ダイの活用が重要

• 上記を考慮したアーキテクチャは ?– ハイブリッドキャッシュは一例にすぎない– 他にも様々な選択肢が存在

Core4MB SRAM L2$

Core

32MB DRAMPage Cache

ページキャッシュとして活用

Core4MB SRAM L2$

Core

32MB DRAMScratch-Pad

ソフトウェア制御可能なスクラッチパッド・メモリとして活

101

Page 102: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

プロセッサコアと大容量メモリを積層する

102

Page 103: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

「主記憶」レベルでの混載が可能に !

• 1997 年 ISSCC : DRAM ロジック混載 LSI– eDRAM の更なる大容量化

• 主記憶アクセス・レイテンシの削減• 高いメモリバンド幅の実現(高速化+バス幅の拡大)

– メモリウォール問題の根本的な解決法として期待( PPRAM@ 九大, IRAM@ バークレー,など)

– 製造コストの増大により断念・・・• 2009 年 ISSCC : 3 次元積層 DRAM

– 低コストでの「プロセッサと主記憶の混載( 1パッケージ化)」が現実的に !!

103

Page 104: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

素朴な疑問その 1~主記憶の積層は本当に得策か ? ~

• 3 次元積層 LSI の問題点はチップ温度上昇– チップ温度は消費電力に依存– 消費電力はプロセッサの動作周波数に依存

• 「プロセッサの最大動作周波数はチップ温度制約により決定」と仮定すると・・・

CoreL2 Cache

L1 L1

DRAMMain Memory

L2 Cache

CoreL1 L1

Stacked Main Memory

Tem. : ↘Freq. : ↗Mem. Stall: ↗

Tem. : ↗Freq. : ↘Mem. Stall: ↘

104

Page 105: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層シングルコア+キャッシュ+主記憶

G. L. Loi, B. Agrawal, N. Srivastava, S. Lin, T. Sherwood, and K. Banerjee, “A Thermally-Aware Performance Analysis of Vertically Integrated (3-D) Processor-Memory Hierarchy,” DAC’06.

105

Page 106: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

アプリ特性によっては 3D 化により性能が低下する場合がある !

mcf ( Highly Memory Intensive )

動作周波数•2D: 約 2.9GHz•3D: 約 2.5GHz

平均命令実行時間•2D: 約 2.5•3D: 約 0.6 ( Better )

twolf ( Less Memory Intensive )

動作周波数•2D: 約 2.8GHz•3D: 約 2.4GHz

平均命令実行時間•2D: 約 0.35 ( Better )•3D: 約 0.41

G. L. Loi, B. Agrawal, N. Srivastava, S. Lin, T. Sherwood, and K. Banerjee, “A Thermally-Aware Performance Analysis of Vertically Integrated (3-D) Processor-Memory Hierarchy,” DAC’06.

106

Page 107: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

素朴な疑問その 2~主記憶を積層して L2$ は必要か ? ~

• L2 (ラストレベル)キャッシュ導入の狙いは主記憶アクセス回数の削減– 主記憶のオンチップ化により効果減( !? )– 現在のプロセッサでは「 L2 面積≈全コア面積」

• L2 面積を用いてコア数を増加可能と仮定すると・・

TLP : ↗Freq. :→Mem. Acc.: ↗

CoreSRAM L2$

Core

StackedMain Memory

TLP : ↘Freq. :→Mem. Acc.: ↘

CoreCore

CoreCore

StackedMain Memory

107

Page 108: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

性能モデル式による解析• L2未搭載( N コア搭載)マルチコアをベースとした性能比較

• TLP 活用効果 vs. メモリ性能インパクト

L2 キャッシュ搭載「 N-m 」コアの実行時間(サイクル数)

2wLmNCC

演算性能の低下による実行ク

ロックサイクル数の増加

(≧ 1.0 )

メモリ性能の向上

による実行クロック

サイクル数の減少(≦ 1.0 )

L2未搭載 Nコア実行サ

イクル数

StackedMain Memory

CoreSRAM L2$

Core

StackedMain Memory

108

Page 109: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

簡易性能モデル式による解析

NNMRLwLmN CCkr

Nf

f

mNf

fCC

22 1

1

1

L2 未搭載時の総プロセッサコア数

並列化できる演算の割合

L2 搭載により削減されるコア数

L2 キャッシュ導入によるメモリ性能改善率(≦ 1.0 )

全コア実行時の全実行時間にしめる主記憶アクセスによるストールの割合(≦ 1.0 )

L2 未搭載時の N コア実行クロックサイクル数

L2 キャッシュ搭載「 N-m 」コアの実行時間(サイクル数)

109

Page 110: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

N=8 (最大コア数が 8 )の場合

F=0.7

K8=0.5 (全実行時間の 50% がメモリストール)K8=0.1 (全実行時間の 10% がメモリストール)

F=0.95

ベース: L2 未搭載 8 コア( 1.0 ) コア数削減による L2 搭載

性能低下

0 1

2 3

4 5

6 7

0 0.2

0.4 0.6

0.8 1

0

0.5

1

1.5

22.0

1.5

1.0

0.5

0.0

相対

実行

時間

1 2 3 4 5 6 7 8 1.0 0.8 0.6 0.4 0.2 0.0搭載コア数( N-m )

メモリ性能改善率( r )

0 1

2 3

4 5

6 7

0 0.2

0.4 0.6

0.8 1

0

0.5

1

1.5

22.0

1.5

1.0

0.5

0.0

相対

実行

時間

1 2 3 4 5 6 7 8 1.0 0.8 0.6 0.4 0.2 0.0搭載コア数( N-m )

メモリ性能改善率( r )

0 1

2 3

4 5

6 7

0 0.2

0.4 0.6

0.8 1

0

0.5

1

1.5

2

2.0

1.5

1.0

0.5

0.0

相対

実行

時間

1 2 3 4 5 6 7 8 1.0 0.8 0.6 0.4 0.2 0.0搭載コア数( N-m )

メモリ性能改善率( r )

0 1

2 3

4 5

6 7

0 0.2

0.4 0.6

0.8 1

0

0.5

1

1.5

22.0

1.5

1.0

0.5

0.0

相対

実行

時間

1 2 3 4 5 6 7 8 1.0 0.8 0.6 0.4 0.2 0.0搭載コア数( N-m )

メモリ性能改善率( r )

110

Page 111: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

結局のところ・・・• L2 キャッシュの搭載よりもコア数増加にハード

ウェア資源を利用した方がお得な場合がある– オフチップ・メモリアクセスのインパクトが小さくな

るほど L2搭載の効果は低減– 特に TLP が高い場合に顕著

• ただし・・・– 本解析では「 L2 アクセスレイテンシ」と「 DRAM ア

クセスレイテンシ」の違いは未考慮→その影響は ?– 共有変数を用いた並列化プログラムの実行では ?– 「プロセッサ性能は低下させない」という前提では ?– 様々な観点からメモリアーキテクチャを再考する必

要あり !!111

Page 112: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

PicoServer [ASPLOS’06]

112 Taeho Kgil, Shaun D'Souza, Ali Saidi, Nathan Binkert, Ronald Dreslinski, Trevor Mudge, Steven Reinhardt, Krisztian Flautner,”PicoServer: using 3D stacking technology to enable a compact energy efficient chip multiprocessor ,” ASPLOS’06

• Tier1 ウェブサーバを対象とした 3 次元積層アプローチ– 極めて高い TLP– 動作周波数の低いコアを複数活用することで低消費電力化→

3 次元積層における熱問題を解消

Page 113: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

評価対象モデル3D Single Core 3D PicoServer (4/8/12cores)2D 4/8cores

Taeho Kgil, Shaun D'Souza, Ali Saidi, Nathan Binkert, Ronald Dreslinski, Trevor Mudge, Steven Reinhardt, Krisztian Flautner,”PicoServer: using 3D stacking technology to enable a compact energy efficient chip multiprocessor ,” ASPLOS’06

113

Page 114: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

性能評価結果( SpecWeb99 )半分の周波数で高い性能を実現

同じ周波数でもコア数2 倍で高い性能を実現

2D 2D3D3D

L2 効果と DRAM 積層効果は同等

2D3D

3D-OOO@4GHzが最も高性能

3D

Taeho Kgil, Shaun D'Souza, Ali Saidi, Nathan Binkert, Ronald Dreslinski, Trevor Mudge, Steven Reinhardt, Krisztian Flautner,”PicoServer: using 3D stacking technology to enable a compact energy efficient chip multiprocessor ,” ASPLOS’06 114

Page 115: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

消費電力とチップ温度

Taeho Kgil, Shaun D'Souza, Ali Saidi, Nathan Binkert, Ronald Dreslinski, Trevor Mudge, Steven Reinhardt, Krisztian Flautner,”PicoServer: using 3D stacking technology to enable a compact energy efficient chip multiprocessor ,” ASPLOS’06

@500MHz

周波数削減による低消費電力化

(恐らく低 VDD の効果)

2D

3D

周波数削減による低消費電力化

(恐らく低 VDD の効果)

2D 3D

3 倍のコア数でも低消費力化

2D

3D

温度上昇は 10℃ 以下

115

Page 116: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

重要性を増す L1$ アーキテクチャ設計~ L2$ を搭載しない場合~

• TSV で実現された高オンチップ・メモリバンド幅をL1$ で活用するには ?– L1 ー積層 DRAM 間データ転送サイズ(ラインサイズ)

拡大→空間局所性に基づくプリフェッチ効果– ラインサイズの拡大は常に得策なのか ?

Processor

MainMemory

Cache

Processor

MainMemory

Cache

大容量 DRAM とロジックの混載

大量データを一度に転送可能 !!→ラインサイズ拡大

116

Page 117: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

メモリ参照の空間局所性の度合いは時々刻々と変化する !

Cache

16KB Direct-Mapped Cache w/ 128B Lines

128Bブロックのロード

Cache

プロセッサが 2 つの 32Bブロックを

参照

Cache

128Bブロックの追出しRef. Sublines == 2

高い空間局所性 低い空間局所性

117

Page 118: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

必ずしも,メモリバンド幅の最大活用が性能向上を実現する訳ではない !!

• アプリケーションが有する「メモリ参照の空間局所性の度合い」に大きく依存– 局所性高→プリフェッチ効果によるヒット率改善– 局所性低→頻繁なデータの追出しによりヒット率が低下

14.012.010.0

8.06.04.02.00.0

16 32 64 128 256

104.hydro2d072.sc

052.alvinn

16KB

L1D

$ M

iss

Rate

(%)

Line Size [byte]

14.012.010.0

8.06.04.02.00.0

16 32 64 128 256

16KB

L1D

$ M

iss

Rate

(%)

Line Size [byte]

134.perl099.go

118

Page 119: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

実行時にデータ転送量を自動調整する !~可変ラインサイズ・キャッシュ~

• DRAM ーキャッシュ間データ転送量を自動調整– Step1 :「メモリ参照の空間局所性の度合い」を静

的もしくは動的にモニタリング– Step2 :ラインサイズを動的もしくは静的に決定

Processor

MainMemory

Cache

Processor

MainMemory

Cache

Processor

MainMemory

Cache

空間局所性が高い場合

空間局所性が低い場合

動的可変ラインサイズ・キャッシュ: 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.

119

Page 120: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

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

「動的」可変ラインサイズキャッシュ~ DVLS キャッシュ~

120

Page 121: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

どの程度, L1D キャッシュ・ミス率を削減できるのか ?

00.20.40.60.8

11.21.41.61.8

2

Nor

mal

ized

Cach

e M

iss

Rate

sto

the

Resu

lt of

Bes

t Fix

ed-L

ine-

Size

099.go 126.gcc 132.ijpeg 147.vortex 102.swim 104.hydro2d 124.m88ksim 130.li 134.perl 101.tomcatv 103.su2cor

SPEC Benchmark Programs

2.9FIX32 (Fixed 32B Line-Size)FIX64 (Fixed 64B Line-Size)FIX128 (Fixed 128B Line-Size)DVLS128-32 (Variable 32/64/128B Line-size)

Better

Better

16KB Direct-Mapped Caches

121

Page 122: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

1.5

0.0

1.0

0.50.830.82

1.131.00

16KB Fix128 (Direct)16KB Fix128 (4way)32KB Fix128 (Direct)16KB D-VLS128-32 (Direct)

どの程度,高性能化と低消費エネルギー化を実現できるのか ?

0.32

0.720.42

1.001.0

0.0

0.60.40.2

0.8

Nor

mal

ized

AMAT

(Ave

. Mem

. Acc

ess

Tim

e)N

orm

alize

d AM

AE (A

ve. M

em. A

cces

s En

ergy

)

Better

Better

Better

Better

• ダイレクトマップ方式の高速アクセス

• 128B ラインサイズによるプリフェッチ効果

• ラインサイズ縮小による競合ミス回避

• ミス率改善によるオフチップアクセス回数削減

• 小ラインサイズにより活性化 DRAM バンクを削減

122

Page 123: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

プロセッサ・コアと新メモリデバイスを積層する

SRAM/DRAM から新メモリデバイスへの転換

123

Page 124: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

SRAM vs. DRAM vs. MRAMSRAM DRAM MRAM

Density Low (4MB:44mm2) High (16MB: 49mm2) High (16MB: 38mm2)

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.

124

Page 125: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

シングルコア+ MARM-L2 キャッシュの効果は ?

• 性能( IPC )に関しては大幅な改善無し– ワーキングセット・サイズが小さいため ?

• リーク消費電力の削減による効果大

IPC

4MBSRAM

16MBDRAM

16MBMRAM

Stati

c +

Dyn

amic

Pow

er (W

)

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.

125

Page 126: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

マルチコア+ NUCA ( Non-Uniform Cache Access )の場合

• キャッシュバンク+ルータを多数配置– アクセス時間はキャッシュ・ブロック存在場所に依存– レイヤ内は 2D メッシュ,レイア間は TSV バスで接続

• Dynamic vs. Static– SNUCA :ブロック配置後は移動無し– DNUCA :頻繁にアクセスされるブロックを当該コアの近くに再配

置(つまり,ブロック・マイグレーションをサポート)

G. Sun, X. Dong, Y. Xie, J. Li, and Y. Chen, “A Novel Architecture of the 3D Stacked MRAM L2 Cache for CMPs,” HPCA’09.

126

Page 127: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

単純な SRAM との置換えは NG!(な場合がある)

G. Sun, X. Dong, Y. Xie, J. Li, and Y. Chen, “A Novel Architecture of the 3D Stacked MRAM L2 Cache for CMPs,” HPCA’09.

Performancegalgel, apsi

•若干の性能向上他のベンチマーク

•MRAM の使用により性能低下

•swim と streamcluster で顕著•書込みレイテンシ増大による後続 Read イベントの停滞

Power Consumption全てのベンチマーク

•低消費電力化を実現•書込みエネルギーが大きいため, Write イベントが多い場合は効果が低減

2MBSRAM-SNUCA

8MBMRAM-SNUCA

2MBSRAM-DNUCA

8MBMRAM-DNUCA

2MBSRAM-SNUCA

8MBMRAM-SNUCA

2MBSRAM-DNUCA

8MBMRAM-DNUCA

Better

Better

Better

Better

127

Page 128: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

MRAM の欠点を解決するアーキテクチャ・サポート

G. Sun, X. Dong, Y. Xie, J. Li, and Y. Chen, “A Novel Architecture of the 3D Stacked MRAM L2 Cache for CMPs,” HPCA’09.

アーキテクチャ・サポート書込み遅延の削減

•ライトバッファのエントリ数を増加( 4→20エントリへ)

•ライトイベントの後続リードイベントによる割込み許可

書込み回数の削減•MRAM キャッシュの一部をSRAM で実現( 31way:MRAM, 1way:SRAM )

•SRAM はコアと同じレイヤに実装

•頻繁に書込みが発生するブロックを SRAM へマイグレート

Better

Better

Better

Better

2MBSRAM-SNUCA

2MBSRAM-DNUCA

8MBSRAM+MRAM Hybrid

128

Page 129: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

講演内容• マルチコア・プロセッサ

– コア・オーケストレーション実行• 3 次元積層マイクロプロセッサへの展開

– なぜ 3 次元積層なのか ?– 3 次元積層プロセッサ・アーキテクチャ– プロセッサ・コアと大容量キャッシュを積層する– プロセッサ・コアと大容量メモリを積層する– プロセッサ・コアと新メモリデバイスを積層する

• 今後の展開129

Page 130: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

3 次元積層プロセッサ普及への道のり~効果はアプリケーション特性に依存 !! ~

• ステップ 1 : 3 次元化により発生する弊害部分を如何に排除するか ?– 大容量化に伴うレイテンシ増大→例:大容量 DRAM キャッシュによるアクセス時間の増加

– 温度上昇に伴う様々な制限→例:動作周波数の低下

– 新デバイスの搭載に伴う新たな欠点の顕著化→例: MRAM 積層による書込み性能の低下

• ステップ 2 : 3 次元化を前提とし如何に「システムレベル」で最適化するか ?– アプリケーションからコンパイラ,アーキテクチャ,回路,

デバイス・レベルまでを縦断したディスカッションが必要 !!130

Page 131: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

メニーコア・プロセッサ• メニーコアの本質は「シンプルコアでの超並列処理」にあり !!→エネルギー効率の改善

• それを可能にするための十分なメモリバンド幅が必要 !!

0

20

40

60

80

100

120

140

128 64 32 16 8 4 2 1

Re

lativ

e p

erf

orm

an

ce p

er

jou

le

Number of processors

f=0.3f=0.5f=0.7f=0.9

f=0.95f=0.99

f=0.999f=1.0

( A )高性能コア 1 個に対するメニーコア性能

相対

性能

0

20

40

60

80

100

120

140

128 64 32 16 8 4 2 1

Rel

ativ

e pe

rfor

man

ce

Number of processors

f=0.3f=0.5f=0.7f=0.9

f=0.95f=0.99

f=0.999f=1.0

140

120

100

80

60

40

20

0

相対

性能

コア数1 16 32 64 128

( C )高性能コア 1 個に対する消費エネルギー当りのメニーコア性能(性能 / ジュール)

140

120

100

80

60

40

20

0ジュ

ール

当り

の相対

性能

コア数1   16   32   64 128

高性能コア ×32 マルチコアの限界

メニーコア化のポテンシャル

F=1.0

F=0.999

F=0.99

F=0.95

F=1.0

F=0.999F=0.99

F=0.95 F=0.9F=0.9 0

0.5

1

1.5

2

128 64 32 16 8 4 2 1

Re

lativ

e p

erf

orm

an

ce p

er

wa

tt

Number of processors

f=0.3f=0.5f=0.7f=0.9

f=0.95f=0.99

f=0.999f=1.0

2

1

0ワッ

ト当

りの相対

性能

コア数1 16 32 64 128

F=1.0F=0.999F=0.99

F=0.95

F=0.9

( B )高性能コア 1 個に対する消費電力当りのメニーコア性能

仮定:高性能コア(性能: 1 ,消費電力: 1 ,面積: 1 ),メニーコア用小規模コア(性能: 1/2 ,消費電力: 1/4 ,面積: 1/4 )

D. Woo and H. S. Lee, “Extending Amdahl’s Law for Energy-Efficient Computing in the Many-Core Era,” IEEE MICRO, Dec.2008

131

Page 132: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

アクセラレータ• 最近のトレンド: Green ○○

–エネルギー効率の改善(消費エネルギー当りの性能向上)が重要

– 「組込みシステム」から「スパコン」まで• アクセラレータの必要性

–汎用マルチコア「だけ」での実行には限界がある !

–汎用性を犠牲にする(ある程度用途を特化する)ことでエネルギー効率を改善

– 例: ClearSpeed, GPU132

Page 133: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

次世代 3 次元プロセッサ(例)• 汎用マルチコア+アクセラレータ(メニーコ

ア)+大容量メモリの 3 次元積層• 他にも様々なアーキテクチャの可能性あり !!

CoreCore

CoreCore

CoreCore

CoreCore

StackedMain Memory

Many-CoreAccelerator

CoreCore

CoreCore

CoreCore

CoreCore

StackedMain Memory

Many-CoreAccelerator

133

Page 134: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

更に広がる 3 次元積層 IC の可能性• 微細化に頼らず高集積化できる !

– 更なる微細化は得策か ?→ コスト増や信頼性低下– 「枯れた」プロセスを用いてシステム構築

• システム全体を最先端プロセスで製造する必要があるか ?• クリティカルな部分だけ最先端,他は古いプロセスを使用しては ?

• 製造後に構成(組合せ)を変更できる !– 「製造プロセスの縛り」を無くすと何ができるのか ?– 「ダイ・アセンブル」による LSI のカスタマイズ

• 3 次元積層を意識した HW プラットフォーム構築(標準化)• 低コストでの多品種少量生産が可能 ?

• 新しいシステム構成法 /最適化手法を実現できる !– 高性能 / 低消費電力 / 低コストなモニタリング機構,プロファイリン

グ機構,デバッグ機構などを実装可能では ?• フィールド最適化や後継機種開発へのフィードバック• スパコンや高性能サーバ,組込みシステムまで

134

Page 135: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

分野を跨いだディスカッションを !

• システムレベル(組込みからスパコンまで)

• アプリケーションレベル• コンパイラ /OS レベル• アーキテクチャレベル• 回路 / デバイスレベル• 各階層における EDA技術 /評価技術

135

Page 136: 3 次元積層が可能にする 次世代マイクロプロセッサ・アーキテクチャ

マルチコア+大容量メモリ+アクセラレータ~九州大学(その1)~

プロセッサ・コア(マルチコア)

動的再構成可能キュービック・アクセラレータ

大容量メモリ

温度分布を考慮した ALU アレイ活用

要求性能に応じたアクセラレータ活用法

要求性能に応じたメモリバンド幅活用法

使用するプロセッサ・コアの数(≒ プロセッサコア性能)

アクセラレータにて使用する演算ユニット数

(≒アクセラレータ性能)

高性能/高消費電力

低性能/低消費電力

136