コンピュータアーキテクチャ: ここでやったこと これからやること 計算機構成同演習最終回 天野 コンピュータの構成 この授業で やったところ Disk Key CPU Display System Bus Bridge I/O Bus Memory System コンピュータの3要素 記憶の階層 高速小容量なメモリと 低速大容量のメモリを 組み合わせる CPU オンチップ キャッシュ オンボード キャッシュ(SRAM) 4K-64K 64K-1M 64M-1G 主記憶(DRAM) ハードウェア制御 ディスク 10G-100G OS制御 I/Oとして扱う 重要な入出力(I/O) バスブリッジを介してI/Oバスと接続 メモリと同様な番地付けをする場合が多い (Memory-mapped I/O) マルチメディア化により範囲が広がる ディスク、テープ、CD、DVDなどの補助記憶 Ethernetなどのネットワーク ビットマップディスプレイ、CDCビデオ入力 キーボード、マウス等の入力装置 音声出力、入力 メモリシステムと入出力 メモリシステム I/Oの接続 割り込み DMA(Direct Memory Access) コンピュータアーキテクチャ (3年春) オペレーティングシステム(3年秋) 情報工学実験 (3年秋) 入出力 記憶の階層 キャッシュ 仮想記憶 記憶管理 アクセスメソッド (ディスクの実験) マイクロプロセッサ実験 FPGA上にCPUを実現 入出力プログラム 関連した実験 16ビットのCPUを 作ってしまう ディスクアクセスの 時間を測定 入出力実験用ボード CPUの構成(この授業でやった部分) Controller ALU pc ir register file mar Address bus mdr Data bus Memory マイクロプロセッサの性能向上 VAX-11/780を1とした時 Intel Pentium III 1600 1200 800 400 HP9000 MIPS R2000 IBM PowerPC DEC Alpha HP9000 1986 1988 1990 1992 1994 1996 1998 2000 CPU性能向上のための技法 コンピュータアーキテクチャ(3年春) コンピュータ情報通信メディア特論(大学院) コンピュータアーキテクチャ特論(大学院) パイプライン処理 命令レベル並列処理 スーパースカラ VLIW SMT マルチプロセッサ クラスタコンピューティング 再構成可能プロセッサ パイプライン処理 IF RF 命令をどんどんフェッチして実行する 現在はほとんど全てのCPUが パイプライン化されている EX WB Instruction Memory ALU + 2 Data Memory PICOのパイプラインの例 スーパスカラ方式 2命令同時発行の例 (3,4命令同時発行も実現さ れている) WB WB EX 命令コードの互換性がある 命令実行制御がたいへん EX 通常の命令 パイプライン RF RF IF IF 浮動小数点演算 パイプライン キャッシュ 通常の命令 浮動小数点演算命令 メモリシステム VLIW(Very Long Instruction Word) 方式 WB EX EX EX EX RF IF 4つの命令分の長い命令 実行の制御はコンパイラがあらかじめ行うので制御は簡単 コードの互換性がない 最近のマイクロプロセッサ 半導体技術の進展 面積は大きくなる しかし、性能はさほど向上しなくなる 0.1μm以降:スケーリング則の崩壊 スーパスカラプロセッサの複雑化 →設計コストの増大、性能向上の頭打ち 面積に見合った性能をいかに得るか? 拡張されたVLIW方式 SMT (Simultaneous MultiーThreading) マルチプロセッサ化 Reconfigurable Systems Intel Itanium 64bit用命令セットIA-64に対応 VLIWの考え方を導入 コンパイラ主導による複数命令同時発行 動的スケジューリングを行わない しかし、単純なVLIWではなく柔軟性が高い一方、構 造はかなり複雑 投機的実行を支援 ループ処理向けの様々な機能を持つ 柔軟なVLIW(命令のグループ化) add r6=@gprel(a#),gp;; group1 r6=a[] ldfpd f1,f2=[r6] ldfd group2 f1=a[0],f2=a[1] f3=[r5],16;; f3=a[2] fma.d f4=f1,f2,f3 group3 f4=f1*f2+f3 柔軟なVLIW (グループとバンドル) group Bundle(128bit) Template(5bit) Cycle Break パイプライン構成 10段パイプライン、6命令同時発行 Front end Instruction Operand Delivery Delivery Execution IPG FET ROT EXP REN WLD REG EXE DET WRB IPG:Instruction Pointer generation FET:Fetch DET:Execute detect ROT:Rotate WRB:Write Back EXP:Expand REN:Rename WLD:Word-line decode REG:Register Read EXE:Execute Block Diagram L1 Instruction Cache・Fetch/Prefetch Engine Branch Prediction B B B L2 Cache MM I I F F RegisterStuck/Re-mapping Score Branch Integer boad Units MMU etc. Units Bus Controller FP Units IA-32 Decode and Control Off Chip L3 Cache Simultaneous Multithreading (SMT) スーパスカラプロセッサ マルチスレッドプロセッサ 複数命令同時発行 コンテキストスイッチをハードウェアでサポート SMTは両方の特徴を継承 プロセッサの利用効率が向上 SMTの動作 Issue Slots Issue Slots superscalar fine-grained multithreaded superscalar SMT Clock Cycles Issue Slots スーパスカラとの比較 Instruction Per Cycle(IPC) による比較 SPECInt OS superscalar SMT 無し 有り 3.0 5.9 2.6 5.6 Apache 無し 有り 1.1 4.6 SPECInt : not OS intensive application Apache : OS intensive application SMTの利点 並列度をスレッドレベルから命令レベルへ レイテンシの隠蔽が可能 IPC の向上 OS(kernel)の影響が減少 コンテキストスイッチをハードウェアで実行 ユニプロセッサと並列計算機の境目 どのようなレベルの並列性を利用するか? ILP(Instruction Level Parallelism) 命令レベルの並列処理 Trace Level Parallelism Thread Level Parallelism 数命令から成る命令列 一定の大きさの命令列(複数プロセス) ユニプロ セッサ Process Level Parallelism プログラマ、コンパイラが分割した一定の処理を行う命 令列 並列計算機 同時発行数の増加vs. プロセッサを接続 単一パイプライン 複数命令同時発行 高性能化 複数Thread同時実行 オンチップ化 共有メモリ、共有レジスタ プロセッサを接続 密結合 Flynnの分類 命令流(Instruction Stream)の数: M(Multiple)/S(Single) データ流(Data Stream)の数:M/S SISD ユニプロセッサ(スーパスカラ、VLIWも入る) MISD:存在しない(Analog Computer) SIMD MIMD SIMD •全プロセッサが同一命令で 動作 •柔軟性が低い •Illiac-IV/マルチメディア命令 タイプ(粗粒度) •CM-2タイプ(細粒度) 命令メモリ 命令 演算プロセッサ データメモリ SIMD型の分類 粗粒度型:各ノードで浮動小数点演算処理が可能 ILLIAC-IV,BSP,GF-11 最近の高性能CPUのマルチメディア命令 細粒度型:各ノードは1bitまたは数bitの演算しかできな い ICL DAP, CM-2,MP-2 コネクションマシンは応用分野を人工知能に拡大(CmLispの功 績) •全プロセッサが自分の命令 を独立に実行 •同期が必要 •汎用性が高い •様々な構成法が存在 MIMD プロセッサ 結合網 メモリ(命令・データ) MIMD型並列計算機 SMP:Symmetric Multi-Processor 2-4プロ セッサの小規模なマルチプロセッサでサーバ用 に普及 オンチップマルチプロセッサ:最近、各社で実用 化される PCクラスタ:手軽に高性能化が実現可能 大規模並列計算機:数は減ったがグリッドによっ てどこでも利用になりつつある。 Power4(IBM) 0.18μm copper process, 400m㎡ 17000M Tr. Inter-chip interface for MCM(Multi-Chip Module) TLP(Thread Level Parallelism) Design considering memory bandwidth Shared cache + links Power4(IBM) CPU1 L2 Shared Cache CPU2 L3 Tags Chip-to-Chip Interconnect >100GByte/s Chip-to-Chip Interconnect >500MHz >35GByte/s >333MHz >10GByte/s L3 Cache Main Memory >500MHz, Wave-Pipelined Expansion Buses >10GByte/s PCクラスタ 汎用のPCを構成要素として利用 通常のLANを用いたべオルフ型 MyrinetなどのSANを用いた高性能指向 安価で高性能 PCとネットワークインタフェース間が性能のボト ルネックとなる。 PC128台から成る新しいPCクラスタ RHiNET Earth Simulator (2002,NEC) Peak performance 40TFLOPS Interconnection Network (16GB/s x 2) Node 1 7 0 1 … Vector Processor 1 …. Vector Processor 0 … Shared Memory 16GB Vector Processor Vector Processor 1 7 Node 0 … Vector Processor Vector Processor Shared Memory 16GB Vector Processor 0 Vector Processor Vector Processor Shared Memory 16GB 7 Node 639 Reconfigurable System 問題の実行アルゴリズムを直接ハードウェア化 して実行するマシン 最近急激に発達しているFPGA、CPLDなどの ユーザが書き換え可能なデバイスを利用 最近は専用デバイスが次々に登場 仮想ハードウェア 動的適応型ハードウェア 進化型ハードウェア SSRAM SSRAM PCI Controller NECのDRP 1PEの構成 Tile VMU:コンテキスト共有メモリ まとめ スーパスカラ、VLIW、SMT、小規模オンチップマ ルチプロセッサは商用化の段階まできている PCクラスタは今後益々発展するがCPUとネット ワークとの接続が問題 グリッドはここ数年で急速に普及する Reconfigurable Systemはこれからの発展が 期待される コンピュータアーキテクチャの研究分野は益々 応用分野寄りに拡大する方向にある
© Copyright 2024 ExpyDoc