Top Banner

of 28

BG3 Datapath Control

Jun 04, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/13/2019 BG3 Datapath Control

    1/28

    Hc k 2 2010-2011 T chc my tnh

    T chc my tnhHc k 2 2010-2011

    Bi 3: Datapath v Control(c ch4: 4.1 4.5)

    H Vit VitThS. GVC

    B mn K thut my tnh, Khoa in t Vin thng

    i hc Bch khoa Nng

    [email protected]

  • 8/13/2019 BG3 Datapath Control

    2/28

    Hc k 2 2010-2011 T chc my tnh

    Mc tiu Bi 3

    Thit k phn cng cho mt cu lnh c th i vi mtb x l MIPS single-cycle c tp lnh n gin

  • 8/13/2019 BG3 Datapath Control

    3/28

    Hc k 2 2010-2011 T chc my tnh

    Gian bp ca Von Neumann

    Cc thanh ghi

    ALU

    Control

    Memor

    y

    Outpu

    t

    Program

    Dat

    a

    Chn mnPC

    Bt u

    Processo

    r

    Inpu

    t

  • 8/13/2019 BG3 Datapath Control

    4/28

    Hc k 2 2010-2011 T chc my tnh

    S vic bt u t u?

    T mt thanh ghi:program counter (PC).PC cha a ch ca lnh k tip cn phi

    thc hin.u tin, PC cha a ch ca v tr nh

    bt u chng trnh.

  • 8/13/2019 BG3 Datapath Control

    5/28

    Hc k 2 2010-2011 T chc my tnh

    Chng trnh u?

    M my ca

    chng trnh

    B nh

    Bt u

    Programcounter

    (PC)

    Processo

    r

  • 8/13/2019 BG3 Datapath Control

    6/28

    Hc k 2 2010-2011 T chc my tnh

    Chng trnh c thc hin?Bt u

    PC cha a ch bt u chng trnh

    Ly t lnh ti v tr nh c a ch PC

    v PC PC + 4 chun b cho lnh k tip

    Gii m lnh

    Xong

    chng

    trnh

    XongChaST

    OP

    Thc hin lnh

    Lu kt qu vo thanh ghi hoc b nh

  • 8/13/2019 BG3 Datapath Control

    7/28

    Hc k 2 2010-2011 T chc my tnh

    Datapath v Control

    Datapath: B nh, Cc thanh ghi, Cc b cng, ALU, v ccbus thng tin. Mi bc (Ly lnh, gii m, thc hin, lukt qu) cn truyn d liu gia b nh, cc thanh ghi v

    ALU.

    Control: Datapath cho mi bc c duy tr bi cc tnhiu iu khin . Cc tn hiu iu khin c to ra t n

    v control nhm ch hng truyn d liu trn bus thng tin

    v ch nh chc nng cho ALU v b nh

  • 8/13/2019 BG3 Datapath Control

    8/28

    Hc k 2 2010-2011 T chc my tnh

    Datapath cho Ly lnh

    PC B nh lnh

    4

    a ch

    T lnh i ti

    cc thanh ghi v Control

    Add

  • 8/13/2019 BG3 Datapath Control

    9/28

    Hc k 2 2010-2011 T chc my tnh

    File thanh ghi: mt thnh phn ca

    Datapath

    32 Registers

    (reg. file)Write

    register

    reg 1 data

    reg 2 data

    5

    5

    5

    3

    2

    3

    2

    3

    2

    reg 1

    reg 2

    Read

    registers

    Write

    data

    RegWrite

    n t Control

  • 8/13/2019 BG3 Datapath Control

    10/28

    Hc k 2 2010-2011 T chc my tnh

    ALU c th thc hin nhiu

    php ton

    ALU

    3

    zero kt qu

    overflow

    Cc tn hiu chn php tonn t Control

    Chn php tonALU

    000AND

    001OR

    010Add

    110Subtract

    111Set on less than

    zero = 1, khi mi bit ca kt qu bng 0

  • 8/13/2019 BG3 Datapath Control

    11/28

    Hc k 2 2010-2011 T chc my tnh

    Cc lnh kiu R

    Cc lnh s hc v logicadd, sub, sltV d: add $t0, $s1, $s2oM my ca lnh

    00000010001 10010 01000 00000 100000

    Opcode$s1 $s2 $t0 function

    oc 2 thanh ghi t File thanh ghi

    oGhi kt qu vo 1 thanh ghi

    oOpcodev functioni ti Control to ra tn

    hiu RegWrite v cc tn hiu chn php ton

  • 8/13/2019 BG3 Datapath Control

    12/28

    Hc k 2 2010-2011 T chc my tnh

    Datapath cho lnh kiu R

    32 Registers(reg. file)

    Write

    reg.

    number

    5

    5

    5

    3

    2

    3

    2

    $s1

    $s2

    Read

    register

    numbers

    Writedata

    ALU

    3

    zer

    o result

    overflow

    Cc tn hiu chnPhp ton

    10001

    10010

    01000

    RegWrite

    3

    2$t

    0

    000000 10001 10010 01000 00000 100000

    opcode $s1 $s2 $t0 function (add)

  • 8/13/2019 BG3 Datapath Control

    13/28

    Hc k 2 2010-2011 T chc my tnh

    Load v Store

    Cc lnh kiu Ilw $t0, 1200 ($t1)10001101001 01000 0000 0100 1011 0000

    opcode $t1 $t0 1200

    sw $t0, 1200 ($t1)10101101001 01000 0000 0100 1011 0000

    opcode$t1 $t0 1200

  • 8/13/2019 BG3 Datapath Control

    14/28

    Hc k 2 2010-2011 T chc my tnh

    Datapath cho lw

    Operation

    select

    from control

    (add)

    32 Registers

    (reg. file)

    Write reg.

    number

    5

    5

    5

    3

    2

    3

    2

    $t

    1Read

    register

    numbers

    Write data

    AL

    U

    3

    zeroresult

    overflow

    0100

    1

    0100

    0

    RegWritefrom control

    activated

    3

    2Sign

    exten

    d1

    6

    100 1011

    Data

    memory

    Addr.

    Read

    data

    MemWrite

    MemRead

    activated

    $t

    0 Write

    data

    100011 01001 01000 0000 0100 1011 0000

    opcode$t1 $t0 1200

    mem. data to $t0

  • 8/13/2019 BG3 Datapath Control

    15/28

    Hc k 2 2010-2011 T chc my tnh

    Datapath cho sw

    Operation

    select

    from control

    (add)

    32 Registers

    (reg. file)

    Write reg.

    number

    5

    5

    5

    3

    2

    3

    2

    $t

    1

    $t

    0

    Read

    register

    numbers

    Write data

    AL

    U

    3

    zeroresult

    overflow

    0100

    1

    RegWrite

    from control

    3

    2Sign

    exten

    d1

    6

    100 1011

    Data

    memory

    Addr.

    Read

    data

    $t0data to

    mem.

    0100

    0

    MemWrite

    activated

    MemRead

    Write

    data

    101011 01001 01000 0000 0100 1011 0000

    opcode$t1 $t0 1200

    3

    2

  • 8/13/2019 BG3 Datapath Control

    16/28

    Hc k 2 2010-2011 T chc my tnh

    Lnh r nhnh (kiu I)

    beq $s1, $s2, 25 # nu $s1 = $s2, PC bqua 25 lnh

    16-bits

    00010010001 10010 0000 0000 0001 1001

    opcode$s1 $s2 25

    Lu : C th r nhnh trong phm vi 215lnh t a ch hin

    thi trong PC.

  • 8/13/2019 BG3 Datapath Control

    17/28

    Hc k 2 2010-2011 T chc my tnh

    Datapath cho beq

    Operation

    select

    from control (subtract)

    32 Registers

    (reg. file)

    Write reg.

    number

    5

    5

    5

    3

    2

    3

    2

    $s

    1Read

    register

    numbers

    Write data

    AL

    U

    3

    zeroresult

    overflow

    1000

    1

    1001

    0

    RegWrite

    from control

    3

    2

    Sign

    exten

    d

    1

    60 0000 0001

    1

    Shift

    left 2

    Ad

    d

    16-bits

    00010010001 10010 0000 0000 0001 1001opcode $s1 $s2 25

    $s

    2

    3

    2

    3

    2

    3

    2

    To

    branch

    cont ro l

    log ic

    PC+

    4From inst ruc t ionfetch datapath

    Branc

    h

    target3

    2

  • 8/13/2019 BG3 Datapath Control

    18/28

    Hc k 2 2010-2011 T chc my tnh

    Lnh J (kiu J)

    j 2500 # nhy n lnh ti 1000026-bits

    0000100000 0000 0000 0010 0111 0001 00opcode2,500

    0000 0000 0000 0000 0010 0111 00010000bits 28-31 from PC+4

    32-bit jump

    address

  • 8/13/2019 BG3 Datapath Control

    19/28

    Hc k 2 2010-2011 T chc my tnh

    Datapath cho J

    PCInstruction

    MemoryAddressInstruction

    word to

    control and

    registers

    4Add

    1

    mux

    0

    0

    mux1

    opcode (bits 26-31)

    to control

    Shift

    left 2

    6

    2

    6

    Branc

    h

    addr.

    Branc

    h Jum

    p

    3

    2

    3

    2

    3

    2

    2

    8

    4

    3

    2

    3

    2

    PC+

    4

    3

    2

  • 8/13/2019 BG3 Datapath Control

    20/28

    Hc k 2 2010-2011 T chc my tnh

    Instr.

    mem.PC

    Add

    Reg. File

    Data

    mem.

    1 mux 0

    1 mux 0

    0 mux 1

    4

    1 mux 0

    Sig

    n

    ext.

    Shift

    left 2

    ALU

    Cont.

    CONTROLopcode

    MemWrit

    e

    MemReadALU

    Branc

    h

    zero

    0-15

    0-5

    11-15

    16-20

    21-25

    26-31

    ALU

    0 mux 1

    Shift

    left2

    0-25 Jum

    p

    RegDs

    t

    MemtoReg

  • 8/13/2019 BG3 Datapath Control

    21/28

    Hc k 2 2010-2011 T chc my tnh

    Control

    Contro

    l

    Logic

    Instruction

    bits 26-31

    opcode

    RegDst

    Jump

    Branch

    MemRead

    MemtoReg

    ALUOp

    MemWrite

    ALUSrc

    RegWriteALU

    Contro

    l

    Instruction

    bits 0-5

    funct.

    2

    to ALU

  • 8/13/2019 BG3 Datapath Control

    22/28

    Hc k 2 2010-2011 T chc my tnh

    Control Logic: Truth Table

    Instr

    type

    Inputs: instr. opcode bits Outputs: control signals

    31 30 29 28 27 26Re

    gD

    st

    Ju

    mp

    AL

    US

    rc

    Me

    mt

    oR

    eg

    Re

    gW

    rite

    Me

    m

    Re

    ad

    Me

    m

    Wri

    te

    Br

    an

    ch

    AL

    O

    Op

    1

    AL

    UO

    p2

    R 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0

    lw 1 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0

    sw 1 0 1 0 1 1 X 0 1 X 0 0 1 0 0 0

    beq 0 0 0 1 0 0 X 0 0 X 0 0 0 1 0 1

    j 0 0 0 0 1 0 X 1 X X 0 X 0 X X X

  • 8/13/2019 BG3 Datapath Control

    23/28

    Hc k 2 2010-2011 T chc my tnh

    Thi gian cho mt lnh?

    Gi s control hot ng nhanh th thigian dnh cho mt lnh ch yu l thigian lm vic ca ALU, thi gian c/ghi

    b nh v thi gian c/ghi thanh ghi.

    Lnh s hc (kiu R) Ly lnh (c b nh) 2ns

    c thanh ghi 1ns

    Hot ng ca ALU 2ns

    Ghi thanh ghi 1ns

    Tng cng 6ns

  • 8/13/2019 BG3 Datapath Control

    24/28

    Hc k 2 2010-2011 T chc my tnh

    Thi gian cho lw v sw (Kiu I)

    Lnh s hc (kiu R) 6nsLoad word (kiu I)oLy lnh (c b nh) 2ns

    oc thanh ghi 1nsoHot ng ALU 2ns

    oLy d liu (c b nh ) 2ns

    oGhi thanh ghi 1ns

    oTng cng 8ns

    Store word (khng ghi thanh ghi) 7ns

  • 8/13/2019 BG3 Datapath Control

    25/28

    Hc k 2 2010-2011 T chc my tnh

    Thi gian cho beq (Kiu I)

    S hc (R) 6nsLoad word (I) 8ns

    Store word (I) 7nsBranch on equal (I)oLy lnh (c b nh) 2ns

    oc thanh ghi 1ns

    oHot ng ALU 2ns

    oTng cng 5ns

  • 8/13/2019 BG3 Datapath Control

    26/28

    Hc k 2 2010-2011 T chc my tnh

    Thi gian cho Jump (Kiu J)

    S hc (R) 6nsLoad word (I) 8ns

    Store word (I) 7nsBranch on equal (I) 5nsJump (J):oLy lnh (c b nh) 2ns

    oTng cng 2ns

  • 8/13/2019 BG3 Datapath Control

    27/28

    Hc k 2 2010-2011 T chc my tnh

    Chu k ng h phi bng ?

    Nu mi lnh phi c thc hin trongmt chu k ng h th:oChu k ng h t nht phi bng 8ns c th

    hon tt lnh lu nht l lnh lw.

    oy gi l b x l Single-Cycle.

    oCc lnh khc cng tn chng y thi gian.

    Phng php tng tc: B x l Multicyclev Pipelining.

  • 8/13/2019 BG3 Datapath Control

    28/28

    Hc k 2 2010-2011 T chc my tnh

    Tm tt

    c th thit k datapath v control cnphi bit khun dng (kiu) ca cc culnh: R, I, J

    Tt c cc lnh ca mt b x l Single-Cycle u c thc hin trong mt chu k

    ng h (mc d thi gian cn thit c th

    b hn)