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 命令
© Copyright 2025 ExpyDoc