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