Comments
Description
Transcript
システムアーキテクチャ論:概要 システムアーキテクチャ論:概要
システムアーキテクチャ論:概要 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