42
情情情情情情情 情情情情情情情 2 2 1999 1999 4 4 16 16

情報処理系論第 2 回

Embed Size (px)

DESCRIPTION

情報処理系論第 2 回. 1999 年 4 月 16 日. 今日のテーマ. 「コンピュータアーキテクチャ」 目的による違い 用途 速度 何ができるの? コンピュータの構成要素 コンピュータアーキテクチャの比較. コンピュータアーキテクチャを知る. 様々なコンピュータ. 何がちがうのかしら?  その 1. 使う目的が違う. ゲーム機 グラフィックが高速 ゲームに特化 PDA ある程度性能を無視して可搬性を向上 コンピュータ 拡張性、汎用性をもった(一般的な)コンピュータ 特定の計算処理に特化したスーパーコンピュータ - PowerPoint PPT Presentation

Citation preview

Page 1: 情報処理系論第 2 回

情報処理系論第情報処理系論第 22回回

19991999年年 44月月 1616日日

Page 2: 情報処理系論第 2 回

今日のテーマ今日のテーマ

「コンピュータアーキテクチャ」「コンピュータアーキテクチャ」 目的による違い目的による違い

– 用途用途– 速度速度– 何ができるの?何ができるの?

コンピュータの構成要素コンピュータの構成要素 コンピュータアーキテクチャの比較コンピュータアーキテクチャの比較

Page 3: 情報処理系論第 2 回

コンピュータアーキテクチャをコンピュータアーキテクチャを知る知る

様々なコンピュータ様々なコンピュータSun Workstation 工業用コンピュータPC-AT互換機 Windows CE機IBM SP2 Zaurusスーパーコンピュータ Dreamcastみんなのラップトップ Nintendo64

Page 4: 情報処理系論第 2 回

何がちがうのかしら? 何がちがうのかしら? そのその11

ゲーム機ゲーム機– グラフィックが高速グラフィックが高速– ゲームに特化ゲームに特化

PDAPDA– ある程度性能を無視して可搬性を向上ある程度性能を無視して可搬性を向上

コンピュータコンピュータ– 拡張性、汎用性をもった(一般的な)コンピュータ拡張性、汎用性をもった(一般的な)コンピュータ– 特定の計算処理に特化したスーパーコンピュータ特定の計算処理に特化したスーパーコンピュータ– とにかく早く処理が終わることを目的とした並列コンとにかく早く処理が終わることを目的とした並列コンピュータピュータ

使う目的が違う使う目的が違う

Page 5: 情報処理系論第 2 回

何が違うのかしら? 何が違うのかしら? そのその 22

ゲーム機ゲーム機– 高速なグラフィックチップ高速なグラフィックチップ– 拡張スロット、拡張ベイなどはない拡張スロット、拡張ベイなどはない

PDAPDA– すべて小型、軽量な構成要素すべて小型、軽量な構成要素– PCPCカード、コンパクトフラッシュカードスロットカード、コンパクトフラッシュカードスロット

コンピュータコンピュータ– 用途に合わせた能力用途に合わせた能力 //個数の個数の CPUCPU– 用途に合わせた周辺機器用途に合わせた周辺機器

構成要素が違う構成要素が違う

Page 6: 情報処理系論第 2 回

様々なコンピュータアーキテ様々なコンピュータアーキテクチャクチャ

これから話すアーキテクチャの話これから話すアーキテクチャの話– 科学技術計算や科学技術計算や CGCGで使われるアーキテクチャで使われるアーキテクチャ

• 超たくさんの計算超たくさんの計算を行なう(レイトレーシング)を行なう(レイトレーシング)• 超たくさんの「場合」超たくさんの「場合」にチャレンジする(暗号解読)にチャレンジする(暗号解読)

– バンキングシステムで使われるアーキテクチャバンキングシステムで使われるアーキテクチャ• 超たくさんのデータ超たくさんのデータを扱うを扱う

– アトランタオリンピックで使われたアーキテクチャアトランタオリンピックで使われたアーキテクチャ• 超たくさんのクリック小僧超たくさんのクリック小僧が同じデータを同時にアクセスが同じデータを同時にアクセス

