Advanced
Computer
Architecture
08. 微細化への対応
五島 正裕
Advanced Computer Architecture
内容
1. 配線遅延
2. キャッシュのパイプライン化,多階層化
3. 演算器のクラスタ化
4. VLIW プロセッサ
Advanced
Computer
Architecture
配線遅延
Advanced Computer Architecture
ゲート遅延,配線遅延とスケーリング
 スケーリング:
 最小加工寸法: 1/S 倍
 ゲート 遅 延 :
1/S 倍
配 線 遅延:
1倍
 配線遅延(ローカル) ∝ RCL2
 細くなる(高さ一定)
⇒ R:S 倍
 隣の配線と近くなる
⇒ C:S 倍
 短くなる
⇒ L:1/S 倍
Advanced Computer Architecture
配線遅延
配線世代(ピッチ)と信号遅延時間の関係
(SIA National Technology Roadmap for Semiconductors 1997)
Advanced Computer Architecture
MIPS R10000 のパイプライン
F
0
命令フェッチ
S
分岐予測器
命令キャッシュ
F
レジスタ・リネーミング
リネーミング・ロジック
S
ディスパッチ
命令ウィンドウ
1
 演算器
F
命令スケジューリング
スケジューリング・ロジック
F
発行
命令ウィンドウ
S
レジスタ読み出し
レジスタ・ファイル
2
S
3
F
4
実行(アドレス計算)
S
演算器
オペランド・バイパス
F
5
1次データ・キャッシュ
1次データ・キャッシュ
ライトバック
レジスタ・ファイル
S
F
6
S
 ゲート遅延
 それ以外:メモリ
 配線遅延
Advanced Computer Architecture
配線遅延
 100nm 世代以前
 ゲート遅延が支配的
 ARC はそのままでも,微細化するとクロックが上がる
 サブ 100nm 世代
 配線遅延が支配的に…
 ARC はそのままだと,微細化してもクロックは上がらない
Advanced Computer Architecture
サブ 100nm 世代の ARC
 パイプライン化 (pipelining)
 非集中化 (decentralization)
 水平
 垂直
Advanced Computer Architecture
パイプライン化
 多段に分割
 クロックは速くなる が
 レイテンシ(サイクル数)が長くなる
 投機との組み合わせが重要
 ヒット/ミス
Advanced Computer Architecture
非集中化
 水平
 (ほぼ)対等な2つ(以上)に
 多バンク化(メモリの場合)
 多重化(ポートの削減)
 垂直(多階層化)
 小型と大型(元)に
 ヒット/ミス
Advanced Computer Architecture
サブ 100nm 世代の ARC
 パイプライン化,非集中化
 IPC は,必ず低下する!
 100nm 世代
 あまるトランジスタを何に使って,IPC を向上させるか
 サブ 100nm 世代
 ILP (Instruction-Level Parallelism) も限界
 クロックを上げつつ,IPC をどう維持するか
Advanced Computer Architecture
非集中化の例
 命令ウィンドウの非集中化
 整数,ロード/ストア,浮動小数点
 演算器の可変レイテンシ化
 キャリーが伝搬しないと予測すれば,1サイクルで
 多ビットのシフトは2サイクルで
 演算結果再利用
 最近の演算結果をとっておき,入力が同じなら再利用する
 入力が同じ(ヒット)なら,1サイクルで
 キャッシュの多階層化
 演算器のクラスタ化 (clustering)
Advanced
Computer
Architecture
キャッシュのパイプライン化,多階層化
Advanced Computer Architecture
キャッシュのパイプライン化,多階層化
 最近のプロセッサの1次命令/データ・キャッシュ
 2サイクル(パイプライン化されている)

ex) Pentium 4,Athlon
 0次キャッシュの追加
 1サイクルでアクセスできるように
 32B × 32エントリ = 1KB 程度
 主に空間局所性を抽出
 ヒット率は当然低い(最悪 70% 程度)
 ヒット/ミス予測が欲しい
Advanced Computer Architecture
レイテンシ予測
 演算器のレイテンシを予測する
 可変レイテンシ演算器

キャリーが伝搬しないとき1サイクルで

入力が同じ(ヒット)なら,1サイクルで
 キャッシュ・ヒット/ミス予測
Advanced Computer Architecture
レイテンシ予測
キャッシュ
ヒット/ミス判定
Sched
I OR
EX
Sched
投機的に発行
cycle
MEM WB
I OR
EX
WB
Advanced Computer Architecture
レイテンシ予測
キャッシュ
ミス!
Sched
I OR
EX
MEM
Sched
I OR
投機的に発行
(静的にヒットと予測)
キャッシュ
cycle
リフィル
L2
L2
WB
Sched
キャンセル
I OR
EX
再スケジュール
WB
Advanced Computer Architecture
レイテンシ予測
キャッシュ
ミス!
Sched
I OR
EX
Sched
発行しない
(ミスと予測)
MEM
キャッシュ
cycle
リフィル
L2
L2
Sched
I OR
WB
EX
WB
Advanced
Computer
Architecture
演算器のクラスタ化
Advanced Computer Architecture
演算器のクラスタ化
 オペランド・バイパス
 長い
 配線遅延が問題
