システムアーキテクチャ論:概要 システムアーキテクチャ論:概要

システムアーキテクチャ論:概要
99/10/7 木曜4限
琉球大学 工学部 情報工学科
和田 知久
[email protected]
http://bw-www.ie.u-ryukyu.ac.jp/~wada/
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
1
アウトライン
n
n
n
n
本講義では最近のデジタル機器のアーキテクチャ
をレビューしてゆく。色んな情報を提供する。
具体的には、
1) PCアーキテクチャ 2) MPEG2
3) 3次元グラフィックス 4) 携帯電話
可能であれば専門家を招待して、講演を行って
もらう。
評価は出席と最終レポートで行う。
最終レポート:自分の好きな製品/システム等を
調査しレポートする。
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
2
[1] PCアーキテクチャ
n
LSIの進歩により、コストパフォーマンスが
劇的に進化。
●5万円PCの時代
n
コスト/パフォーマンスでワークステーショ
ンに勝利。
●LSIの集積度向上が直接低コスト化を実現
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
3
PentiumPCのアーキテクチャ
L2
Cache
Frame Memory
Video
Graphic
Controller
LAN
Modem
Pentium
Core
Chip
Set
HOST BUS 66MHz -> 100MHz
Main Memory
PCI 33MHz -> AGP 66MHz
ISA
Bridge
● HOST BUSの分離で、MPUと主記憶、グラフィックの周波数が分離
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
4
PentiumII PCのアーキテクチャ
200-300MHz
Pentium II
Frame Memory
L2
Cache
100MHz -> 133MHz
Video
Graphic
Controller
Core
Chip
Set
AGP 66+MHz
Main Memory
100MHz(SD) ->
800MHz(RD)
USB
PCI 33MHz
LAN
Modem
● L2 BUSの分離し、MPU周波数の1/2に設定
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
5
近未来PCのアーキテクチャ
MPU+L2
Video
Rambus Memory
Main + Frame
Core Chip Set
Graphic Controller
PCI 33MHz
USB
IEEE1364
LAN
Modem
● 高速シリアル/低ピンカウントBUSで低ピン化
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
6
Direct RAMBUS
n
n
n
n
n
400MHz clockの両エッジデータ転送
18bitデータバス、アドレスバスも8ビットと少ない
最大2Byte x 800MHz = 1.6GB/s
現状の100MHz SDRAM, 64bitバス(800MB/s)の2倍
但し、Latencyが遅めで、既存アプリで性能上がらず。
RDRAM
Controller
RAC
RDRAM
Vtt
16+2 Data
8
Cntl,
Cntl, Addr
Vref
2
2
ClkFM
ClkTM
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
7
あるPentiumII PCマザーボード
PCI
バス
AGP
バス
電源系
Slot1
PentiumII
ソケット
ISA
バス
コア
チップセット
ブリッジ
チップ
DIMM
ソケット
PCを構成するLSI数は減った。ソケッ
ソケットが面積を決める。
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
8
PCアーキテクチャのトレンド
集積化され、LSI数が減る。
n USB, IEEE1394の高速シリアルインター
フェイスで低ピン化、ソケットも減る。
n Rambus採用での64→16ビットバス化
n 高性能+小型化
n コスト的、技術的に難しいものは集積化さ
れにくい。(低コストDRAM、高速通信)
n
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
9
PentiumII PCでのLSI
n
n
n
n
n
n
n
n
n
n
n
MPU (1)
Cache SRAM (2)
コアチップセット (1-3)
DRAM (4-8)
BIOS (1)
I/Oコントローラ (1)
グラフィックCNTL(1)
フレイムバッファ (2)
LAN/MODEM (1)
SOUND (1)
電源系
INTEL / AMD
NEC / Toshiba....
INTEL / VIA
Samsung / Micron..
AMI / Phenix
???
Matrox / ATI / S3
Micron / NEC..
3Com etc.
Creative etc.
Maxim etc.
独壇場
集積される
グラフィックスを取りこむ
コストで日本苦しい
ソフトウエア
低コスト、集積される
独壇場、Intel参入
集積化されそう
まだ高性能化続く
集積される
安いが必要
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
10
[2] MPEG2
DVDやPCでの動画再生で、画像・音声の
圧縮・解凍の成功した標準
n その他
静止画用: JPEG
VHSクオリティ: MPEG1
ビデオ会議: H.26x
デジタルビデオテープ: DV
n
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
11
MPEG2画像系のアーキテクチャ
n
画像圧縮の簡単な原理
1) 以前の良く似た画像を見つけて、違いのみ
転送する。差のデータ量が小さい。
2) 画像の高周波成分をカットする。
3) 符号化を工夫してデータを減らす。
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
12
MPEG画像に関する基礎知識
n
n
n
n
コンピュータではRed,Green,Blueで画素を表す。
MPEG(Video)ではY(luminance),Cb,Cr(colordifference)
Y = 0.299R’ + 0.587G’ + 0.114B’
Cb=- 0.169R’ - 0.331G’ + 0.500B’
Cr= 0.500R’ - 0.419G’ - 0.081B’
人間はcolor成分に鈍感なので、Cb,CrはYの1/4サン
プル
画像の処理単位=マクロブロック、8x8画素
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
13
1)差の小さいデータを探す。
n
Motion Estimation
○あるサーチ領域でエラー最小のMotion
Vectorを探す。
○画像の代りにMotion VectorとErrorを転送。
Motion
Vector
以前のフレイム
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
14
Motion Estimationの基本計算式
平均絶対値誤差
N-1
N-1
MAD(x,y) = Σ Σ |S(m+x,n+y)-B(m,n)|
m=0 n=0
-p <= x, y <= p
n
n
(2p+1)x(2p+1)
Search Window
in previous picture
Input
NxN
Block
多数のアダーとコンパレータで実現できるが、
現実にはアルゴリズムの改良で、サーチウイン
ドウを広げ、H/Wを小さくしたものが主流。
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
15
2)画像の高周波成分をカット
n
Transform Cordingとも言うが、原理は自
然の画像は空間的に高周波の成分を落と
しても質が低下しない。
n
低周波成分は荒く量子化できる。
n
Discrete Cosine Transformをし、DCT要
素を表現するビット数を減らす。
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
16
DCTの基本要素の例
実際は8x8であるが、ここでは4x4の例を
示す。
n 任意の画像を下記要素に分解する。
n
DC
高周波
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
17
8x8ブロックの変換例
87.5
87.5
87.5
87.5
87.5
87.5
87.5
87.5
75
75
75
75
75
75
75
75
62.5
62.5
62.5
62.5
62.5
62.5
62.5
62.5
50
50
50
50
50
50
50
50
37.5
37.5
37.5
37.5
37.5
37.5
37.5
37.5
25
25
25
25
25
25
25
25
12.5
12.5
12.5
12.5
12.5
12.5
12.5
12.5
0
0
0
0
0
0
0
0
DCT
44 14 0 1 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
Scalar
Quantization
350 228 0 24 0 7 0 2
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
18
1D-DCTの基本計算
7
y(u)= 0.5 C(u) Σ {x(n) cos[(2n+1)uπ/16]}
n=0
cosとの掛け算の結果をROMに入れてる
と、ROMとアキュミュレータで実現できる。
n 2次元は繰り返しで求まる。
n Distributed Arithmeticと呼ばれる方法。
n
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
19
MPEGでのLSI技術
n
n
n
n
n
n
多量の加算演算や特殊演算
DCTではROM演算
符号化も特殊
汎用MPUでは一見やりにくく見える。
信号処理の知識といかにH/Wにマッピングする
かがKEY。
H/W設計の工夫よりアルゴリズムの改善が効く。
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
20
[3] 3次元グラフィックス n
Nintendo64、PlayStationそしてPCで3次
元グラフィックスゲームが今や主流
n
映画やTV放送でも3次元グラフィックスは
当たり前
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
21
PCにおける3次元グラフィックス
200-300MHz
Frame Memory
Video
3D Graphics
Rendering
Controller
PCI /AGPカード
Pentium II
Core
Chip
Set
L2
Cache
Main Memory
PCI 33MHz,
AGP 66+MHz
● 今までの2次元グラフィックスカードがそのまま3次元グラフィックス
サポートに置き換わった。
● ただ処理内容は大きく異なる。
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
22
Nintendo64
Cassette
ROM
64bit
MIPS
MPU
Rendering
Controller
Video
9bit, 500MHz
RDRAM
RDRAM
● 3Dグラフィックスではメモリアクセスが多く、
RambusDRAMでボトルネックを解消している。
●TVゲームではPCに比べて画素数が少なく、その点でメモリB/Wで楽。
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
23
3Dグラフィックスに関する基礎知識
n
3次元モデルを三角形等の図形要素でモデル化
n
陰線消去必要であり、2次元ディスプレイ座標(x、
y
)に加えてDepthのzが加わる。
n
ガラス等の半透明サポートのために、(R,G,B)に
加えてA(アルファ)=透過度が加わる。
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
24
OpenGL Machine(前半)
Lighting
Vertex(頂点)
Vertex(頂点) Normal(法線)
Normal(法線) Color(頂点の色)
Color(頂点の色) TexCord(模様座標)
TexCord(模様座標)
Model / View
Matrix(座標変換)
Matrix(座標変換)
TexGen
(模様生成)
n
Lighting(照明)
Coloring
n
Matrix
(座標変換)
n
Primitive Assembly(図形要素生成)
Clipping
Projection
Matrix (投影変換)
コンピュータ画面上に投影した三角形
Rasterization
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
25
ジオメトリ処理
n
n
n
n
頂点(Vx,Vy,Xz,Vw)の座標変換
法線(Nx,Ny,Nz)の変換
⇒ 浮動小数点加算・乗算のマトリックス演算: SIMD向き
色データ(R,G,B,A)に対する同じ処理
⇒ 浮動小数点加算・乗算: SIMD向き
ベクトル正規化、光源との距離、鏡面反射
⇒逆数、平方根、累乗:特殊計算
前半はヘビーな計算処理が主体、高性能MPU向き。
MMX Pentium in PC, 64bit RISC in Nintendo64.
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
26
128bit MPU for PlayStation2??
n
ISSCC99, TP15.1, SCE & Toshiba
● 2way 64bit superscalar MPU
● 10 IEEE single precision FMAC
● 4 IEEE single FDIV
● MPEG support--VLD, DCT/IDCT, IQ, CSC, VQ
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
27
OpenGL Machine(後半)
色を線形補間して、画素に分解
グーロー・シェーデイング
Z-bufferにより見えない
bufferにより見えない
ピクセルは書きこまない
Rasterization
(画素への分割)
(X,Y,Z) (Rf,
Af))
(Xt,
Rf,Gf,Bf,
Gf,Bf,Af
Xt,Yt)
Yt)
Texel Generation
(点模様生成)
(Rt,
Rt,Gt,Bt,At)
Gt,Bt,At)
Texture Application
(点の色変更)
(X,Y)
Frame Buffer Test
(DepthDepth-Test)
Test)
(R,G,B,A)
Blending
半透明ではブレンド
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
Texture
Memory
Z-buffer
Memory
Pixel
Memory
28
画素への分割
n
3頂点から画素へ分割
データ増加
n
グーロー・シェーディング
色(Rf,Gf,Bf,Af)を線形補間でつ
)を線形補間でつくる。
整数演算
n
フォン・シェーディング
法線ベクトルを各画素に対して計算し、
各画素の照明を計算する。
計算量大
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
29
テキスチャマッピング
テキスチャデータは各グリッドポイン
トにおける(RGB)データ。
(Rk,Gk,
Bk)) (Rl,
Rl,Gl,
Gl,Bl)
Bl)
Rk,Gk,Bk
Uf
n 二アレスト(1点サンプル)
Vf
Rt = Rl
(Ri,
Ri,Gi,Bi)
Gi,Bi) (Rj,
Rj,Gj,
Gj,Bj)
Bj)
n リニア(4点サンプル)
Rt = (1-Vf){Uf・
Rj + (1-Uf)Ri} +
Vf {Uf・
Rl + (1-Uf)Rk}
n ミップマップ(8点サンプル)
精度の異なる2つのテキスチャデー
タ間で補間
1つのピクセルに対して、多くのテキスチャデータが必要。
テキスチャメモリアクセスがボトルネック
n
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
30
Depth Test
n
n
TRUE
FALSE
n
Depth Testをするには
1) Z-bufferよりZdestを読み出す
2)ZsourceとZdestを比較
3)Zsource < Zdestならば
ZdestとPixelメモリを更新
Z-bufferに対してRead Modify
Writeが必要。
Z-bufferは各ピクセルに対して
32bit程度。
これはRGBAの32ビットと同じ。
Z-bufferとPixelメモリは同一のフレイムメモリを使う場合が多く、
フレイムメモリのI/O BWがボトルネックになる。
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
31
ブレンド
n
SOURCE
DESTINATION
n
SOURCE図形上に半透明な
DESTINATION図形を描画する場合、
1) ピクセルメモリより(RGBA)を読み出す
2) 以下のような混合計算実行
Rrst = As・Rsrc + (1-As) Rdest
3)結果をピクセルバッファへ書き戻す
これも、Pixelメモリに対してRead Modify
Writeが必要。
フレイムバッファ(DRAM)を内蔵することでBW問題を解決。
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
32
PCでのメモリの用途
Pixelメモリ
Z-buffer
1000x1000x64bit=約8MB
200-300MHz
Frame Memory
Video
3D Graphics
Rendering
Controller
PCI /AGPカード
Pentium II
Core
Chip
Set
PCI 33MHz,
AGP 66+MHz
L2
Cache
Main Memory
テキスチャ
メモリ
16-32MBとかでかい
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
33
3DグラフィックスでのLSI技術
n
n
ジオメトリ処理
● Floating演算のSIMDタイプの並列処理
● 逆数、平方根、累乗:特殊計算
描画処理
● 整数演算
● メモリBWがボトルネック
⇒フレイムバッファとコントローラの1チップ化
● PCIがテキスチャ転送のボトルネック
⇒AGP倍速化
⇒グラフィックコントローラをコアチップと集積
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
34
[4] 携帯電話、PHS
日本での加入者数は約5000万加入で伸
びは鈍化しているが、さらに増加。
n 世界統一企画の次世代通信端末
IMT-2000開発中(CDMA方式)。
n 小型化、低消費電力化(低電圧化)が強く
要求される。
n
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
35
移動無線端末の推移
年代 ‘80
‘90
‘2000
アナログ
FDMA
ベース
バンド部
高周波部
LSI
TDMA
5 V系
8 V系
標準IC
デジタル
CDMA
3 V系
5 V系
デジタル系
G/A
アナデジ混載
カスタムLSI
3 V / 2 V系
3 V系
流用設計
統合LSI
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
36
次世代携帯無線端末のLSI技術
n
n
n
n
n
CDMA方式で
●デジタル信号処理が複雑かつ大規模化(4倍)、高速
化(6倍)
動画転送を行うので
●MPEG4などの画像のCODEC必要
Rake受信
誤り訂正技術
●Interleave, Convolution Code, Viterbi Decode
外部インターフェース
●USB(Universal Serial Bus)、BlueToothなど
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
37
CDMA(符号分割多元接続 )方式
n
n
FDMA, TDMAとは異なり時間や周波数をわりあてない。
各ユーザをPseudo-Noise Random Sequenceで変調。
(Direct-Sequence Spread-Spectrum)
Power
Time
User 3
User 2
User 1
frequency
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
38
Random Waveformの性質
n
バイナリランダム波形 x(t)
+1
t
ー1
n
Autocorrelation
Rxx(τ)=E{x(t) x(t+τ)}
∼∫x(t) x(t+τ)dt
n
Rxx(τ)
0
Tc
この性質によりランダムノイズのような信号より所望
の信号を取り出せる。
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
39
Linear Feedback Shift Register
1
11
2
13
12
f(x) = 1 + a1X +a2X + … + a11X + a12X + X
ダイレクト
a12
Reg
a11
Reg
a1
a1
Reg
a2
Reg
PN output
Reg
PN output
a12
トランスポーズ
Reg
Reg
Reg
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
40
誤り訂正技術
n
ランダムエラーとバーストエラー
バーストエラー
ランダムエラー
バーストエラー
•インターリーブ
•フォワードエラーコントコレクションコード
ョンコード(FEC)
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
41
バーストエラー対策用インターリーブ
nonnon-interleaved
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15
write
read
interleaved
1
6 11
2
7
1
2
3
4
5
6
7
8
9 10
11 12 13 14 15
Interleaver
12
9
3
8
13
4
14
5
10 15
read
write
1
2
3
4
5
6
7
8
9 10
11 12 13 14 15
dede-interleaved
1
2
3
n
4
5
6
7
8
9
Deinterleaver
10 11 12 13 14 15
以上のようにメモリを使って実現できる。
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
42
W-CDMAのBB系ブロック図
I
Q
A/D
&
Fil
受信系デジタル信号処理
Chip
(Finger)
Symbol
Perch
BCCH
(Viterbi)
D/A
(AFC)
Delay
Profile
Searcher
D/A
(AGC)
制御系
UIM
CPU
Peripheral
音声処理
CH
Dec
(Viterbi)
Rake
Timing
Control
AFC
Speech CODEC
(GSM-AMR)
アナログ
信号処理
D/A
Tone
A/D
AGC
電源制御
Flash ROM
MPU
PS_Cont.
RAM
I
Q
D/A
&
Fil
送信系デジタル信号処理
Modulation
(HPSK)
Formatter
Spreader
CH_Enc
Data FEC
(Turbo)
データ&I/F処理
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
MEM
I/F
43
携帯電話でのLSI技術
複雑なデジタル信号処理がいっぱい
n RFアナログ
n MPEG4などの画像コーデック
n USBやBlueToothなどのインターフェイス
n 低電圧・低パワー
n
システムアーキテクチャ論概要 99/10/7,
システムアーキテクチャ論概要 99/10/7, 和田@琉大情報
44