– インターネットインターネット TVTVで使われるアーキテクチャで使われるアーキテクチャ– みんなのみんなの PC-ATPC-AT互換機のアーキテクチャ互換機のアーキテクチャ

Page 7: 情報処理系論第 2 回

レイトレーシングするときレイトレーシングするとき

CGCGでで 22時間の映画(時間の映画( Toy StoryToy Storyみたいみたいな)な)– 大量の浮動小数点演算(それ以外いらな大量の浮動小数点演算(それ以外いらない)い)

– こんな画像をこんな画像を 1515万枚くらい作る必要があ万枚くらい作る必要があるる

* CGで、見えない部分を消す処理のこと* CGで、見えない部分を消す処理のこと

Page 8: 情報処理系論第 2 回

どんなアーキテクチャが必どんなアーキテクチャが必要?要?

強力な浮動小数点演算能力をもつ強力な浮動小数点演算能力をもつ CPUCPU 高速なデータバス高速なデータバス

CPUの名前 SPECint95 SPECfp95Intel PentiumPro 200MHz 8.1 6.3IBM PowerPC 300MHz 13.2 8.5Intel PentiumII 400MHz 17.2 12.9Intel PentiumIII 500MHz 20.6 14.7DEC Alpha 500MHz 15.4 21.1Sun UltraSparc3 600MHz 35 60DEC Alpha 600MHz 18 27

でも、 CPUが一つ以上あってはいけないきまりはないよ!でも、 CPUが一つ以上あってはいけないきまりはないよ!

Page 9: 情報処理系論第 2 回

どんなアーキテクチャが必どんなアーキテクチャが必要?要?

まずは高速な各まずは高速な各 CPUCPU!!– 大量の大量の 11次次 /2/2次キャッシュ次キャッシュ– スーパースカラ、スーパーパイプラインスーパースカラ、スーパーパイプライン– 浮動小数点を扱う特別な命令セット浮動小数点を扱う特別な命令セット– 各各 CPUCPU内部で命令実行の並列度を高くする内部で命令実行の並列度を高くする

CPUCPUをいくつもならべちゃえ!をいくつもならべちゃえ!– マルチプロセッサ型システムアーキテクチャマルチプロセッサ型システムアーキテクチャ– 処理を並列化(いくつもの計算を同時に行な処理を並列化(いくつもの計算を同時に行なう)う)

Page 10: 情報処理系論第 2 回

CPUCPU高速化技術の話高速化技術の話 スーパースカラスーパースカラ

– 複数の命令を並列実行可能にする技術複数の命令を並列実行可能にする技術複数の演算ユニットが同時に命令を実行す複数の演算ユニットが同時に命令を実行するる

CPU 演算ユニット数PentiumII 6K6-2 5K7 9

命令デコーダ

演算ユニット

演算ユニット

演算ユニット

演算ユニット

演算ユニット

ロード /ストア キュー

CPU内の処理の流れCPU内の処理の流れ

Page 11: 情報処理系論第 2 回

Load / Store Queue Unit

IEU AGU

Instruction Control Unit (72-entry)

Fetch/Decode Control 3-Way x86 Instruction Decoders

FPU Register File (88-entry)

FADDMMX

3DNow!FStore

FMULMMX

3DNow!

IEU

Integer Scheduler (18-entry) FPU Stack Map / Rename

L2 SRAMsSystem Interface

2-way, 64KB Instruction Cache24-entry L1 TLB/256-entry L2 TLB

Predecode Cache

Branch Prediction Table

L2 CacheController

BusInterface

Unit

FPU Scheduler (36-entry)

AGU IEU AGU

2-way, 64KB Data Cache32-entry L1 TLB/256-entry L2 TLB

AMD K7AMD K7のブロックダイアグのブロックダイアグラムラム

Page 12: 情報処理系論第 2 回

CPUCPU高速化技術の話高速化技術の話 スーパーパイプラインスーパーパイプライン

– 各演算ユニットが処理する命令を小さく各演算ユニットが処理する命令を小さくデコーデコードドする。する。

– プロセッサのプロセッサの高クロック化高クロック化が容易になる。が容易になる。

