計算機構成: トップダウンの解説

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