Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
2006/1/26 計算機論理設計 A.Matsuzawa 1
計算機論理設計 (A) (Computer Logic Design (A))
東京工業大学大学院理工学研究科電子物理工学専攻
松澤 昭
テキストは http://www.ssc.pe.titech.ac.jp からダウンロード可能です
http://www.ssc.pe.titech.ac.jp/
2006/1/26 計算機論理設計 A.Matsuzawa 2
12 DSPと専用プロセッサ
2006/1/26 計算機論理設計 A.Matsuzawa 3
高速化手法:アレイプロセッサ
レジスタとメモリからのデータをアレイ状のスイッチ網を介して複数の演算器に送りこんで処理するプロセッサ。
演算器が同時並列的に処理するので高速化が図れる。
2006/1/26 計算機論理設計 A.Matsuzawa 4
高速化手法:ベクトルプロセッサ
ベクトルプロセッサは配列データを演算器にパイプライン的に送り込んで処理するプロセッサ。
配列データをベクトルデータという
2006/1/26 計算機論理設計 A.Matsuzawa 5
並列処理アーキテクチャ
複数のデータに同一処理をする 複数のデータに連続した複数の処理をする
2006/1/26 計算機論理設計 A.Matsuzawa 6
DSPの構成
①
②
② ③
④
⑤
信号処理に適した構造になっているプロセッサーをDSP (Digital Signal Processor)という
主な特徴
携帯電話用DSPの構成例(松下)
1)積和演算器を有する
2)命令メモリとデータメモリが独立
3)2つのデータの同時アクセス可能
4)複数のバス
5)専用の演算器を有す
6)パイプライン処理により高速化
2006/1/26 計算機論理設計 A.Matsuzawa 7
その他のDSP構成
NEC μPD77230NEC μPD7720
1980年に発表 固定小数点
1980年に発表 浮動小数点
2006/1/26 計算機論理設計 A.Matsuzawa 8
DSPの演算デジタル信号処理では周波数フィルターを実現するために以下の演算が使われる。
( )
MM
M
m
MM
mm
xhxhxhxh
zhzhzhzhxzxzhzy
−−−
=
−−−−−
++++=
++++== ∑........
........)()(
221100
0
22
11
00
FIRフィルタの周波数特性
FIRフィルタの構成移動平均フィルタの構成
データに多数の係数を掛け算し、結果を足していくこと(積和)が基本である
Z-1: 1クロック遅延DFFを用いる
FIRフィルタの係数移動平均フィルタの周波数特性
2006/1/26 計算機論理設計 A.Matsuzawa 9
マルチメディア処理の演算量
Voic
eVo
ice
Rec
ogni
tion
Rec
ogni
tion0.010.01
0. 10. 1
11
1010
100100
10001000
Perf
orm
ance
(GO
PS)
Perf
orm
ance
(GO
PS)
10,00010,000AudioAudio VideoVideo VirtualVirtual
RealityReality
3D G
raph
ics
3D G
raph
ics
MPE
GM
PEG
-- 11 Enco
der
Enco
der
FAX/
Mod
emFA
X/M
odem
Soun
dSo
und
TVTV-- C
onfe
renc
eC
onfe
renc
e
MPE
GM
PEG
-- 11 Dec
oder
Dec
oder
MPE
GM
PEG
-- 22 Dec
oder
Dec
oder
HD
TV D
ecod
erH
DTV
Dec
oder
HD
TV E
ncod
erH
DTV
Enc
oder
MPE
GM
PEG
-- 22 Enco
der
Enco
der
Rea
l tim
eR
eal t
ime
3D G
raph
ics
3D G
raph
ics
Pentium IIIPentium III
GOPS (Giga Operation Per Second)
Operation:演算通常、加算、乗算などの演算をいう
マルチメディア処理には100GOPS程度の演算が必要→超高速演算器設計
2006/1/26 計算機論理設計 A.Matsuzawa 10
専用積和演算器通常は乗算器を設けるだけで、汎用のALUとレジスタを用いて積和演算が可能であるがデータがバスを通るので動作が遅くなるほか消費電力の増大を招く。そこで、バスを通らない専用の積和演算回路を設けた。
2006/1/26 計算機論理設計 A.Matsuzawa 11
倍速積和演算器
16-bit 16-bit
A-BUS
B-BUS
MEMORY Y
(MY)
16-bit
16-bit16-bit
EVENSIDE
ODDSIDE
MEMORY X
(MX)
16-bit
16-bit16-bit
EVENSIDE
ODDSIDE
MULTIPLIER
ACC
ADDER
32-bit
40-bit
PIPELINE REG
MAC UNIT
TEMP REG TEMP REG
POINTER Y
(PY)
POINTER X
(PX)
BARREL SHIFTER
1 MACHINE
CYCLE
1/2 MACHINE
CYCLE
1/2 MACHINE
CYCLE
D(2x)
D(2x+1)
D(2x+2)
D(2x+3)
D(2x+3)
D(2x+5)
D(2x)
D(2x+1)
D(2x+2)
D(2x+3)
D(2x+3)
D(2x+5)
D(2x) D(2x+1) D(2x+2) D(2x+3) D(2x+4) D(2x+5)
D(2y) D(2y+1) D(2y+2) D(2y+3) D(2y+4) D(2y+5)
D(2x)
*
D(2y)
D(2x+1)
*
D(2y+1)
Output
of MX
TEMP
REG
A-BUS
B-BUS
MULTIPLIERD(2x+2)
*
D(2y+2)
D(2x+3)
*
D(2y+3)
D(2x+4)
*
D(2y+4)
D(2x+5)
*
D(2y+5)
1 cycle
0.5 cycle
演算には同時に2つのデータが必要なのでデータメモリを2つ独立に動作させて高速化を図った。また各メモリからも同時に2つのデータが読み出せるようにした。
それぞれから2つ読み出す
倍速化
それぞれから2つ読み出す
積和演算
2006/1/26 計算機論理設計 A.Matsuzawa 12
ALUの改良ALUを8ビットずつに分解し、同時に2つの加算を行えるようにした。更に比較とシフトレジスタやセレクタを設けてACS (Add Compare Select)演算が一度に行えるようにした。
複数の命令が連続する場合は、ALUに頻度の高い繰り返し演算用の専用回路アクセレレータと設けることが行われる。
PM0(t-1) PM0(t)BMa(t)
BMb (t)
PM1(t-1)
PM0(t) = min[(PM0(t-1)+BMa(t)),(PM1(t-1)+BMb(t))]
2006/1/26 計算機論理設計 A.Matsuzawa 13
DCT (Discrete Cosine Transform)
入力信号
低空間周波数信号
高空間周波数信号
DCT変換
デジタルTV, DVDなどのデジタルAVシステムにおいて画像信号の圧縮に使用される。
画像の空間周波数成分を求めて、人間の目に鈍感な高空間周波数信号の分解能を減衰させることで情報圧縮が図れる。
2006/1/26 計算機論理設計 A.Matsuzawa 14
DCT演算
f u v c u c v x i ju i v j
ji( , ) ( ) ( ) ( , ) cos
( )cos
( )=
+ +
==∑∑18
2 116
2 1160
7
0
7 π π
u = 0 1 2 7, , ,・・・,v = 0 1 2 7, , ,・・・,c( )0 1=c w( ) = 2 w ≠ 0
i
j
このまま単純に積和演算を行うと4096回(64x64)の演算が必要
空間周波数領域での信号
実際の画面の輝度信号
DCT (Discrete Cosine Transform)は画像の圧縮・伸張に用いられるマルチメディアの基本処理だが1画素につき64回もの積和演算が必要である。
2006/1/26 計算機論理設計 A.Matsuzawa 15
DSPによる積和演算
レジスタファイル
ALU X(乗算器)
+(加算器)
アキュムレータ
t0=x0+x7; t1=x1+x6; t2=x2+x5; t3=x3+x4;t4=x0-x7; t5=x1-x6; t6=x2-x5; t7=x3-x4;
f0 = t0+ t1+ t2+ t3;f2 = c2*t0+c6*t1+c6*t2-c2*t3; f4 = t0- t1- t2+ t3;f6 = c6*t0-c2*t1+c2*t2+c6*t3;
f1 = c1*t4+c3*t5+c5*t6+c7*t7;f3 = c3*t4-c7*t5-c1*t6-c5*t7;f5 = c5*t4-c1*t5+c7*t6+c3*t7;f7 = c7*t4-c5*t5+c3*t6-c1*t7;
関数の圧縮
2006/1/26 計算機論理設計 A.Matsuzawa 16
SIMD命令での高速化
PADD(並列加算命令)
x0 x1 x2 x3
x7 x6 x5 x4
+ + + +
x0+x7 x1+x6 x2+x5 x3+x4
レジスタ0
レジスタ1
レジスタ2
x0+x7 x1+x6 x2+x5 x3+x4
1 c2 1 c6
× × × ×
f0 f2 f4 f6
レジスタ0
レジスタ4
アキュムレータ
PBMAC(並列ブロードキャスト積和命令)
+ + + +
SIMD (Single Instruction Multiple Data)命令とは、プロセッサのデータパスを、8ビット、あるいは16ビット単位に分割して、同じ演算を行うもの。複数の画素データに対して、同じ処理を同時に行うことで高速化を図れる。
2006/1/26 計算機論理設計 A.Matsuzawa 17
ベクトルパイプライン処理科学計算では8個とか64個などのまとまったデータに対して一連の演算を行う場合は専用のアドレス発生器で一連のデータを連続に発生させ、パイプラインで連結した演算器に次々にデータを送り込む。ベクトルパイプライン処理が行われる。
2006/1/26 計算機論理設計 A.Matsuzawa 18
ベクトルパイプライン処理の例
量子化(Q)演算
ベクトルデータ読み出し
DCT演算
ベクトルデータ書き込みMemory
REG
BSFT
REG
REG
MUL
REG
EALU
REG
DCT
REG
REG
Memory
2006/1/26 計算機論理設計 A.Matsuzawa 19
各種ベクトル演算
P-instruction Q-instruction QP-instruction
ExecutionUnit
Mem3DSAG
),BF(AY iii = ∑= ),( ii BAFY ∑= ),( iij BAFY
AU
3DSAG
AU
Mem
3DSAG Mem
Mem3DSAG3D
SAGMem Mem3D
SAG3D
SAGMem
ExecutionUnit
ExecutionUnit
3DSAG Mem
2006/1/26 計算機論理設計 A.Matsuzawa 20
MPEG4 Codec携帯電話などの低ビットレートの画像伝送を実現するための画像処理プロセッサ高い処理能力と低消費電力を両立させなければならない。
チップ写真
2006/1/26 計算機論理設計 A.Matsuzawa 21
MPEG4 Codecの構成
VPU(Video Processing Unit)
VCE (Video Codec Engines)
DRAM(2Mb)
LM LM LMME VLC DCT
IDCTVLD PNR PAD CAD COMP
HIF(Host I/F)
Programmable DSP
DRAM(16Mb)
Main
Video Input Video Output
MIF (Memory I/F)
DRAM(2Mb)
Sub Graph.
Filter
Inst.MemDSP Core
DataMem
LM LM
専用の処理演算器(エンジンという)を並べて高速処理を実現する
2006/1/26 計算機論理設計 A.Matsuzawa 22
専用演算器の効果
通常のDSPよりも1/4の処理時間しかかからない。→高速処理かつ低電力
2006/1/26 計算機論理設計 A.Matsuzawa 23
MPEG4の画像処理1任意形状画像コアプロファイルを再生・表示
MPEG-4マルチコーデックLSI
多重
多重
オブジェクト1、オブジェクト2、オブジェクト3の圧縮された情報及び合成情報の多重化情報
分離
分離
背景動画(矩形形状)
動画(任意形状)
キャラクタ(任意形状)
合成
合成
オブジェクト1圧縮オブジェクト1圧縮
オブジェクト2圧縮オブジェクト2圧縮
オブジェクト3圧縮オブジェクト3圧縮
オブジェクト1伸張オブジェクト1伸張
オブジェクト2伸張オブジェクト2伸張
オブジェクト3伸張オブジェクト3伸張
合成動画
2006/1/26 計算機論理設計 A.Matsuzawa 24
MPEG4の画像処理1
ノイズ除去処理なし ノイズ除去処理あり
ブロック歪
ブロック歪
2006/1/26 計算機論理設計 A.Matsuzawa 25
超高速メディアプロセッサー型SoC
Tuner
AFE
ICCard
D-VHS
DVC
RD
RA
M
HDD SDRAMFlashFront End
Tuner
IEEE1394
HDD
0.13um CMOS, 6Cu35M Trs.CLK: 400MHz
メディアプロセッサー+マイクロプロセッサーによるSoCを用いてデジタルHDTVなどの超高速画像処理ができる。
2006/1/26 計算機論理設計 A.Matsuzawa 26
ソフトウエアライブラリ
ApplicationMPEG1MPEG2480P
VideoMPEG1 layer1MPEG1 layer2MPEG2 multi-channelDolby Digital(AC-3)Linear PCMDVD audioDTSAAC
Audio
OSD2D graphicsGraphics
2006/1/26 計算機論理設計 A.Matsuzawa 27
1世代前の超高速メディアプロセッサー型SoC
0.25μm 4AL CMOS
10M transistors
121.5MIPS (121.5MHz):32b MCU
2.6WIn
stru
ctio
nC
ache
iTLB
BCUBCIF
dTLB
CPUCore
XT
JTA
G
32bitMCU
DMA RAM
Demux/ DSCInstruction
ROM
Stream Buff
SystemPeriph
AudioPLL
SetupRAM Setup
ROM
MC
Setup&VLD
IDCTDA
C
VideoDecoder
SDRAMI/F
IOP
Host I/F
Transport Decoder
MediaCore
ProcessorD
ata
Cac
he
Audio I/Fetc.
2006/1/26 計算機論理設計 A.Matsuzawa 28
MCUMCU(AM33)(AM33)
CommandCommandCashCash
DataDataCashCash
CrossCrossBarBarSWSW
ExternalExternalBus ControlBus Control
AV DecoderAV Decoder(MCP)(MCP)
TransportTransportDecoderDecoder
DMA ControlDMA Control
Command BusCommand Bus
Stream BusStream Bus
InternalInternalSRAMSRAM
Data BusData Bus
I/OI/O BusBus
FlashFlashMemoryMemory
SDRAMSDRAM
SDRAMSDRAM
SDRAMSDRAMControlControl
DigitalDigitalDemodulation,Demodulation,
ECCECC
TVTVMonitorMonitor
I CI CCardCard
STBSTB--peripheral I/Operipheral I/O
チップの構成
2006/1/26 計算機論理設計 A.Matsuzawa 29
System analysis 1: External busSystem analysis 1: External bus
0
50
100
5 15 20 2510
Data
Instruction
50
100
5 15 20 25100
Time (msec)
EPG process( non AV replay)
at AV replay
Bus occupation increases at AV replay
SDRAM
Prog. Exe
OSD drawing
Receive data fetch
AV otStream
MCU
AVDec.
PeripheralASIC
TSDec.
DRAM
DRAMFlash
Occ
upat
ion
of e
xter
nal b
us (%
)O
ccup
atio
n of
ext
erna
l bus
(%)
2006/1/26 計算機論理設計 A.Matsuzawa 30
System analysis 2: Internal busSystem analysis 2: Internal bus
Access conflicts
CPUCore
Buscontroller
D-Cache
I-Cache
I/O
MCU
Inst.
Data
Instruction cashfill transfer
I/O data transferData cash
Fill transfer
Instruction execution is only 1/4
Waiting
76% 34%
20%
24%22%
Bus accessExec.
Inst./Dataconflict
Other accessconflict
Internal status in MCU
Inst. Exec.
Many conflicts between data and instructions
2006/1/26 計算機論理設計 A.Matsuzawa 31
Crossbar switchCrossbar switch
Main Memory(SDRAM)
ExternalDevice
MCPTransportDecoder
Peripherals
Crossbarswitch
MCUInst. access
MCUData access
MCUI/O access
DMAcontroller
DMAtransport dec.
Bus-slave
Bus-master
Bus-master can access to bus slave in each independently
2006/1/26 計算機論理設計 A.Matsuzawa 32
LSI構成と消費電力
MPU DSP Dedicated LSI
GOPS
Pd (mW)
Pd (mW)/GOPS
0.9 0.8 2.4
7000 110 12
7800 138 5
Parallelism 2 16 96
3 order’s difference
Courtesy,Prof. Brodersen,UCB
LSIの構成の違いにより同一の処理能力でも消費電力は3桁違う。汎用プロセッサーが最も電力を消費する。
Clock (MHz) 450 50 25
2006/1/26 計算機論理設計 A.Matsuzawa 33
宿題の回答
1)パイプライン構造が用いられる理由を述べよ
2)
・処理Aに要する時間:t1=50ns・処理Bに要する時間:t2=60ns・処理Cに要する時間:t3=90ns・処理Dに要する時間:t4=55ns・レジスタの遅延時間:tw:5ns とすると
4段のパイプラインでA, B, C, Dの処理を行う場合、
論理回路をラッチで挟んでやることにより複数の処理を同時に行うことができ、高速動作が可能になるため。
・パイプライン構成の場合の最大動作周波数・非パイプラン構成と仮定した場合の最大動作周波数を求めよ
3)CPUにパイプラン構成を用いる場合の課題と対策方法を述べよ(2つ程度)
MHznsT 51095590 .→=+=MHznsT 83260555906050 .→=++++=
メモリアクセスでの衝突を発生させない。→命令メモリとデータメモリの分離
バスの増加多ワードの読み出し、書き込み
命令動作特に分岐命令時に時間的な矛盾を起こさない。→必要に応じてNOPを挿入する
分岐命令をできるだけ前に持ってくる
各パイプラインステージでの処理時間を揃える→命令の簡略化、RISCシステムの採用
専用演算器の設置レジスタファイルの大容量化多ワード書き込み、読み出し
2006/1/26 計算機論理設計 A.Matsuzawa 34
宿題
• 1)プロセッサを高速化する基本構造を3つ程度挙げよ• 2)DSPの特徴を述べよ• 3)DSPの高速化技術を2つ程度挙げよ• 4)ベクトルパイプラインについて動作を説明せよ• 5)専用処理回路を設ける目的と効果について述べよ
計算機論理設計 (A) (Computer Logic Design (A))12 DSPと専用プロセッサ高速化手法:アレイプロセッサ高速化手法:ベクトルプロセッサ並列処理アーキテクチャDSPの構成その他のDSP構成DSPの演算マルチメディア処理の演算量専用積和演算器倍速積和演算器ALUの改良DCT (Discrete Cosine Transform)DCT演算DSPによる積和演算SIMD命令での高速化ベクトルパイプライン処理ベクトルパイプライン処理の例各種ベクトル演算MPEG4 CodecMPEG4 Codecの構成専用演算器の効果MPEG4の画像処理1MPEG4の画像処理1超高速メディアプロセッサー型SoCチップの構成LSI構成と消費電力宿題の回答宿題