計算機システムⅡ 現代的な計算機アーキテクチャの解説 和田俊和 講義計画 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. コンピュータの歴史1 コンピュータの歴史2 コンピュータの歴史3 論理回路と記憶,計算:レジスタとALU 主記憶装置とALU,レジスタの制御 命令セットアーキテクチャ 演習問題 パイプライン処理 メモリ階層:キャッシュと仮想記憶 命令レベル並列処理 入出力と周辺装置 演習問題(問題配布) 演習問題(解答例配布) 現代的な計算機アーキテクチャの解説(←本日) 演習問題 試験 • 教科書:坂井修一著:電子情報通信学会レクチャーシリーズC−9,コンピュータアーキテクチャ,コロ ナ社 • 最終回の試験によって成績評価を行う.5回以上欠席で不合格とする. 本日の講義の範囲 • 並列コンピュータ – SMP(UMA)とNUMA – MIMDとSIMD • 並列コンピュータのキャッシュ – スヌープキャッシュ • 投機的実行 – 分岐予測 – 積極的実行 • その他 1 並列コンピュータ ムーアの法則 • 集積回路上のトランジスタの数は18ヶ月で倍にな る.2019年あたりまで継続すると考えられている. • コンピュータの速度 上昇には別の制限 がある. • 単位面積当たりの発 熱制限が厳しくなり, クロックが上げられ ない. • 並列化による速度向 上しか方法はない. マルチコア キャッシュメモリ キャッシュメモリ キャッシュメモリ キャッシュメモリ キャッシュメモリ SMP と NUMA • SMP(Symmetric Multi Processor)全コアから共通 にメモリアクセスが行える 必要があり,フロントサイ ドバスが混む.UMAとも呼 ぶ. • NUMA(Non-Uniform Memory Architecture)複 数のコアとメモリを持つ ノードがクロスバースイッ チにより相互接続されて いる. NUMA詳細 • 一つのノードはSMPと考えて良い. • 全てのメモリにアクセスできるが,他のノードのメ モリにアクセスする際は遅くなる. • メモリ番地によるアク セス速度の違いを考 慮したソフトウエア設 計が必要 • Intel: Itanium, Nahalem系統(Xeron, Corei5,7,etc) • AMD: Opteron 命令とデータの関係から見た 並列コンピュータ • MIMD: Multi Instruction Multi Data 個々のCPUが実行する命令 を別々に用意し,多数の データに対して演算を適用 する.→分散メモリ形計算機 • SIMD: Single Instruction Multi Data CPUが一つの命令を読み, 複数の演算器を動作させて, 複数のデータに対して処理 を行う.→GPU, MMX(SSE) 並列計算機用キャッシュ メモリ共有型並列計算機で起きること • CPU1がアドレス1の内容を読み出す→CPU1の キャッシュへのコピーが起きる. • CPU2もアドレス1の内容を読み出す→CPU2の キャッシュへのコピーが起きる. • CPU1がアドレス1の内容を変更するために キャッシュを書き換えた.(Write backであると仮 定する.) • CPU2には,元のアドレス1の内容がコピーされた キャッシュが残っている.どうするか... キャッシュの一貫性(キャッシュコヒーレンシー)が 崩れる. キャッシュメモリ間で協議させる. • スヌープ方式 – 無効型プロトコル:あるキャッシュが更新を行うとき, 「そのアドレスはダーティである」として参照中の全 キャッシュの該当ラインを無効化するように依頼する. – 更新型プロトコル :他が 参照しているときにデー タ更新を行うときはライト スルー型となり,単独で アクセスしている場合は ライトバック型となるよう な制御を行う その他の方式 • ディレクトリ方式 (Directory-based Protocol) メモ リの一貫性をディレクトリと呼ぶ専用領域にて一 元管理する方式.分散メモリ型システムに適し ている. • 共有キャッシュ (Shared Cache) 1つのキャッシュ に対し複数のCPUが参照できるような構成を持 つキャッシュ.キャッシュ自体の構造が非常に 複雑となり,多くのCPUを接続することは困難. 更なる並列化へ PCクラスタ • 数十から数百台のPCを相互に結合して1つ の計算を行うBeowolf (PVC, MPIなどの並列計 算ライブラリ)などがよく使われる. • Hadoop:データが他のノードにある場合の参 照に時間がかかってしまう→タプル(組み)で, データを管理する:<key,値> Map Shuffle Reduce Hadoop 投機的実行 投機的実行の分類 • 分岐予測 – これまでの講義で述べた方法 • 積極的実行 – 計算機資源がある限り,分岐先を両方とも実行 する その他 どんな計算機が速いのか? 整数演算で速かったもの 浮動小数点で速かったもの CPUの性能評価 • SPEC社が実施しているベンチマーク http://www.spec.org/cpu2006/results/ • SPECint2006 単一ジョブ • SPECfp2006 単一ジョブ • SPECint_rate2006 複数ジョブ • SPECfp_rate2006 複数ジョブ これらの結果は,日々更新されており,各PC メーカがしのぎを削っている. ARMの場合 • ARMの場合は,MIPS (Mega Instruction Per Second)で 計測される(基本設計が同じなので,これで評価でき る.) • マルチコア化も進んでいる. • 携帯機器向けなので,消費電力も重要な評価要素に なる. • 浮動小数点演算は外付けのFPUで.ベクトル(SIMD) 化も行われている. • Qualcom社の実装が評価され,ARM CPU市場の大 部分を同社が抑えている. • 同社 snapdragonでは,GPUの組み込み,コア毎のク ロック制御,HDビデオのデコード機能の搭載,SIMDが 128bit化されており,理論上は,他社製品よりも倍の 性能が出る設計.
© Copyright 2024 ExpyDoc