情報処理系論第2回 1999年4月16日 今日のテーマ 「コンピュータアーキテクチャ」 目的による違い – 用途 – 速度 – 何ができるの? コンピュータの構成要素 コンピュータアーキテクチャの比較 コンピュータアーキテクチャを知る 様々なコンピュータ Sun Workstation PC-AT互換機 IBM SP2 スーパーコンピュータ みんなのラップトップ 工業用コンピュータ Windows CE機 Zaurus Dreamcast Nintendo64 何がちがうのかしら? その1 ゲーム機 使う目的が違う – グラフィックが高速 – ゲームに特化 PDA – ある程度性能を無視して可搬性を向上 コンピュータ – 拡張性、汎用性をもった(一般的な)コンピュータ – 特定の計算処理に特化したスーパーコンピュータ – とにかく早く処理が終わることを目的とした並列コ ンピュータ 何が違うのかしら? その2 ゲーム機 構成要素が違う – 高速なグラフィックチップ – 拡張スロット、拡張ベイなどはない PDA – すべて小型、軽量な構成要素 – PCカード、コンパクトフラッシュカードスロット コンピュータ – 用途に合わせた能力/個数のCPU – 用途に合わせた周辺機器 様々なコンピュータアーキテク チャ これから話すアーキテクチャの話 – 科学技術計算やCGで使われるアーキテクチャ • • 超たくさんの計算を行なう(レイトレーシング) 超たくさんの「場合」にチャレンジする(暗号解読) – バンキングシステムで使われるアーキテクチャ • 超たくさんのデータを扱う – アトランタオリンピックで使われたアーキテクチャ • 超たくさんのクリック小僧が同じデータを同時にアクセス – インターネットTVで使われるアーキテクチャ – みんなのPC-AT互換機のアーキテクチャ *CGで、見えない部分を消す処理のこと レイトレーシングするとき CGで2時間の映画(Toy Storyみたいな) – 大量の浮動小数点演算(それ以外いらない) – こんな画像を15万枚くらい作る必要がある どんなアーキテクチャが必要? 強力な浮動小数点演算能力をもつCPU 高速なデータバス CPUの名前 SPECint95 SPECfp95 Intel PentiumPro 200MHz 8.1 6.3 IBM PowerPC 300MHz 13.2 8.5 Intel PentiumII 400MHz 17.2 12.9 Intel PentiumIII 500MHz 20.6 14.7 DEC Alpha 500MHz 15.4 21.1 Sun UltraSparc3 600MHz 35 60 DEC Alpha 600MHz 18 27 でも、CPUが一つ以上あってはいけないきまりはない よ! どんなアーキテクチャが必要? まずは高速な各CPU! – – – – 大量の1次/2次キャッシュ スーパースカラ、スーパーパイプライン 浮動小数点を扱う特別な命令セット 各CPU内部で命令実行の並列度を高くする CPUをいくつもならべちゃえ! – マルチプロセッサ型システムアーキテクチャ – 処理を並列化(いくつもの計算を同時に行なう) CPU高速化技術の話 スーパースカラ – 複数の命令を並列実行可能にする技術 複数の演算ユニットが同時に命令を実行する CPU 演算ユニット数 PentiumII 6 K6-2 5 K7 9 CPU内の処理の流れ 命令デコーダ 演算 演算 演算 演算 演算 ユニット ユニット ユニット ユニット ユニット ロード/ストア キュー AMD K7のブロックダイアグラム 2-way, 64KB Instruction Cache 24-entry L1 TLB/256-entry L2 TLB Fetch/Decode Control Predecode Cache Branch Prediction Table 3-Way x86 Instruction Decoders Instruction Control Unit (72-entry) FPU Stack Map / Rename Integer Scheduler (18-entry) FPU Scheduler (36-entry) FPU Register File (88-entry) Bus Interface Unit IEU AGU IEU AGU IEU AGU FStore FADD MMX 3DNow! FMUL MMX 3DNow! Load / Store Queue Unit 2-way, 64KB Data Cache 32-entry L1 TLB/256-entry L2 TLB System Interface L2 SRAMs L2 Cache Controller CPU高速化技術の話 スーパーパイプライン – 各演算ユニットが処理する命令を小さくデコードする。 – プロセッサの高クロック化が容易になる。 Clock バスユニット デコードユニット 制御ユニット ALU メモリ管理 ユニット フェッチ 1 フェッチ 2 フェッチ 3 フェッチ 4 結果の 格納1 デコード 1 デコード 2 デコード 3 デコード 4 実行 1 実行 2 実行 3 実行 4 アドレス 1 アドレス 2 アドレス 3 フェッチ 5 フェッチ 6 デコード 5 アドレス 4 CPU高速化の話 浮動小数点を扱う各社の命令セット – SSE(Intel) KNIとも呼ばれることがある • • 4個の倍精度浮動小数点演算を1命令で処理 (SIMD:Single Instruction Multiple Data) SSE命令セット専用のレジスタを設置 – 3DNow!(AMD K6-2/III) • • 最大4個の浮動小数点演算を1クロックで処理 MMXレジスタを共有 – MVI(DEC Alpha) Motion Video Instruction • マルチメディア処理用の命令系統 CPU高速化の話 1次キャッシュ/2次キャッシュの大容量化 メモリバスの高速化 入出力バスの高速化 並列コンピュータの話 1個のCPUをいくら高速にしても光の限界を 超えられない。 CPUを数十個から数万個結合して並列処理 しようぜ!(Massively Parallel Processing) Intel PentiumIII 800MHz スーパーコンピュータ(NEC SX-5 512CPU) 8GFLOPS 4TFLOPS 並列コンピュータの話 密結合並列システム – 複数のCPUがメモリを共有 疎結合並列システム – CPU間でメモリの共有は起こらない CPU CPU CPU バス メモリ 周辺機器 CPU メモリ CPU メモリ 高速ネットワーク CPU メモリ CPU メモリ バンキングシステムするとき コンピュータで客の金を管理 銀行間の決済処理 – 信頼性と耐故障性 – 迅速な応答 要するにデータベースシステム 管理システム ここが問題! どんなアーキテクチャが必要? 高速な応答性をもったアーキテクチャ – ディスクアクセス、メモリアクセス、入出力動作の合計 – CPUの処理時間は↑よりもずっと少ない 故障に強いアーキテクチャ – 停電、地震、雷、火事その他の天災。ソフトウエアが 異常終了など。 – バックアップとなるソフトウエア – バックアップとなるコンピュータ 他には? コンピュータの応答時間 CPUの処理時間と入出力動作時間の合計 – ほとんどが入出力動作時間 入出力動作時間を短縮するには – 高速なメモリを大量に利用する。 – 高速な2次記憶装置(HDD、ほげほげドライ ブ)を利用する。 – 高速なバスを利用する。 バスの話 CPUとメモリや周辺機器とを結ぶ線 バスの先には拡張スロットがついている。 バスの速さとは – データ幅、バスクロック – データ転送速度 バス名 XT BUS ISA BUS EISA BUS VL BUS PCI BUS データ幅 (Bit) アドレスバス幅 (Bit) バスクロック (MHz) データ転送速度 (MB/Sec) 8 16 32 32 32/64 20 24 32 32 32 6–8 8 – 16 8 – 33 Max 40 16 - 33 4 16 33 32 120/240 PCIバスをもつAT互換機の構成図 KB LAN CPU DPU PCIブリッジ ODP SOUND SCSI RTC VIDEO メモリ バッファ SIO DPU PCIブリッジ DRAM 2MB-128M キャッシュメモリ 64K-512K CPUバス PCIバス ISAバス メモリの話 記憶装置には2種類ある – 電源が切れるとデータがきえてしまう:RAM – 電源が切れてもデータは保持される:ROM メモリの話(価格) 10万円 5万円 1万円 1998年1月1日 1998年7月1日 長野オリンピックしたとき 16日間で650,000,000ヒット – 一日あたり40,625,000ヒット – 一分あたり28211ヒット – 一秒あたり470ヒット 最もアクセスが集中した時は分103429ヒット – 1998年2月20日9時 – 一秒あたり1723ヒット – 女子フィギュア決勝+アイスホッケー準決勝 総量4.5tera byteのデータ どんなアーキテクチャが必要? 超たくさんのアクセスを同時に処理するた めには? 分散アーキテクチャ • アクセスする人に対して、分散していること を隠蔽するためには? 透過的アーキテクチャ 長野 透過的な分散 アトランタ RS6000(model H70) 1~4のSMP構成(symmetric multiprocessing) 64bit processor – RS64-II(340Mhz) システムバス – 1.4GB/s PCIバス – 独立4系統、8スロット 長野オリンピックでの負荷分散 WWWサーバは世界数カ所に分散配置 – 各サーバへアクセスを分散する仕組み – 各サーバ間でのコンテンツの整合性の確保 各サーバへのアクセスを分散 – 世界各地に設置されたサーバに、全て同じIP アドレスを割り当て、各クライアントは最も近い サーバにアクセスする コンテンツの整合性の確保 – DFS(Distributed File System)を利用 SP2 X.X.X.X SP2 SP2 SP2 X.X.X.X X.X.X.X X.X.X.X 同一のアドレス Open Net (IBM) 各クライアントは、 経路的に最も近い サーバを利用 Router Router Router Client Client Client Client Client Client Client Client Client 各サーバ(SP2)内での負荷分散 Net Dispatch – HTTPのセッションをTCPセッションのレベルで 負荷の低いノードを選択してルーティング – 長野で使用されたNP2では、各サーバは30 ノードから構成されていた。 HTTP Request Net Dispatch TCP Session Nodes Map Table HTTP Response Nodeの 負荷情報 Node1 Node2 Node3 Noden 今日のまとめ コンピュータアーキテクチャを理解 – 用途によって適するアーキテクチャが違う PCの構造を理解(少し) – CPU、メモリ、バス いろいろな用途に使われるアーキテクチャ の具体例 第2回 おわり コンピュータアーキテクチャ 比較の視点 CPUの速さ – 整数演算、浮動小数点演算 メモリの速さ – アクセスタイム、メモリバスの帯域 記憶装置の速さ – HDDやほげほげドライブの回転数 周辺機器が備える特殊な機能 – DVDやMPEGのデコード システム構成の違い アーキテクチャの比較(CPU) MIPS(million instructions per second) – 1秒あたりの命令実行数を100万個単位で数えたもの FLOPS(Floating Point Operations per second) – 1秒あたりの浮動小数点演算実行数を数えたもの SPECint95, SPECfp95 – CPUの整数/浮動小数点演算性能をSun SS10/40を1とし て相対評価したもの MHz(MEGA Hertz) – 1秒あたりの(CPUの)クロックサイクル数 CPUの性能(SPECint95) SPECint95 SPECfp95 Intel PentiumPro 200MHz 8.1 6.3 IBM PowerPC 300MHz 13.2 8.5 Intel PentiumII 400MHz 17.2 12.9 Intel PentiumIII 500MHz 20.6 14.7 DEC Alpha 500MHz 15.4 21.1 Sun UltraSparc3 600MHz 35 60 DEC Alpha 600MHz 18 27 プロセッサの性格、目的、構造などから、クロック サイクル数と性能が比例しないことがわかる。 計算機の性能 SPECfp95 SG IOnyx2 (R10000 200MHz x 2) 19.1 Sun Ultra 2(UltraSPARCII 300MHz x 2 20.2 Sun Enterprise 3000 (UltraSPARCII 336MHz x6) 37.6 SGI Origin2000 (R10000 250MHz x16) 76.6 Dec AlphaServer 8400 6/575 (21264 575MHz x8) 114 プロセッサのクロックサイクル数よりも数によって 性能が異なるのがわかる。 ccz00?とか アーキテクチャの比較(メモリ) RAS Latency – アクセスする「列」を指定してからデータ取得 可能になるまでのクロック数 CAS Latency – 指定した「列」の内アクセスするセルを指定し てからデータ取得可能になるまでのクロック数 アーキテクチャの比較(HDD) 回転数 – 1分あたりの円盤の回転数 平均シークタイム – 特定のデータを円盤から探すのに要する時間 インタフェースの転送速度 – ハードディスクからデータを読み出すときの帯域 アーキテクチャの比較(周辺機器) DVDのデコード – ATI RAGE128(ビデオチップ) TVチューナカード – TV映像を受信してPCで表示 ビデオキャプチャカード – NTSC/PAL信号を入力してPCに保存/表示 CPUの特殊な能力 – Katmai Native Instruction set(Intel PentiumIII) – 3DNow!(AMD K6-2, K6-III) HDDの性能(回転数) スピンドルモーター アーム コンピュータアーキテクチャ 構成要素 CPU(中央演算装置) メモリ 周辺機器 – – – – 記憶装置(ハードディスク、ほげほげドライブ) ビデオカード サウンドカード その他の入出力デバイス バス コンピュータアーキテクチャ 構成要素の概念図 1次キャッシュ CPU バス メモリ 2次記憶装置 周辺機器 周辺機器 CPUの中身 アドレス生成ユニット 演算ユニット – 加減算 – 乗除算 – 浮動小数点演算 1次・2次キャッシュ レジスタ
© Copyright 2024 ExpyDoc