デコード1

フェッチ1

フェッチ2

デコード2

実行1

実行2

アドレス1

アドレス2

バスユニット フェッチ3

フェッチ4

フェッチ5

フェッチ6

結果の格納 1

デコード5

デコード4

デコード3

実行4

実行3

Clock

アドレス4

アドレス3

制御ユニットALU

メモリ管理ユニット

デコードユニット

Page 13: 情報処理系論第 2 回

CPUCPU高速化の話高速化の話

浮動小数点を扱う各社の命令セット浮動小数点を扱う各社の命令セット– SSE(Intel) KNISSE(Intel) KNIとも呼ばれることがあるとも呼ばれることがある

• 44個の倍精度浮動小数点演算を個の倍精度浮動小数点演算を 11命令で処理(命令で処理( SIMSIMDD:: Single Instruction Multiple Data)Single Instruction Multiple Data)

• SSESSE命令セット専用のレジスタを設置命令セット専用のレジスタを設置

– 3DNow!(AMD K6-2/III)3DNow!(AMD K6-2/III)• 最大最大 44個の浮動小数点演算を個の浮動小数点演算を 11クロックで処理クロックで処理• MMXMMXレジスタを共有レジスタを共有

– MVI(DEC Alpha) Motion Video InstructionMVI(DEC Alpha) Motion Video Instruction• マルチメディア処理用の命令系統マルチメディア処理用の命令系統

Page 14: 情報処理系論第 2 回

CPUCPU高速化の話高速化の話

11次キャッシュ次キャッシュ /2/2次キャッシュの大容次キャッシュの大容量化量化

メモリバスの高速化メモリバスの高速化 入出力バスの高速化入出力バスの高速化

Page 15: 情報処理系論第 2 回

並列コンピュータの話並列コンピュータの話

11個の個の CPUCPUをいくら高速にしても光の限をいくら高速にしても光の限界を超えられない。界を超えられない。

CPUCPUを数十個から数万個結合して並列処を数十個から数万個結合して並列処理しようぜ!理しようぜ! (Massively Parallel Processin(Massively Parallel Processing)g)

Intel PentiumIII 800MHz 8GFLOPS(NEC SX-5 512CPU)スーパーコンピュータ 4TFLOPS

Page 16: 情報処理系論第 2 回

並列コンピュータの話並列コンピュータの話

密結合並列システム密結合並列システム– 複数の複数の CPUCPUがメモリを共有がメモリを共有

疎結合並列システム疎結合並列システム– CPUCPU間でメモリの共有は起こらない間でメモリの共有は起こらない

バス

メモリ 周辺機器

CPU CPU CPU CPUメモリ

CPUメモリ

CPUメモリ

CPUメモリ

高速ネットワーク

Page 17: 情報処理系論第 2 回

バンキングシステムするときバンキングシステムするとき コンピュータで客の金を管理コンピュータで客の金を管理 銀行間の決済処理銀行間の決済処理

– 信頼性と耐故障性信頼性と耐故障性– 迅速な応答迅速な応答

要するにデータベースシステム要するにデータベースシステム

管理システム管理システム

ここが問題!

Page 18: 情報処理系論第 2 回

どんなアーキテクチャが必どんなアーキテクチャが必要?要?

高速な応答性をもったアーキテクチャ高速な応答性をもったアーキテクチャ– ディスクアクセス、メモリアクセス、入出力動作の合計ディスクアクセス、メモリアクセス、入出力動作の合計– CPUCPUの処理時間は↑よりもずっと少ないの処理時間は↑よりもずっと少ない

故障に強いアーキテクチャ故障に強いアーキテクチャ– 停電、地震、雷、火事その他の天災。ソフトウエアが異停電、地震、雷、火事その他の天災。ソフトウエアが異常終了など。常終了など。

– バックアップとなるソフトウエアバックアップとなるソフトウエア– バックアップとなるコンピュータバックアップとなるコンピュータ

他には?他には?

Page 19: 情報処理系論第 2 回

コンピュータの応答時間コンピュータの応答時間