Advanced Computer Architecture
オペランド・バイパス
RF
Advanced Computer Architecture
オペランド・バイパス
RF
Advanced Computer Architecture
クラスタ化
RF
Advanced Computer Architecture
クラスタ化 レイアウト
RF
RF
63
0
63
0
Advanced Computer Architecture
クラスタ化と命令ステアリング
 クラスタ化
配線長:
1/2(以下)
 配線遅延:
1/4(以下)

配線遅延 ∝ (配線長)2
 クラスタ間のオペランド受け渡し
 1サイクル > のペナルティ
 ある種の可変レイテンシ
 命令ステアリング (instruction steering)
 命令の振り分け
 クリティカルな命令を同じクラスタに
Advanced
Computer
Architecture
ここまでのまとめ
Advanced Computer Architecture
配線遅延
 配線遅延:
 スケーリングされない
 ARC がそのままだと,クロックは向上しない
 対策
 パイプライン化
 非集中化

垂直

水平
Advanced Computer Architecture
配線遅延
 パイプライン化,非集中化
 IPC は必ず低下する!
 クロックを上げつつ,IPC をどう維持するか
 ヒット率の向上
 「あたると速いハードを作って,あてる」
Advanced Computer Architecture
Advanced
Computer
Architecture
VLIW プロセッサ
Advanced Computer Architecture
VLIW プロセッサとは
 VLIW (Very Long Instruction Word)
 最も naive な定義:
 命令は,演算器1つ1つに対して,その操作フィールドを持つ
 毎サイクル,すべての演算器の動作を逐一 指定する

することがなければ,nop を指定
Advanced Computer Architecture
VLIW とは
ALU0
VLIW :
≒ 32b
cycle
ALU1
L/S
L/S
branch
f MUL
f ADD
f DIV
Advanced Computer Architecture
VLIW とは
 メリット
 簡単
 ディメリット
 nop の圧縮が必須
 命令互換性がない,特に下位 (backward)
 高性能なコンパイラが必須
 商業的な成功例はない
Advanced Computer Architecture
Intel Itanium プロセッサ
 EPIC (Explicitly Parallel Instruction Computing)
 レジスタ

128 x 64b GR

128 x 82b FR

64 x 1b Predication Registers
 Stacked Register for Argument Passing
 Rotating Register for Software Pipelining
 既存の VLIW 研究の成果など,やりたいことは全部入れた複雑なARC
Advanced Computer Architecture
EPIC
 24 Templates:命令の種類と Stop Bit
 命令グループ (instruction group)
 並列に実行可能な命令
 Stop Bit から Stop Bit
M
I
I
M
M
I
M
M
F
B
B
B
M
I
I
M
M
I
M
M
F
B
B
B
M
I
I
M
M
I
M
I
B
M
M
B
M
I
I
M
M
I
M
I
B
M
M
B
M
LX
M
F
I
M
B
B
M
F
B
M
LX
M
F
I
M
B
B
M
F
B
128b
: Stop Bit
Advanced Computer Architecture
EPIC
 うまくスケジューリングすると nop を削減できる
M1
I2
M3
M4
M5
M1
I2
nop
M3
M4
nop
M5
F6
nop
M1
M3
I2
M1
M4
M5
F6
M3
I2
M4
M5
F6
cycle
F6
Advanced Computer Architecture
VLIW とは
 より一般的な定義:
 ILP プロセッサで,動的に命令をスケジューリング…

する:
スーパースカラ

しない:
VLIW
 本講義での定義:
 分解できない命令グループがある:VLIW
Advanced Computer Architecture
分解できない命令グループ
 分解できない命令グループ
 可変レイテンシに柔軟に対処できない
 パイプライン・ストール
I1
I2
I3
I4
I5
I6
cycle
静的スケジューリング
I1
I2
I3
I4
I5
I6
cycle
I1
I2
I5
I4
I3
I6
cycle
VLIW
スーパースカラ
Advanced Computer Architecture
OoO スケジューリングの効果
Advanced
Computer
Architecture
今日のまとめ
Advanced Computer Architecture
配線遅延
 配線遅延:
 スケーリングされない
 ARC がそのままだと,クロックは向上しない
 対策
 パイプライン化
 非集中化
Advanced Computer Architecture
配線遅延
 パイプライン化,非集中化
 IPC は必ず低下する!
 クロックを上げつつ,IPC をどう維持するか
 ヒット率の向上
 Risk-Taking なアーキテクチャ
 あたれば速い
 VLIW は,最悪を見込まないといけないのでダメ

Itanium が Xeon よりクロックが遅いのは,理由がある
Advanced Computer Architecture
今後の予定
 メモリ・ディスアンビギュエーション
 マルチスレッド・プロセッサ
 SIMD 命令
ダウンロード

微細化への対応