1 / 44

09. 微細化への対応

09. 微細化への対応. 五島 正裕. 内容. 配線遅延 キャッシュのパイプライン化,多階層化 演算器のクラスタ化 VLIW プロセッサ. 配線遅延. ゲート遅延,配線遅延とスケーリング. スケーリング: 最小加工寸法 : 1/ S 倍 ゲ ー ト 遅 延 : 1/ S 倍 ローカル 配線遅延 : 1 倍 グローバル 配線遅延: 1/ S ~ 1 倍. 配線 遅延とスケーリング. 配線遅延 ∝ RCL 2 R : 単位長さ当たりの抵抗 C : 単位長さ当たりの容量 L : 配線長 ローカル配線: 1 倍

macon
Download Presentation

09. 微細化への対応

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 09. 微細化への対応 五島 正裕

  2. 内容 • 配線遅延 • キャッシュのパイプライン化,多階層化 • 演算器のクラスタ化 • VLIW プロセッサ

  3. 配線遅延

  4. ゲート遅延,配線遅延とスケーリング • スケーリング: • 最小加工寸法: 1/S 倍 • ゲ ー ト 遅 延 : 1/S 倍 • ローカル 配線遅延 :1倍 • グローバル 配線遅延:1/S~1倍

  5. 配線遅延とスケーリング • 配線遅延 ∝RCL2 • R : 単位長さ当たりの抵抗 • C : 単位長さ当たりの容量 • L: 配線長 • ローカル配線: 1倍 • 細くなる(高さ一定) ⇒R: S 倍 • 隣の配線と近くなる ⇒C: S 倍 • 短くなる ⇒L: 1/S倍 • グローバル配線: < 1倍 • 細くしない,高くする⇒ R: < S倍 • 隣の配線と離す⇒ C:< S倍 • 短くなる,リピータを挿入する ⇒ L : <1/S 倍 L 最小加工寸法

  6. 配線遅延 配線世代(ピッチ)と信号遅延時間の関係(SIA National Technology Roadmap for Semiconductors 1997)

  7. スーパスカラ・プロセッサのパイプライン • 演算器 • ゲート遅延 • それ以外:メモリ • 配線遅延

  8. 配線遅延 • 100nm 世代以前 • ゲート遅延が支配的 • ARC はそのままでも,微細化するとクロックが上がり,性能が上がる • サブ 100nm 世代 • 配線遅延が支配的に… • ARC がそのままだと,微細化してもクロックは上がらず,性能も上がらない

  9. サブ 100nm 世代の ARC • パイプライン化 (pipelining) • 非集中化 (decentralization) • 水平 • 垂直

  10. パイプライン化 • 多段に分割 • クロックは速くなる が • 実時間は変わらない(ちょっと伸びる) • レイテンシ(サイクル数)が長くなる • レイテンシが性能に与える影響を最小化する必要がある • 投機との組み合わせが重要

  11. 最近のスーパスカラ・プロセッサのパイプライン最近のスーパスカラ・プロセッサのパイプライン

  12. 非集中化 (decentralization) • 水平 • (ほぼ)対等な複数のユニットに • 多バンク化(メモリの場合) • 多重化(ポートの削減) • 垂直(多階層化) • 小型と大型(元)に • ヒット/ミス

  13. サブ 100nm 世代の ARC • パイプライン化,非集中化 • IPC は,必ず低下する! • 100nm 世代 • あまるトランジスタを何に使って,IPC を向上させるか • サブ 100nm 世代 • ILP (Instruction-Level Parallelism) も限界 • クロックを上げつつ,IPC をどう維持するか

  14. 非集中化の例 • 命令ウィンドウの非集中化 • 整数,ロード/ストア,浮動小数点 • 演算器の可変レイテンシ化 • キャリーが伝搬しないと予測すれば,1サイクルで • 多ビットのシフトは2サイクルで • 演算結果再利用 • 最近の演算結果をとっておき,入力が同じなら再利用する • 入力が同じ(ヒット)なら,1サイクルで • キャッシュの多階層化 • 演算器のクラスタ化 (clustering)

  15. キャッシュのパイプライン化,多階層化

  16. キャッシュのパイプライン化,多階層化 • 最近のプロセッサの1次命令/データ・キャッシュ • 2~4 サイクル(パイプライン化されている) • ex) Athlon,Core • 16~32KM 程度の RAM のアクセスには,いつでも 1nsec 程度かかる • 1GHz の時代: 1サイクル ⇒ 1nsec • 3GHz の時代: 3サイクル ⇒ 1nsec

  17. 0次キャッシュの追加 • 0次キャッシュの追加 • 1サイクルでアクセスできるように • 32B × 32エントリ = 1KB 程度 • 主に空間局所性を抽出 • ヒット率は当然低い(最悪 70% 程度) • ヒット/ミス予測が欲しい

  18. レイテンシ予測 • 演算器のレイテンシを予測する • 可変レイテンシ演算器 • キャリーが伝搬しないとき1サイクルで • 入力が同じ(ヒット)なら,1サイクルで • キャッシュ・ヒット/ミス予測

  19. レイテンシ予測 キャッシュ ヒット/ミス判定 cycle Sched I OR EX L1 WB Sched I OR L1 WB 投機的に発行

  20. L1 WB I OR Sched I OR レイテンシ予測 キャッシュ ミス! キャッシュ リフィル cycle Sched I OR EX L2 L2 Sched EX WB 投機的に発行 (静的にヒットと予測) キャンセル 再スケジュール

  21. EX L2 WB Sched I OR EX L2 Sched レイテンシ予測 キャッシュ ミス! キャッシュ リフィル cycle Sched I OR L1 WB 発行しない (ミスと予測)

  22. 演算器のクラスタ化

  23. 演算器のクラスタ化 • オペランド・バイパス • 長い • 配線遅延が問題

  24. オペランド・バイパス RF

  25. クラスタ化 RF

  26. クラスタ化 レイアウト RF RF 63 0 63 0

  27. クラスタ化と命令ステアリング • クラスタ化 • 配 線 長 : 1/2 • 配線遅延: 1/4 • 配線遅延 ∝ (配線長)2 • クラスタ間のオペランド受け渡し • ≥ 1サイクル • ある種の可変レイテンシ • 命令ステアリング (instruction steering) • 命令の振り分け • クリティカルな命令を同じクラスタに

  28. ここまでのまとめ

  29. 配線遅延 • 配線遅延: • スケーリングされない • ARC がそのままだと,クロックは向上しない • 対策 • パイプライン化 • 非集中化 • 垂直 • 水平

  30. 配線遅延 • パイプライン化,非集中化 • IPC は必ず低下する! • クロックを上げつつ,IPC をどう維持するか • ヒット率の向上 • 「あたると速いハードを作って,あてる」

  31. VLIW プロセッサ

  32. VLIW プロセッサとは • VLIW (Very Long Instruction Word) • 最も naive な定義: • 命令は,演算器1つ1つに対して,その操作フィールドを持つ • 毎サイクル,すべての演算器の動作を逐一 指定する • することがなければ,nop を指定

  33. VLIW とは ALU0 ALU1 L/S L/S branch f MUL f ADD f DIV VLIW : ≒ 32b cycle

  34. VLIW とは • メリット • 簡単 • ディメリット • nop の圧縮が必須 • 命令互換性がない,特に下位 (backward) • 高性能なコンパイラが必須 • 商業的な成功例はない

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

  36. EPIC • 24 Templates:命令の種類と Stop Bit • 命令グループ (instruction group) • 並列に実行可能な命令 • Stop Bit から Stop Bit 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 I I M M I 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

  37. EPIC • うまくスケジューリングすると nop を削減できる M1 I2 nop M3 M4 nop M1 I2 M5 F6 nop M3 M4 M5 M1 M3 I2 M1 M4 M5 F6 M3 I2 M4 M5 F6 F6 cycle

  38. VLIW とは • より一般的な定義: • ILP プロセッサで,動的に命令をスケジューリング… • す る:スーパスカラ • しない: VLIW • 本講義での定義: • 分解できない命令グループがある:VLIW

  39. 分解できない命令グループ • 分解できない命令グループ • パイプライン・ストール • レイテンシの変化に柔軟に対処できない I1 I2 I1 I2 I5 I4 I3 I4 I3 I6 I5 I6 cycle cycle VLIW スーパスカラ

  40. 分解できない命令グループ • 例えば,1次キャッシュのレイテンシ: • 2 にすると, • グループ内にロード命令が1つでもあれば,1サイクル ストールする • ほとんどすべてのグループに,ロード命令はある • 実質,性能は半分に • 1のままにすると, • 微細化しても,クロックが上がらない • 実際の例(2009/06 現在): • Intel Itanium 2:1.66GHz (L1:16KB,1サイクル) • Intel Core i7: 3.06GHz (L1:32KB,4サイクル)

  41. 今日のまとめ

  42. 配線遅延 • 配線遅延: • スケーリングされない • ARC がそのままだと,クロックは向上しない • 対策 • パイプライン化 • 非集中化

  43. 配線遅延 • パイプライン化,非集中化 • IPC は必ず低下する! • クロックを上げつつ,IPC をどう維持するか • ヒット率の向上 • Risk-Taking なアーキテクチャ • あたれば速い,そしてあたる • VLIW は,最悪を見込まないといけないのでダメ • Itanium (1.66GHz) が Core (3.06GHz) よりクロックが遅いのは,理由がある

  44. 今後の予定 • マルチスレッド・プロセッサ • SIMD 命令

More Related