CPUCPUの処理時間と入出力動作時間の合の処理時間と入出力動作時間の合計計– ほとんどが入出力動作時間ほとんどが入出力動作時間

入出力動作時間を短縮するには入出力動作時間を短縮するには– 高速なメモリを大量に利用する。高速なメモリを大量に利用する。– 高速な高速な 22次記憶装置(次記憶装置( HDDHDD、ほげほげド、ほげほげドライブ)を利用する。ライブ)を利用する。

– 高速なバス高速なバスを利用する。を利用する。

Page 20: 情報処理系論第 2 回

バスの話バスの話 CPUCPUとメモリや周辺機器とを結ぶ線とメモリや周辺機器とを結ぶ線 バスの先には拡張スロットがついていバスの先には拡張スロットがついている。る。

バスの速さとはバスの速さとは– データ幅、バスクロックデータ幅、バスクロック– データ転送速度データ転送速度バス名 データ幅

(Bit)アドレスバス幅

(Bit)バスクロック

(MHz)データ転送速度

(MB/Sec)XT BUS 8 20 6 – 8 4ISA BUS 16 24 8 – 16 16EISA BUS 32 32 8 – 33 33VL BUS 32 32 Max 40 32PCI BUS 32/64 32 16 - 33 120/240

Page 21: 情報処理系論第 2 回

PCIPCIバスをもつバスをもつ ATAT互換機の構互換機の構成図成図

ODP

CPU

メモリ

DPUPCIブリッジ

バッファ

LAN

SCSI

VIDEO

SOUND

RTC

DPUPCIブリッジ

DRAM2MB-128M

キャッシュメモリ64K-512KCPUバス

PCIバス ISAバス

SIO

KB

Page 22: 情報処理系論第 2 回

メモリの話メモリの話

記憶装置には記憶装置には 22種類ある種類ある– 電源が切れるとデータがきえてしまう:電源が切れるとデータがきえてしまう: RR

AMAM– 電源が切れてもデータは保持される:電源が切れてもデータは保持される: RORO

MM

Page 23: 情報処理系論第 2 回

メモリの話メモリの話 ((価格価格 ))

1998年 1月 1日

1998年 7月 1日

10万円

5万円

1万円

Page 24: 情報処理系論第 2 回

長野オリンピックしたとき長野オリンピックしたとき 1616日間で日間で 650,000,000650,000,000ヒットヒット

– 一日あたり一日あたり 40,625,00040,625,000ヒットヒット– 一分あたり一分あたり 2821128211 ヒットヒット– 一秒あたり一秒あたり 470470ヒットヒット

最もアクセスが集中した時は分最もアクセスが集中した時は分 103429103429ヒットヒット– 19981998年2月20日年2月20日 99時時– 一秒あたり一秒あたり 17231723ヒットヒット– 女子フィギュア決勝+アイスホッケー準決勝女子フィギュア決勝+アイスホッケー準決勝

総量総量 4.5tera byte4.5tera byteのデータのデータ

Page 25: 情報処理系論第 2 回

どんなアーキテクチャが必どんなアーキテクチャが必要?要?

超たくさんのアクセスを同時に処理す超たくさんのアクセスを同時に処理するためには?るためには?分散アーキテクチャ分散アーキテクチャ

• アクセスする人に対して、分散していアクセスする人に対して、分散していることを隠蔽するためには?ることを隠蔽するためには?透過的アーキテクチャ透過的アーキテクチャ

長野長野

アトランタアトランタ

透過的な分散透過的な分散

Page 26: 情報処理系論第 2 回

RS6000RS6000 (model H70)(model H70)

11~~ 44のの SMPSMP構成構成 (symmetric multiprocessin(symmetric multiprocessing)g)

64bit processor 64bit processor – RS64-II(340Mhz)RS64-II(340Mhz)

システムバスシステムバス– 1.4GB/s1.4GB/s

PCIバスPCIバス– 独立4系統、8スロット独立4系統、8スロット

Page 27: 情報処理系論第 2 回

長野オリンピックでの負荷分長野オリンピックでの負荷分散散

