PowerPoint

情報処理系論第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次キャッシュ
レジスタ