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
なぜ 3 次元積層なのか ?More Than Moore を目指して
2
半導体も 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
「 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
3 次元積層の「うれしさ」~配線長削減による高性能 / 低消費電力化~• 送受信モジュール間の物理的な距離を短縮
– 「長い配線の負荷容量」を「 TSV 負荷容量」に置換え– 得に,グローバル配線において効果大( mm→um )
• フットプリント面積を削減– クロック信号や電源ラインなどの配線長を削減
2 次元実装 IC5
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
3 次元積層の「うれしさ」~異種ダイの積層による高機能化~
• 製造プロセスの異なるダイを低コストで積層– 従来の SiP– TSV を用いることでダイ間を高バンド幅で接続可
能• 従来にない新しい応用の可能性• SRAM/DRAM 以外の選択肢(例:不揮発性メモリの積層
など)
7
インテグレーションがもたらすマイクロプロセッサの進化
マイクロプロセッサ発展の歴史を振り返る
8
「インテグレーション」が可能にしたマイクロプロセッサの進化
出展: 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
Program
インテグレーションが成功するには ?• マイクロプロセッサのお仕事は ?
– プログラム(ソフトウェア)を「効率よく」実行• インテグレーションの効果を発揮するには ?
– ソフトウェアの特性を考慮する事が重要
時間
メモ
リア
ドレ
ス
Processor
Cache
多くのプログラムは「メモリ参照の時間 / 空間局所性」が
有る !!
頻繁に参照されるメモリ領域を
キャッシュメモリに保存
成功例:キャッシュメモリの場合
10
3 次元積層プロセッサに関する 4つの素朴な疑問
3 次元積層の利点と欠点
11
素朴な疑問その 1~大容量キャッシュ積層は本当に得策か ? ~
12
MMAT)MRHT(MRHTAMAT LLLL 2211
L1 キャッシュの
アクセス時間[cc]
L1 キャッシュ
ミスの割合
L2 キャッシュの
アクセス時間[cc]
L2 キャッシュ
ミスの割合
主記憶のアクセス時間
[cc]
DRAM スタック法の効果
(?)
ベースプロセッサ(2次元実装) DRAMスタック法(3次元実装)
32MB DRAMCache
平均メモリアクセス時間: AMAT
大容量化による 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!
その結果,メモリ性能が低下することも !
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 次元積層
素朴な疑問その 2~高メモリバンド幅の活用は本当に得策か ? ~• マイクロプロセッサと主記憶の 1 チップ化
– キャッシュ-主記憶間のデータ転送能力が劇的に向上– ミス・ペナルティの増加を伴う事無くラインサイズ
(ブロックサイズ)を拡大可能
CoreL1
DRAMMain Memory
Mem. BW: →LineSize: ↗MissPenalty: ↗
15
平均メモリアクセス時間 = キャッシュヒット時間+ミス率 × ミスペナルティミスペナルティ = DRAM アクセス時間+ラインサイズ / バンド幅
CoreL1 Core
L1
CoreL1
Stacked Main Memory
Mem. BW: ↗LineSize: ↗MissPenalty: →
ラインサイズ拡大効果はアプリによって異なる ! (性能が低下することも ! )
• 高オンチップメモリバンド幅を積極活用するには ?– キャッシュ・ラインサイズ(ブロックサイズ)を拡大
• その効果は ?– アプリケーションが有する「メモリ参照の空間局所性の度合い」に大きく依存
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
素朴な疑問その 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
アプリ特性によっては 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
素朴な疑問その 4~主記憶を積層して L2$ は必要か ? ~
• L2 (ラストレベル)キャッシュ導入の狙いは主記憶アクセス回数の削減– 主記憶のオンチップ化により効果減( !? )– 現在のプロセッサでは「 L2 面積≈全コア面積」
• L2 面積を用いてコア数を増加可能と仮定すると・・
TLP : ↗Freq. :→Mem. Acc.: ↗
CoreSRAM L2$
Core
StackedMain Memory
TLP : ↘Freq. :→Mem. Acc.: ↘
CoreCore
CoreCore
StackedMain Memory
19
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 )の場合
アプリケーション実行の振舞いの変化に適応する !~ HYBRID CACHE ARCHITECTURE ~
次世代 3D マイクロプロセッサへの道
21
素朴な疑問その 1 (再)~大容量キャッシュ積層は本当に得策か ? ~
22
MMAT)MRHT(MRHTAMAT LLLL 2211
L1 キャッシュの
アクセス時間[cc]
L1 キャッシュ
ミスの割合
L2 キャッシュの
アクセス時間[cc]
L2 キャッシュ
ミスの割合
主記憶のアクセス時間
[cc]
DRAM スタック法の効果
(?)
ベースプロセッサ(2次元実装) DRAMスタック法(3次元実装)
32MB DRAMCache
平均メモリアクセス時間: AMAT
着目するソフトウェア特性(その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!
着目するソフトウェア特性(その 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 )適したキャッシュ容量:大
適したキャッシュ容量:小
ハイブリッド・キャッシュ~ 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
どの程度,性能向上を期待できるのか ?
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 キャッシュとして活用
アプリケーション実行の振舞いの変化に適応する !~ VARIABLE LINE-SIZE CACHE ARCHITECTURE ~
次世代 3D マイクロプロセッサへの道
27
素朴な疑問その 2 (再)~高メモリバンド幅の活用は本当に得策か ? ~• マイクロプロセッサと主記憶の 1 チップ化
– キャッシュ-主記憶間のデータ転送能力が劇的に向上– ミス・ペナルティの増加を伴う事無くラインサイズ
(ブロックサイズ)を拡大可能
CoreL1
DRAMMain Memory
Mem. BW: →LineSize: ↗MissPenalty: ↗
28
平均メモリアクセス時間 = キャッシュヒット時間+ミス率 × ミスペナルティミスペナルティ = DRAM アクセス時間+ラインサイズ / バンド幅
CoreL1 Core
L1
CoreL1
Stacked Main Memory
Mem. BW: ↗LineSize: ↗MissPenalty: →
着目するソフトウェア特性(その 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
着目するソフトウェア特性(その 2 )~最適ラインサイズは実行中にも変化する~
Cache
16KB Direct-Mapped Cache w/ 128B Lines
128Bブロックのロード
Cache
プロセッサが 2 つの 32Bブロックを
参照
Cache
128Bブロックの追出しRef. Sublines == 2
高い空間局所性 低い空間局所性
30
可変ラインサイズ・キャッシュ~高メモリバンドを適応的に活用する ! ~
• プログラム特性に応じて 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
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
次世代 3 次元積層プロセッサを目指して~集積,協調,そして適応する !! ~
• 3 次元集積を前提としたアーキテクチャの再構築• デバイス / アーキテクチャ技術の協調で互いの問題を解消• プログラム実行ならびにデバイス状態の変化に適応
3 次元実装デバイス
プロセッサ・アーキテクチャ(+コンパ
イラ)
アプリケーションプログラム
33
実装からアプリケーションレベルまでの統合的な技術開発が必要 !!
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
謝辞• 本研究は,一部, NEDO若手グラント「エネルギー効率の最大化を目的とした適応型3次元マイクロプロセッサ・アーキテクチャの研究」による.
35
Backup Slides
36
「富士通さま」との関係(井上こうじの場合)
• 富士通が「世界初」– 研究会発表( M1 時代 @1995 )– 教員になってからの共同研究– 社会人ドクターの指導– 大型プロジェクトのチームリーダー( PSI プロジェク
ト)• 富士通が「 No1 」
– 「井上研究室」出身の就職先• 40% が富士通に入社 ! (といっても 2/5 ですが・・・)
– 企業訪問回数(川崎+汐留)と TV会議回数(川崎)– 研究プロジェクトや学会活動を通して知合った方の数
38
講演内容• マルチコア・プロセッサ
– コア・オーケストレーション実行• 3 次元積層マイクロプロセッサへの展開
– なぜ 3 次元積層なのか ?– 3 次元積層プロセッサ・アーキテクチャ– プロセッサ・コアと大容量キャッシュを積層する– プロセッサ・コアと大容量メモリを積層する– プロセッサ・コアと新メモリデバイスを積層する
• 今後の展開39
講演内容• マルチコア・プロセッサ
– コア・オーケストレーション実行• 3 次元積層マイクロプロセッサへの展開
– なぜ 3 次元積層なのか ?– 3 次元積層プロセッサ・アーキテクチャ– プロセッサ・コアと大容量キャッシュを積層する– プロセッサ・コアと大容量メモリを積層する– プロセッサ・コアと新メモリデバイスを積層する
• 今後の展開40
マルチコア向けコア・オーケストレーション実行
41
「シングルコア」から「マルチコア」へ
• 現在の主流はマルチコア・プロセッサ– 2 ~ <10 個のコアを搭載– インテルテストチップでは 80 コア(メニーコア)
• その理由は ?– コア数に比例した性能向上(を期待できる)– 低動作周波数を維持→消費電力削減へ– 高い設計容易性
Sun Niagara
8 processors
Intel Core Duo
2 processors
42
Core 0
Core 1
Core 2
Core 3
マルチコア・プロセッサでのプログラム実行方式
• 1つのチップ上に複数のプロセッサコアを搭載• 同時に複数のコアで実行することにより性能向
上
並列プログラ
ム複数のスレッドに分割
プログラム1
プログラム2
プログラム3
プログラム4
並列処理マルチプログラミング
Core 0
Core 1
Core 2
Core 3
43
• コア同士の「助け合い実行」を実現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
アムダールの法則(を思い出そう)
• 高性能化を実現するには ?1. F (並列実行可能部分)を大きくする !2. 逐次実行時間を短縮する !3. 並列実行時間を F/N に近づける !
Amdahl’s Speedup =+ F
N
1
ParallelExecution
1 ー F1
SequentialExecution
45
なぜ並列実行性能が低下するのか ?• メモリウォール問題
– プロセッサ-主記憶間の速度差拡大– マルチコアでは更に深刻化
• 逐次実行部分でも問題
マイクロプロセッサの性能
(主記憶として使用される)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
• コアを用途に応じて使い分け– アプリ実行用(メインコア)– メモリ性能向上用(ヘルパーコア)
• 演算 / メモリ性能のバランスを考慮して各コア数を決定– 敢えて演算性能を低下してでもトータル性能を向上 !
演算 / メモリ性能バランシング
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
ヘルパーコア導入によりなぜマルチコア性能が向上するのか ?
• 2 つのヘルパーコア実現法– SW プリフェッチャ実行→投機的に参照データをロード !– メモリ貸与→見かけ上のオンチップ・メモリ容量を増加 !
• ポイント:如何に最適なヘルパーコア数を決定するか ?
48
Series1 ヘルパーコア数( N :搭載している総コア数)
1 N-1
プロ
グラ
ム実
行時
間
演算に要する時間
メモリ参照に要する時間
実行時間を最小にするヘルパーコア数が存
在 !! ヘルパーコアによりオフチップ・メモリアクセス回数を削減→ メモリ性能を向
上メインコア数が少なくなるため
並列実行効果が低減→ 演算性能が低下
ヘルパーコア数を増やすと・・・
ヘルパーコアをどう実現するか ?
~共有 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
演算性能が不足する場合
メモリ性能が不足する場合
ハードウェア / ソフトウェア・サポート
• “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); }
ヘルパースレッドの動作
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 ,…
• 逐次実行部– 1 スレッドでのみ実行可能なプログラムコード部分
• 並列実行部– 複数スレッドで実行可能なプログラムコード部分
• 並列実行部インスタンス– 並列実行部の1回の実行分
並列プログラムに関する用語の定義
並列実行部 並列実行部
逐次実行部 逐次実行部 逐次実行部
52
ループ
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
並列実行部インスタンス毎にコア配分を変更し実行
並列実行部毎にコア配分を変更し実行
すべての並列実行部を同じコア配分で実行
• シミュレータ: 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
ストライドプリフェッ
チヘルパーコアメインコア
評価モデル• 従来方式
– BASE• すべてのコアで並列プログラムを実行
• 提案方式– PB-STATIC-OPT
• すべての並列実行部を同一のコア配分で実行• 最適なコア配分は既知
– PB-DYN-EXH• 全探索法を用いてコア配分を決定
– PB-DYN-HILL• ヒルクライミング法を用いコア配分を決定
– PB-DYN-OPT• 各並列実行部について最適なコア配分で実行 55
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ヘルパーコア数
メインコア数
講演内容• マルチコア・プロセッサ
– コア・オーケストレーション実行• 3 次元積層マイクロプロセッサへの展開
– なぜ 3 次元積層なのか ?– 3 次元積層プロセッサ・アーキテクチャ– プロセッサ・コアと大容量キャッシュを積層する– プロセッサ・コアと大容量メモリを積層する– プロセッサ・コアと新メモリデバイスを積層する
• 今後の展開57
なぜ 3 次元積層なのか ?
58
半導体も 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
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
メニーコア+大容量メモリ~ 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
3 次元積層の「うれしさ」~配線長削減による高性能 / 低消費電力化~• 送受信モジュール間の物理的な距離を短縮
– 「長い配線の負荷容量」を「 TSV 負荷容量」に置換え– 得に,グローバル配線において効果大( mm→um )
• フットプリント面積を削減– クロック信号や電源ラインなどの配線長を削減
2 次元実装 IC62
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
3 次元積層の「うれしさ」~異種ダイの積層による高機能化~
• 製造プロセスの異なるダイを低コストで積層– 従来の SiP– TSV を用いることでダイ間を高バンド幅で接続可
能• 従来にない新しい応用の可能性• SRAM/DRAM 以外の選択肢(例:不揮発性メモリの積層
など)
64
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
微細化に頼らない高集積化
TSVベースの 3 次元化は普及するのか ?
• 現状: CMOS イメージセンサー
• 今後:メモリーやロジック LSIの積層が普及
Jerome Baron, “TSVベースの 3 次元化が半導体の基板技術に ,” 日経マイクロデバイス , 2009 年 4 月 .
日経マイクロデバイス 2009 年 4 月号より抜粋
66
3 次元積層デバイスのロードマップ
Source: EMC-3D Technical Symposium 67
3 次元積層マイクロプロセッサ・アーキテクチャ
68
3 次元積層デバイスへの期待~マルチコアの観点から~
• コアそのものの積層• マルチコア+マルチコア
– いわゆる,メニーコア化• マルチコア+メモリ
– 大容量メモリの積層による「メモリーウォール問題」の解決( SRAM , DRAM など)
– 新デバイス( MRAM など)の積層による高性能化 / 低消費電力化
• マルチコア+アクセラレータ– 用途の絞り込みによる加速実行の実現(専用 ASIC ,再構
成可能ハードウェア, ASIP ,演算器アレイなど)– 実行効率を向上
69
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
何を積層するか ?
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 √
何を積層するか ?
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 √
CPUCore
CPUCore
FUB レベルの 3 次元積層• その狙いは ?
– フットプリント面積の削減– Module/FUB内部の配線長短縮による低レイテ
ンシ / 低消費電力化
L3Cache
CPUCore
L3Cache
L3Cache
CPUCore
L3Cache
2 次元実装 3 次元積層( Cache-on-Core)
3 次元積層( Bank-on-Bank )
フットプリント面積の削減
L3 アクセスの低レイテンシ / 低消費電力
73
キャッシュ・メモリの「分割 & 積層」~ベースモデル: 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
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
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
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
レジスタファイルを分割積層する !~ 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
レジスタファイルを分割積層する !~レイテンシ / 消費エネルギー削減効果~
• レジスタファイル構成により適切な積層アプローチは異なる !!– 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
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
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
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
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
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
何を積層するか ?
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 √
プロセッサコアと大容量キャッシュを積層する
86
大容量化の一途を辿るオンチップ・キャッシュ
• メモリウォール問題– 特にマルチコアでは深刻化– オンチップ・キャッシュの大容量化
• 最近では「コア面積 キャッシュ面積」≒
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
大容量 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
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 スタック法の効果
(?)
大容量化による 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!
プログラム実行中の適したキャッシュ容量の変化
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 )適したキャッシュ容量:大
適したキャッシュ容量:小
「集積」「協調」そして「適応」する !~ 3 次元実装向けキャッシュ・アーキテクチャ~
• 「キャッシュ動作モード」と「タグ動作モード」を選択可能なキャッシュ・アーキテクチャ– タグ動作モード時には SRAM キャッシュでデータ領域
に DRAM キャッシュ用タグを記憶• 実行プログラムが要求するメモリ容量に応じて動作モード選択
• 高性能化と低消費電力化を同時に達成可能 !
Core4MB Tag SRAM
Core
32MB DRAMCache
Core4MB Cache
Core
32MB DRAMCache
92
ハイブリッド・キャッシュ搭載プロセッサ
• プログラム間(中)の適したキャッシュ容量の変化に応じて下層 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)ハイブリッド・キャッシュ
2 ウェイ・セットアソシアティブSRAM キャッシュ
1 Way
1 Way
2 ウェイ・セットアソシアティブDRAM キャッシュ
キャッシュ・モード時データが格納される領
域
キャッシュ・モード時タグが格納される領
域
デコーダ
タグ情報のマッピング
94
L2 TagRAM(SRAM)
L2 Cache (DRAM)
Core(s)+ L1(s)
タグタグ
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
.
..
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
.. .
動作モードの切り替え• 静的切り替え
– プログラム実行前により高性能な動作モードを決定する
– プログラム実行中に動作モードの切り替えは行わない
• 動的切り替え– プログラム実行中に動作
モードを切り替える– 動作モード切り替えタイミ
ングの決定はプログラム実行前・実行中のいずれか
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]
キャッシュ・モード
タグ・モード
評価実験~評価対象モデル~
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
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
評価実験~実験結果~
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)
他にも様々なアーキテクチャ選択肢が存在
• アプリケーション特性に応じた積層ダイの活用が重要
• 上記を考慮したアーキテクチャは ?– ハイブリッドキャッシュは一例にすぎない– 他にも様々な選択肢が存在
Core4MB SRAM L2$
Core
32MB DRAMPage Cache
ページキャッシュとして活用
Core4MB SRAM L2$
Core
32MB DRAMScratch-Pad
ソフトウェア制御可能なスクラッチパッド・メモリとして活
用
101
プロセッサコアと大容量メモリを積層する
102
「主記憶」レベルでの混載が可能に !
• 1997 年 ISSCC : DRAM ロジック混載 LSI– eDRAM の更なる大容量化
• 主記憶アクセス・レイテンシの削減• 高いメモリバンド幅の実現(高速化+バス幅の拡大)
– メモリウォール問題の根本的な解決法として期待( PPRAM@ 九大, IRAM@ バークレー,など)
– 製造コストの増大により断念・・・• 2009 年 ISSCC : 3 次元積層 DRAM
– 低コストでの「プロセッサと主記憶の混載( 1パッケージ化)」が現実的に !!
103
素朴な疑問その 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
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
アプリ特性によっては 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
素朴な疑問その 2~主記憶を積層して L2$ は必要か ? ~
• L2 (ラストレベル)キャッシュ導入の狙いは主記憶アクセス回数の削減– 主記憶のオンチップ化により効果減( !? )– 現在のプロセッサでは「 L2 面積≈全コア面積」
• L2 面積を用いてコア数を増加可能と仮定すると・・
TLP : ↗Freq. :→Mem. Acc.: ↗
CoreSRAM L2$
Core
StackedMain Memory
TLP : ↘Freq. :→Mem. Acc.: ↘
CoreCore
CoreCore
StackedMain Memory
107
性能モデル式による解析• L2未搭載( N コア搭載)マルチコアをベースとした性能比較
• TLP 活用効果 vs. メモリ性能インパクト
L2 キャッシュ搭載「 N-m 」コアの実行時間(サイクル数)
2wLmNCC
演算性能の低下による実行ク
ロックサイクル数の増加
(≧ 1.0 )
メモリ性能の向上
による実行クロック
サイクル数の減少(≦ 1.0 )
L2未搭載 Nコア実行サ
イクル数
StackedMain Memory
CoreSRAM L2$
Core
StackedMain Memory
108
簡易性能モデル式による解析
NNMRLwLmN CCkr
Nf
f
mNf
fCC
22 1
1
1
L2 未搭載時の総プロセッサコア数
並列化できる演算の割合
L2 搭載により削減されるコア数
L2 キャッシュ導入によるメモリ性能改善率(≦ 1.0 )
全コア実行時の全実行時間にしめる主記憶アクセスによるストールの割合(≦ 1.0 )
L2 未搭載時の N コア実行クロックサイクル数
L2 キャッシュ搭載「 N-m 」コアの実行時間(サイクル数)
109
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
結局のところ・・・• L2 キャッシュの搭載よりもコア数増加にハード
ウェア資源を利用した方がお得な場合がある– オフチップ・メモリアクセスのインパクトが小さくな
るほど L2搭載の効果は低減– 特に TLP が高い場合に顕著
• ただし・・・– 本解析では「 L2 アクセスレイテンシ」と「 DRAM ア
クセスレイテンシ」の違いは未考慮→その影響は ?– 共有変数を用いた並列化プログラムの実行では ?– 「プロセッサ性能は低下させない」という前提では ?– 様々な観点からメモリアーキテクチャを再考する必
要あり !!111
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 次元積層における熱問題を解消
評価対象モデル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
性能評価結果( 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
消費電力とチップ温度
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
重要性を増す L1$ アーキテクチャ設計~ L2$ を搭載しない場合~
• TSV で実現された高オンチップ・メモリバンド幅をL1$ で活用するには ?– L1 ー積層 DRAM 間データ転送サイズ(ラインサイズ)
拡大→空間局所性に基づくプリフェッチ効果– ラインサイズの拡大は常に得策なのか ?
Processor
MainMemory
Cache
Processor
MainMemory
Cache
大容量 DRAM とロジックの混載
大量データを一度に転送可能 !!→ラインサイズ拡大
116
メモリ参照の空間局所性の度合いは時々刻々と変化する !
Cache
16KB Direct-Mapped Cache w/ 128B Lines
128Bブロックのロード
Cache
プロセッサが 2 つの 32Bブロックを
参照
Cache
128Bブロックの追出しRef. Sublines == 2
高い空間局所性 低い空間局所性
117
必ずしも,メモリバンド幅の最大活用が性能向上を実現する訳ではない !!
• アプリケーションが有する「メモリ参照の空間局所性の度合い」に大きく依存– 局所性高→プリフェッチ効果によるヒット率改善– 局所性低→頻繁なデータの追出しによりヒット率が低下
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
実行時にデータ転送量を自動調整する !~可変ラインサイズ・キャッシュ~
• 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
ダイレクト・マップ 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
どの程度, 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
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
プロセッサ・コアと新メモリデバイスを積層する
SRAM/DRAM から新メモリデバイスへの転換
123
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
シングルコア+ 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
マルチコア+ 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
単純な 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
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
講演内容• マルチコア・プロセッサ
– コア・オーケストレーション実行• 3 次元積層マイクロプロセッサへの展開
– なぜ 3 次元積層なのか ?– 3 次元積層プロセッサ・アーキテクチャ– プロセッサ・コアと大容量キャッシュを積層する– プロセッサ・コアと大容量メモリを積層する– プロセッサ・コアと新メモリデバイスを積層する
• 今後の展開129
3 次元積層プロセッサ普及への道のり~効果はアプリケーション特性に依存 !! ~
• ステップ 1 : 3 次元化により発生する弊害部分を如何に排除するか ?– 大容量化に伴うレイテンシ増大→例:大容量 DRAM キャッシュによるアクセス時間の増加
– 温度上昇に伴う様々な制限→例:動作周波数の低下
– 新デバイスの搭載に伴う新たな欠点の顕著化→例: MRAM 積層による書込み性能の低下
• ステップ 2 : 3 次元化を前提とし如何に「システムレベル」で最適化するか ?– アプリケーションからコンパイラ,アーキテクチャ,回路,
デバイス・レベルまでを縦断したディスカッションが必要 !!130
メニーコア・プロセッサ• メニーコアの本質は「シンプルコアでの超並列処理」にあり !!→エネルギー効率の改善
• それを可能にするための十分なメモリバンド幅が必要 !!
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
アクセラレータ• 最近のトレンド: Green ○○
–エネルギー効率の改善(消費エネルギー当りの性能向上)が重要
– 「組込みシステム」から「スパコン」まで• アクセラレータの必要性
–汎用マルチコア「だけ」での実行には限界がある !
–汎用性を犠牲にする(ある程度用途を特化する)ことでエネルギー効率を改善
– 例: ClearSpeed, GPU132
次世代 3 次元プロセッサ(例)• 汎用マルチコア+アクセラレータ(メニーコ
ア)+大容量メモリの 3 次元積層• 他にも様々なアーキテクチャの可能性あり !!
CoreCore
CoreCore
CoreCore
CoreCore
StackedMain Memory
Many-CoreAccelerator
CoreCore
CoreCore
CoreCore
CoreCore
StackedMain Memory
Many-CoreAccelerator
133
更に広がる 3 次元積層 IC の可能性• 微細化に頼らず高集積化できる !
– 更なる微細化は得策か ?→ コスト増や信頼性低下– 「枯れた」プロセスを用いてシステム構築
• システム全体を最先端プロセスで製造する必要があるか ?• クリティカルな部分だけ最先端,他は古いプロセスを使用しては ?
• 製造後に構成(組合せ)を変更できる !– 「製造プロセスの縛り」を無くすと何ができるのか ?– 「ダイ・アセンブル」による LSI のカスタマイズ
• 3 次元積層を意識した HW プラットフォーム構築(標準化)• 低コストでの多品種少量生産が可能 ?
• 新しいシステム構成法 /最適化手法を実現できる !– 高性能 / 低消費電力 / 低コストなモニタリング機構,プロファイリン
グ機構,デバッグ機構などを実装可能では ?• フィールド最適化や後継機種開発へのフィードバック• スパコンや高性能サーバ,組込みシステムまで
134
分野を跨いだディスカッションを !
• システムレベル(組込みからスパコンまで)
• アプリケーションレベル• コンパイラ /OS レベル• アーキテクチャレベル• 回路 / デバイスレベル• 各階層における EDA技術 /評価技術
135
マルチコア+大容量メモリ+アクセラレータ~九州大学(その1)~
プロセッサ・コア(マルチコア)
動的再構成可能キュービック・アクセラレータ
大容量メモリ
温度分布を考慮した ALU アレイ活用
法
要求性能に応じたアクセラレータ活用法
要求性能に応じたメモリバンド幅活用法
使用するプロセッサ・コアの数(≒ プロセッサコア性能)
アクセラレータにて使用する演算ユニット数
(≒アクセラレータ性能)
高性能/高消費電力
低性能/低消費電力
136