WWWWWWサーバは世界数カ所に分散配置サーバは世界数カ所に分散配置– 各サーバへアクセスを分散する仕組み各サーバへアクセスを分散する仕組み– 各サーバ間でのコンテンツの整合性の確保各サーバ間でのコンテンツの整合性の確保

各サーバへのアクセスを分散各サーバへのアクセスを分散– 世界各地に設置されたサーバに、全て同じIP世界各地に設置されたサーバに、全て同じIPアドレスを割り当て、各クライアントは最も近アドレスを割り当て、各クライアントは最も近いサーバにアクセスするいサーバにアクセスする

コンテンツの整合性の確保コンテンツの整合性の確保– DFS(Distributed File System)DFS(Distributed File System)を利用を利用

Page 28: 情報処理系論第 2 回

S P 2 S P 2S P 2S P 2

O p en N et( IB M )

X.X.X.X X.X.X.X X.X.X.X X.X.X.X

同一のアドレス

R o u te r

C lien t C lien t C lien t

R o u te r

C lien t C lien t C lien t

R o u te r

C lien t C lien t C lien t

各クライアントは、経路的に最も近いサーバを利用

Page 29: 情報処理系論第 2 回

各サーバ各サーバ (SP2)(SP2)内での負荷分内での負荷分散散 Net DispatchNet Dispatch

– HTTPHTTPのセッションをのセッションを TCPTCPセッションのセッションのレベルで負荷の低いノードを選択してルーレベルで負荷の低いノードを選択してルーティングティング

– 長野で使用された長野で使用された NP2NP2では、各サーバはでは、各サーバは30ノードから構成されていた。30ノードから構成されていた。

Node1Node2Node3

Noden

Net Dispatch

TCP SessionNodes Map Table Nodeの

負荷情報

HTTP Request

HTTP Response

Page 30: 情報処理系論第 2 回

今日のまとめ今日のまとめ

コンピュータアーキテクチャを理解コンピュータアーキテクチャを理解– 用途によって適するアーキテクチャが違用途によって適するアーキテクチャが違うう

PCPCの構造を理解の構造を理解 ((少し少し ))– CPUCPU、メモリ、バス、メモリ、バス

いろいろな用途に使われるアーキテクいろいろな用途に使われるアーキテクチャの具体例チャの具体例

Page 31: 情報処理系論第 2 回

第2回第2回おわりおわり

Page 32: 情報処理系論第 2 回

コンピュータアーキテクチャコンピュータアーキテクチャ比較の視点比較の視点

CPUCPUの速さの速さ– 整数演算、浮動小数点演算整数演算、浮動小数点演算

メモリの速さメモリの速さ– アクセスタイム、メモリバスの帯域アクセスタイム、メモリバスの帯域

記憶装置の速さ記憶装置の速さ– HDDHDDやほげほげドライブの回転数やほげほげドライブの回転数

周辺機器が備える特殊な機能周辺機器が備える特殊な機能– DVDDVDややMPEGMPEGのデコードのデコード

システム構成の違いシステム構成の違い

Page 33: 情報処理系論第 2 回

アーキテクチャの比較(アーキテクチャの比較( CPCPUU))

MIPSMIPS(( million instructions per secondmillion instructions per second))– 11秒あたりの命令実行数を秒あたりの命令実行数を 100100万個単位で数えたもの万個単位で数えたもの

FLOPSFLOPS(( Floating Point Operations per secondFloating Point Operations per second))– 11秒あたりの浮動小数点演算実行数を数えたもの秒あたりの浮動小数点演算実行数を数えたもの

SPECint95, SPECfp95SPECint95, SPECfp95– CPUCPUの整数の整数 //浮動小数点演算性能を浮動小数点演算性能を Sun SS10/40Sun SS10/40をを 11として相対評価したものとして相対評価したもの

MHMHz(z( MEGA HertzMEGA Hertz))– 11秒あたりの(秒あたりの( CPUCPUの)クロックサイクル数の)クロックサイクル数

Page 34: 情報処理系論第 2 回

CPUCPUの性能(の性能( SPECint95SPECint95 ))SPECint95 SPECfp95

