34
2006/1/26 計算機論理設計 A.Matsuzawa 1 計算機論理設計 (A) (Computer Logic Design (A)) 東京工業大学 大学院理工学研究科 電子物理工学専攻 松澤 テキストは http://www.ssc.pe.titech.ac.jp からダウンロード可能です

計算機論理設計 (A) (Computer Logic Design (A))...2006/1/26 計算機論理設計A.Matsuzawa 9 マルチメディア処理の演算量 Voice Recognition 0.01 0. 1 1 10 100 Performance

  • 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構成と消費電力宿題の回答宿題