VLSI
設計・
若手夏の学校
「最近のデジタル機器の構成レビューと
LSI設計者が学ぶべきこと」
99/8/20 琉球大学 工学部 情報工学科 和田 知久 [email protected] http://bw-www.ie.u-ryukyu.ac.jp/~wada/アウトライン
nシステムLSIとは?
n最近のデジタル機器のアーキテクチャ
1) PCアーキテクチャ
2) MPEG2
3) 3次元グラフィックス
4) 携帯電話
nシステムLSI時代のLSIは...
システム
LSI
とは?
1997年8月23日の朝日新聞に....
メモリー + 演算素子 →日本得意
『システムLSI』シフト
値崩れメモリー敬遠
本当に、メモリ + 演算素子 で日本は得意なのか?[1]
PC
アーキテクチャ
nLSIの進歩により、コストパフォーマンスが
劇的に進化。
●5万円PCの時代
nコスト/パフォーマンスでワークステーショ
ンに勝利。
●LSIの集積度向上が直接低コスト化を実現
PentiumPC
のアーキテクチャ
Pentium L2 Cache Core Chip Set Main Memory HOST BUS 66MHz -> 100MHz PCI 33MHz -> AGP 66MHz Graphic Controller LAN Modem Frame Memory Video ISA Bridge ● の分離で、 と主記憶、グラフィックの周波数が分離PentiumII PC
のアーキテクチャ
Pentium II L2 Cache Core Chip Set Main Memory 100MHz -> 133MHz PCI 33MHz Graphic Controller LAN Modem Frame Memory Video 200-300MHz AGP 66+MHz USB 100MHz(SD) -> 800MHz(RD)近未来
PC
のアーキテクチャ
MPU+L2
Core Chip Set Graphic Controller Rambus Memory Main + Frame PCI 33MHz LAN Modem Video USB IEEE1364 ● 高速シリアル/低ピンカウント で低ピン化
Direct RAMBUS
Controller RAC 8 16+2 Vtt RDRAM RDRAM Data Cntl, Addr Vref n 400MHz clockの両エッジデータ転送 n 18bitデータバス、アドレスバスも8ビットと少ない n 最大2Byte x 800MHz = 1.6GB/s n 現状の100MHz SDRAM, 64bitバス(800MB/s)の2倍 n 但し、Latencyが遅めで、既存アプリで性能上がらず。ある
PentiumII PC
マザーボード
ISA バス DIMM ソケット Slot1 PentiumII ソケット コア チップセット PCI バス ブリッジ チップ AGP バス 電源系PC
アーキテクチャのトレンド
n集積化され、LSI数が減る。
nUSB, IEEE1394の高速シリアルインター
フェイスで低ピン化、ソケットも減る。
nRambus採用での64→16ビットバス化
n高性能+小型化
nコスト的、技術的に難しいものは集積化さ
れにくい。(低コストDRAM、高速通信)
PentiumII PC
での
LSI
n MPU (1) n Cache SRAM (2) n コアチップセット (1-3) n DRAM (4-8) n BIOS (1) n I/Oコントローラ (1) n グラフィックCNTL(1) n フレイムバッファ (2) n LAN/MODEM (1) n SOUND (1) n 電源系 INTEL / AMD NEC / Toshiba.... INTEL / VIA Samsung / Micron.. AMI / Phenix ??? Matrox / ATI / S3 Micron / NEC.. 3Com etc. Creative etc. Maxim etc. 独壇場 集積される グラフィックスを取りこむ コストで日本苦しい ソフトウエア 低コスト、集積される 独壇場、Intel参入 集積化されそう まだ高性能化続く 集積される 安いが必要PC
での
LSI
(
1)
n
まだしばらくLSI数が減る。
○微細化による高集積
○1ピンあたりの高バンド幅化でPKGのI/O数がネックにならない。
Rambus, USB, IEEE1394
n
LSIを設計できるのはIntelと限られたシステム力
のあるメーカに限られている。
n
メモリのコスト競争で日本がやられたら、PCから
日本製のLSIはなくなる(かも?)。
PC
での
LSI
(
2)
nアーキテクチャとOSはIntelとマイクロソフト
がおさえている。
nPCでのLSIビジネスのシェアUPは困難。
システム力か独自技術力がKEY!
n液晶と液晶関連LSIに希望あり。
n最終製品(システム)を規定するところが
結局は非常に有利。ゲーム機に期待。
[2]
MPEG2
nDVDやPCでの動画再生で、画像・
音声の
圧縮・解凍の成功した標準
nその他
静止画用: JPEG
VHSクオリティ:
MPEG1
ビデオ会議: H.26x
デジタルビデオテープ: DV
MPEG2
画像系のアーキテクチャ
n画像圧縮の簡単な原理
1)
以前の良く似た画像を見つけて、違いのみ
転送する。差のデータ量が小さい。
2)
画像の高周波成分をカットする。
3)
符号化を工夫してデータを減らす。
MPEG
画像に関する基礎知識
n コンピュータではRed,Green,Blueで画素を表す。
n MPEG(Video)
ではY(luminance),Cb,Cr(color-difference) Y = 0.299R’ + 0.587G’ + 0.114B’ Cb=- 0.169R’ - 0.331G’ + 0.500B’ Cr= 0.500R’ - 0.419G’ - 0.081B’ n 人間はcolor成分に鈍感なので、Cb,CrはYの1/4サン プル 画像の処理単位=マクロブロック、8x8画素
1)
差の小さいデータを探す。
nMotion Estimation
○あるサーチ領域でエラー最小のMotion
Vectorを探す。
○画像の代りにMotion VectorとErrorを転送。
以前のフレイム Motion VectorMotion Estimation
Block Compare Search Window Previous Picture -Input Block Motion Vector Prediction ErrorMotion Estimation
の基本計算式
MAD(x,y) =
Σ Σ |
S(m+x,n+y)-B(m,n)
|
m=0 n=0 N-1 N-1 平均絶対値誤差 -p <= x, y <= p Input NxN Block (2p+1)x(2p+1) Search Window in previous picture n多数のアダーとコンパレータで実現できるが、
n現実にはアルゴリズムの改良で、サーチウイン
ドウを広げ、H/Wを小さくしたものが主流。
2)
画像の高周波成分をカット
n
Transform Cordingとも言うが、原理は自
然の画像は空間的に高周波の成分を落と
しても質が低下しない。
n
低周波成分は荒く量子化できる。
DCT
の基本要素の例
n実際は8x8であるが、ここでは4x4の例を
示す。
n任意の画像を下記要素に分解する。
DC 高周波8x8ブロックの変換例
87.5 75 62.5 50 37.5 25 12.5 0 87.5 75 62.5 50 37.5 25 12.5 0 87.5 75 62.5 50 37.5 25 12.5 0 87.5 75 62.5 50 37.5 25 12.5 0 87.5 75 62.5 50 37.5 25 12.5 0 87.5 75 62.5 50 37.5 25 12.5 0 87.5 75 62.5 50 37.5 25 12.5 0 87.5 75 62.5 50 37.5 25 12.5 0 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 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 01D-DCT
の基本計算
y(u)= 0.5 C(u)
Σ {
x(n) cos[(2n+1)u
π
/16]
}
n=0 7 n
cosとの掛け算の結果をROMに入れてる
と、ROMとアキュミュレータで実現できる。
n2次元は繰り返しで求まる。
nDistributed Arithmeticと呼ばれる方法。
3)
符号化の工夫でデータ削減
nRun-Length Encoding
0,0,0,0,0,5,0,0,-4,0,0,0,0,0,0,3
(5,5),(2,-4),(6,3)
nVariable-Length Encoding
出現確率の高いデータに対して、ビット長
の短いコードを割り当てて、平均コード長を
削減する。
MPEG
での
LSI
技術
n多量の加算演算や特殊演算
nDCTではROM演算
n符号化も特殊
n汎用MPUでは一見やりにくく見える。
n信号処理の知識といかにH/Wにマッピングする
かがKEY。
nH/W設計の工夫よりアルゴリズムの改善が効く。
三菱
MPEG2
エンコーダ
Host I/F ME core Coarse ME Fine ME Half-pel DCT/ IDCT Q/IQ VLC Timinginfo. gen FIFO Video input Video output 2way VLIW Inst RAM Data RAM Audio I/F SDRAM I/F n Video ME,DCT,VLC,IQ,IDCTを H/Wサポート n Audio Dolby DIgitalはS/W処理
MPEG
関係の今後
nもっと圧縮したい!
●インターネットビデオカンファレンス
●携帯電話で動画を送る(携帯TV電話)
●HDTVサポート
n新アルゴリズム
●Discrete Wavelet Transformによる
サブバンドコーディング等
[3]
3次元グラフィックス
n
Nintendo64、PlayStationそしてPCで3次
元グラフィックスゲームが今や主流
n
映画やTV放送でも3次元グラフィックスは
PC
における3次元グラフィックス
Pentium II L2 Cache Core Chip Set Main Memory 3D Graphics Rendering Controller Frame Memory Video 200-300MHz PCI 33MHz, AGP 66+MHz PCI /AGPカード ● 今までの2次元グラフィックスカードがそのまま3次元グラフィックス サポートに置き換わった。 ● ただ処理内容は大きく異なる。Nintendo
64
64bit MIPS MPU Rendering Controller RDRAM RDRAM 9bit, 500MHz Cassette ROM Video3Dグラフィックスに関する基礎知識
n3次元モデルを三角形等の図形要素でモデル化
n陰線消去必要であり、2次元ディスプレイ座標
(x、y
)
に加えてDepthのzが加わる。
nガラス等の半透明サポートのために、(R,G,B)に
加えてA(アルファ)=透過度が加わる。
OpenGL Machine(
前半)
Projection Clipping Primitive Assembly(図形要素生成) Lighting(照明) Coloring Model / View Matrix(座標変換) Vertex(頂点)Normal(法線)Color(頂点の色) TexGen (模様生成) Matrix (座標変換) TexCord(模様座標) n n n Lightingジオメトリ処理
n 頂点(Vx,Vy,Xz,Vw)の座標変換 n 法線(Nx,Ny,Nz)の変換 ⇒ 浮動小数点加算・乗算のマトリックス演算: SIMD向き n 色データ(R,G,B,A)に対する同じ処理 ⇒ 浮動小数点加算・乗算: SIMD向き n ベクトル正規化、光源との距離、鏡面反射 ⇒逆数、平方根、累乗:特殊計算 前半はヘビーな計算処理が主体、高性能MPU向き。128bit MPU for PlayStation2??
n ISSCC99, TP15.1, SCE & Toshiba
● 2way 64bit superscalar MPU
● 10 IEEE single precision FMAC
● 4 IEEE single FDIV
OpenGL Machine
(
後半)
Rasterization (画素への分割) Texel Generation (点模様生成) (Xt,Yt) Texture Memory (X,Y,Z) (Rf,Gf,Bf,Af) Texture Application (点の色変更) (Rt,Gt,Bt,At)Frame Buffer Test (Depth-Test) (R,G,B,A) Z-buffer Memory (X,Y) Blending Pixel Memory 色を線形補間して、画素に分解 グーロー・シェーデイング Z-bufferにより見えない ピクセルは書きこまない
画素への分割
n 3頂点から画素へ分割 データ増加 n グーロー・シェーディング 色(Rf,Gf,Bf,Af)を線形補間でつくる。 整数演算 n フォン・シェーディング 法線ベクトルを各画素に対して計算 し、各画素の照明を計算する。テキスチャマッピング
n テキスチャデータは各グリッドポイン トにおける(RGB)データ。 n 二アレスト(1点サンプル) Rt = Rl n リニア(4点サンプル) Rt = (1-Vf){Uf・Rj + (1-Uf)Ri} + Vf {Uf・Rl + (1-Uf)Rk} n ミップマップ(8点サンプル) 精度の異なる2つのテキスチャデー タ間で補間 (Rl,Gl,Bl) (Rk,Gk,Bk) (Rj,Gj,Bj) (Ri,Gi,Bi) Uf Vf 1つのピクセルに対して、多くのテキスチャデータが必要。Depth Test
n Depth Testをするには 1) Z-bufferよりZdestを読み出す 2) ZsourceとZdestを比較 3) Zsource < Zdestならば ZdestとPixelメモリを更新 n Z-bufferに対してRead Modify Writeが必要。 n Z-bufferは各ピクセルに対して 32bit程度。 これはRGBAの32ビットと同じ。 TRUE FALSEブレンド
n SOURCE図形上に半透明な
DESTINATION図形を描画する場合、 1) ピクセルメモリより(RGBA)を読み出す 2) 以下のような混合計算実行
Rrst = As・Rsrc + (1-As) Rdest
3) 結果をピクセルバッファへ書き戻す n これも、Pixelメモリに対してRead Modify Writeが必要。 SOURCE DESTINATION フレイムバッファ(DRAM)を内蔵することでBW問題を解決。
PC
でのメモリの用途
Pentium II L2 Cache Core Chip Set Main Memory 3D Graphics Rendering Controller Frame Memory Video 200-300MHz PCI 33MHz, Pixelメモリ Z-buffer 1000x1000x64bit=約8MB テキスチャ メモリNeoMagic MagicMedia256AV
n PC用途
n DRAM内蔵、内部256ビットバス
三菱3
DRAM
n SUN GWS, アーケード3Dゲーム
n Z-test、ブレンド機能を有するALUとDRAMを1チップ化
Read Modify WriteをWriteのみで実現
DRAM A DRAM B
DRAM C DRAM D
Video buf Video buf Video Data
Pixel
3
D
グラフィックスでの
LSI
技術
nジオメトリ処理
● Floating演算のSIMDタイプの並列処理
● 逆数、平方根、累乗:
特殊計算
n描画処理
● 整数演算
● メモリBWがボトルネック
⇒フレイムバッファとコントローラの1チップ化
● PCIがテキスチャ転送のボトルネック
⇒AGP倍速化
⇒グラフィックコントローラをコアチップと集積
[4]
携帯電話、
PHS
n日本での加入者数は約5000万加入で伸
びは鈍化しているが、さらに増加。
n世界統一企画の次世代通信端末
IMT-2000開発中(
CDMA方式)
。
n小型化、低消費電力化(低電圧化)が強く
要求される。
移動無線端末の推移
年代‘80 ‘90 ‘2000 標準IC アナログ デジタル TDMA CDMA ベース バンド部 5 V系 3 V系 3 V / 2 V系 高周波部 8 V系 5 V系 3 V系 LSI デジタル系 G/A アナデジ混載 カスタムLSI 流用設計 統合LSI FDMA次世代携帯無線端末の
LSI
技術
n CDMA方式で ●デジタル信号処理が複雑かつ大規模化(4倍)、高速 化(6倍) n 動画転送を行うので ●MPEG4などの画像のCODEC必要 n Rake受信 n 誤り訂正技術●Interleave, Convolution Code, Viterbi Decode
CDMA(符号分割多元接続 )方式
n FDMA, TDMAとは異なり時間や周波数をわりあてない。
n 各ユーザをPseudo-Noise Random Sequenceで変調。
(Direct-Sequence Spread-Spectrum) frequency Time Power User 1 User 2 User 3
Random Waveform
の性質
n バイナリランダム波形 x(t) +1 ー1 t n Autocorrelation Rxx(τ)=E{x(t) x(t+τ)} ∼∫x(t) x(t+τ)dt n この性質によりランダムノイズのような信号より所望 Rxx(τ) 0 TcLinear Feedback Shift Register
a12 a11 a1
Reg
Reg Reg Reg PN output
Reg a1 Reg a2 Reg a12 Reg PN output f(x) = 1 + a1X1+a2X2+ … + a11X11+ a12X12+ X13 ダイレクト トランスポーズ
PN
コードの同期
n フェイズシフトによりPNコードをアラインする必要ある。 n オートコリレーションの性質を使って、同期ロック ●ピリオド全体をスイープしてオートコリレーションを取り、 ●しきい値と比較 送信信号 PN generator PN generator ∼ 0!Digital Correlator
nR(k) =
Σ
r(m)c(m+k)
m=0 N Reg r(m) PN発生 c(m+k) + Reg c(1) Reg c(2) Reg c(k-1) Reg c(0) r(k+N) r(k+N-1) r(k+N-2) r(k) Reg r(k+1) c(k) シリアル パラレル誤り訂正技術
n ランダムエラーとバーストエラー
バーストエラー ランダムエラー バーストエラー
バーストエラー対策用インターリーブ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 non-interleaved 1 6 11 2 7 12 3 8 13 4 9 14 5 10 15 interleaved 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 de-interleaved 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 write read read write Interleaver DeinterleaverForward Error Correction (FEC)
n コンボリューションエンコーダで信号の冗長度を上げる。 Reg Reg u x S3 S2 S1 S4 u/x 0/000 1/111 1/100 1/101 0/010 0/001 0/011 1/110Trellis Diagram
S3 S2 S1 S4 u/x 0/000 1/111 1/100 1/101 0/010 0/001 0/011 1/110 n 状態遷移図の時間的変化を示したもの S1 S2 S3 S4 000 111 000 000 000 100 011 011 001 110 101 010 101 010 111 111 111 100 100 001 011 110The Viterbi Decode Algorithm
S1 S2 S3 S4 000 111 000 000 000 100 011 011 001 110 101 010 101 010 111 111 111 100 100 001 011 110 001 010 110 000 ノイズを含む受信信号 1 2 1(2) 2(3) 1(3) 2(4) 2(4) 1(3) 3(6) 0(3) 2(5) 1(4) 1(5) 2(6) 0(4) 3(7) 1(6) 2(7) 2(5) 1(5) 1(4) 2(6)W-CDMA
の
BB
系ブロック図
I Q A/D & Fil Chip (Finger) 受信系デジタル信号処理Symbol Rake DecCH (Viterbi)
Perch (Viterbi)BCCH Timing Control Delay
Profile Searcher AFC AGC
D/A (AFC) D/A (AGC) MPU 制御系 CPU Peripheral RAM Flash ROM 送信系デジタル信号処理 D/A & アナログ 信号処理
Speech CODEC (GSM-AMR)
D/A A/D Tone 音声処理 データ&I/F処理 MEM PS_Cont. 電源制御 I UIM