Intel PentiumPro 200MHz 8.1 6.3IBM PowerPC 300MHz 13.2 8.5Intel PentiumII 400MHz 17.2 12.9Intel PentiumIII 500MHz 20.6 14.7DEC Alpha 500MHz 15.4 21.1Sun UltraSparc3 600MHz 35 60DEC Alpha 600MHz 18 27

プロセッサの性格、目的、構造などから、クロックサイクル数と性能が比例しないことがわかる。プロセッサの性格、目的、構造などから、クロックサイクル数と性能が比例しないことがわかる。

Page 35: 情報処理系論第 2 回

計算機の性能計算機の性能SPECfp95

SG IOnyx2 (R10000 200MHz x 2) 19.1Sun Ultra 2(UltraSPARCII 300MHz x 2 20.2Sun Enterprise 3000 (UltraSPARCII 336MHz x6) 37.6SGI Origin2000 (R10000 250MHz x16) 76.6Dec AlphaServer 8400 6/ 575 (21264 575MHz x8) 114

プロセッサのクロックサイクル数よりも数によって性能が異なるのがわかる。プロセッサのクロックサイクル数よりも数によって性能が異なるのがわかる。

ccz00?とか

Page 36: 情報処理系論第 2 回

アーキテクチャの比較(メモアーキテクチャの比較(メモリ)リ)

RAS LatencyRAS Latency– アクセスする「列」を指定してからデータアクセスする「列」を指定してからデータ取得可能になるまでのクロック数取得可能になるまでのクロック数

CAS LatencyCAS Latency– 指定した「列」の内アクセスするセルを指指定した「列」の内アクセスするセルを指定してからデータ取得可能になるまでのク定してからデータ取得可能になるまでのクロック数ロック数

Page 37: 情報処理系論第 2 回

アーキテクチャの比較(アーキテクチャの比較( HDHDDD))

回転数回転数– 11分あたりの円盤の回転数分あたりの円盤の回転数

平均シークタイム平均シークタイム– 特定のデータを円盤から探すのに要する時特定のデータを円盤から探すのに要する時間間

インタフェースの転送速度インタフェースの転送速度– ハードディスクからデータを読み出すときハードディスクからデータを読み出すときの帯域の帯域

Page 38: 情報処理系論第 2 回

アーキテクチャの比較(周辺機アーキテクチャの比較(周辺機器)器)

DVDDVDのデコードのデコード– ATI RAGE128ATI RAGE128(ビデオチップ)(ビデオチップ)

TVTVチューナカードチューナカード– TVTV映像を受信して映像を受信して PCPCで表示で表示

ビデオキャプチャカードビデオキャプチャカード– NTSC/PALNTSC/PAL信号を入力して信号を入力して PCPCに保存に保存 //表示表示

CPUCPUの特殊な能力の特殊な能力– Katmai Native Instruction set(Intel PentiumIII)Katmai Native Instruction set(Intel PentiumIII)– 3DNow!(AMD K6-2, K6-III)3DNow!(AMD K6-2, K6-III)

Page 39: 情報処理系論第 2 回

HDDHDDの性能(回転数)の性能(回転数)スピンドルモーター

アーム

Page 40: 情報処理系論第 2 回

コンピュータアーキテクチャコンピュータアーキテクチャ構成要素構成要素

CPU(CPU(中央演算装置中央演算装置 )) メモリメモリ 周辺機器周辺機器

– 記憶装置記憶装置 ((ハードディスク、ほげほげドライブハードディスク、ほげほげドライブ ))

– ビデオカードビデオカード– サウンドカードサウンドカード– その他の入出力デバイスその他の入出力デバイス

バスバス

Page 41: 情報処理系論第 2 回

コンピュータアーキテクチャコンピュータアーキテクチャ構成要素の概念図構成要素の概念図

CPU

1次キャッシュ

バス

メモリ 周辺機器 周辺機器2次記憶装置

Page 42: 情報処理系論第 2 回

CPUCPUの中身の中身

アドレス生成ユニットアドレス生成ユニット 演算ユニット演算ユニット

– 加減算加減算– 乗除算乗除算– 浮動小数点演算浮動小数点演算

11次・次・ 22次キャッシュ次キャッシュ レジスタレジスタ