daniel f.s_on tap kien truc may tinh

Upload: hong-nhung-le

Post on 16-Oct-2015

40 views

Category:

Documents


2 download

TRANSCRIPT

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 1

    CHNG I: HIU NNG MY TNH

    Hiu nng my tnh X

    So snh hiu nng 2 my tnh

    Thi gian CPU Thi gian b x l dng thc hin 1 nhim v

    TCPU Thi gian b x l dng thc hin 1 chng trnh

    C S xung ng h vi x l dng thc hin 1 chng trnh

    TC/fC ln 1 chu k / Tn s hot ng

    I S ch th cn thc hin trong chng trnh

    CPI (Clock cycles per Instruction) S xung ng h trung bnh cn thc thi 1 ch th my

    CPI hiu dng (Tnh trung bnh)

    CPIi S chu k trung bnh cn thit thc thi 1 ch th thuc lp i

    ICi T l (%) ch th thuc lp i c thc thi trong chng trnh

    nh lut Amdahl

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 2

    CHNG II: NGN NG MY TNH V PHP TON

    I. BIU DIN S NGUYN

    1. Mt bit du v ln

    Bit u l bit du (0 l dng, 1 l m). Cc bit sau biu din s nguyn khng du.

    C 2 cch biu din s 0 (+0 v -0)

    Khong biu din [-(2m-1-1), 2m-1-1]

    2. M b 2

    Bit u l bit du (0 l dng, 1 l m).

    Cch i sang s m

    o o bit s dng m b 1

    o Cng thm 1 m b 2 (b bit trn)

    C 1 cch duy nht biu din s 0

    Khong biu din [-2m-1, 2m-1-1]

    i t s nguyn n bit sang s nguyn m bit (m>n), ch cn sao chp bit du cho s bit

    VD: 1001(s -7 dng 4 bit) 111001 (s -7 dng 6 bit)

    3. M lch

    Trong : bias l lch v thng bng 2m-1

    Khng c bit du

    Khong biu din: [-2m-1, 2m-1-1]

    VD: (11011001) 2, 63 = 20 + 2

    3 + 2

    4 + 2

    6 + 2

    7 63 = 154

    II. BIU DIN S THC CHUN IEEE 754

    chnh xc n dng 32 bit nh phn

    1 bt du s: 0 s dng; 1 s m

    8 bt biu din s m theo m lch 127:

    23 bt biu din phn ln c chun ha 1 M < 2

    M = (1,f22f21f0)2

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 3

    Biu din cc s c bit

    VD: 1 1101 1001 110000 (tng cng 32 bit)

    s = 1 S m

    exp = (1101 1001)2,127 = 20 + 2

    3 + 2

    4 + 2

    6 + 2

    7 127 = 90

    M = (1, 110000) = 1 + 2-1 + 2-2 = 1,75

    R = (-1) x 290 x 1,75 = 2,1664 x 1027

    III. KIN TRC TP LNH

    1. Big Endian v Little Endian

    Big Endian: a ch word l a ch ca byte ln nht trong word. Byte thp cha nh

    c a ch cao.

    Little Endian: a ch word l a ch ca byte nh nht trong word. Byte thp cha

    nh c a ch thp.

    2. Kin trc RISC v CISC

    RISC

    o Tp lnh rt gn

    o nh dng lnh v di lnh c nh, n gin D gii m

    o Ch a ch n gin

    o t h tr cc loi d liu phc tp

    CISC

    o Tp lnh phc tp

    o Lnh c di thay i, phc tp Gn ngn ng lp trnh bc cao

    o Ch a ch phc tp

    o H tr cc loi d liu phc tp

    3. Ch a ch

    Thanh ghi Add R4, R3 R4 R4 + R3

    Tc th Add R4, #3 R4 R4 + 3

    Dch chuyn Add R4, 100(R1) R4 R4 + Mem[100+R1]

    Gin tip thanh ghi Add R4, (R1) R4 R4 + Mem [R1]

    Ch s/c s Add R3, (R1+R2) R3 R3 + Mem [R1+R2]

    Trc tip Add R1, (1001) R1 R1 + Mem [1001]

    Gin tip b nh Add R1, @(R3) R1 R1 + Mem [Mem[R3]]

    Tng t ng Add R1, (R2)+ R1 R1 + Mem [R2]; R2 R2 + d

    Gim t ng Add R1, -(R2) R2 R2 d; R1 R1 + Mem [R2]

    Scaled Add R1, 100(R2)[R3] R1 R1 + Mem [100 + R2 + R3 * d]

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 4

    4. Tp thanh ghi ca MIPS

    Gm 32 thanh ghi 32 bit, 2 cng c, 1 cng ghi.

    Tn Ch s Cng dng

    $zero 0 Lun bng 0

    $at 1 Reserved for assembler

    $v0 - $v1 2 3 Lu kt qu tr v

    $a0 - $a3 4 - 7 Lu gi tr

    $t0 - $t7 8 15 Bin tm

    $s0 - $s7 16 23 Lu kt qu

    $gp 28 Con tr ton cc

    $sp 29 Con tr stack

    $fp 30 Con tr khung

    $ra 31 a ch tr v

    5. Kin trc tp lnh MIPS

    Ch th di 32 bit

    3 loi nh dng

    o R-ch th thanh ghi: 2 ton hng ngun thanh ghi, 1 ton hng ch thanh ghi.

    o I-ch th trc tip: 1 ton hng ngun thanh ghi, 1 ton hng ngun trc tip, 1 ton

    hng ch thanh ghi.

    o J-ch th nhy: 1 ton hng ngun trc tip.

    6. R format

    M hp ng

    , ,

    rd rs op rt

    V d: add $t1, $s4, $s3

    Rs = $s4; Rt = $s3; Rd = $t1;

    Sll $t2, $s0, 8

    Rt = $s0; Rd = $t2; Shamt = 8;

    o Op: m lnh xc nh php ton (opcode)

    o Rs: ch s thanh ghi ton hng ngun 1

    o Rt: ch s thanh ghi ton hng ngun 2

    o Rd: ch s thanh ghi lu kt qu

    o Shamt: s lng dch (cho ch th dch)

    o Funct: m chc nng thm cho phn m lnh

    op rs rt rd shamt funct

    6 bit 5 bit 5 bit 5 bit 5 bit 6 bit

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 5

    7. I format

    a. Load Store

    M hp ng (v d)

    lw $t0, 24($s3)

    b. R nhnh c iu kin

    M hp ng (v d)

    bne $s0, $s1, label1

    Xc nh a ch r nhnh:

    Thm 2 bit 0 vo cui offset (v PC tn cng l 00) v m rng bit du cho 32 bit

    (*)

    PC c cp nht (PC+4) (**)

    (*) + (**) c a ch r nhnh, lu tr li PC.

    8. J format

    Dng cho lnh nhy kh ng iu kin.

    M hp ng (v d):

    j label1

    Opcode Jump target

    6 bit 26 bit address

    Thm 2 bit 0 vo cui Jump target, copy 4 bit u ca PC t vo trc Jump target cho 32 bit.

    c a ch cn nhy ti, copy vo PC

    op rs rt immediate

    6 bit 5 bit 5 bit 16 bit lw $s3 $t0 24(10)

    op rs rt immediate

    6 bit 5 bit 5 bit 16 bit bne $s0 $s1 Offset to label1

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 6

    9. Tng hp cc lnh

    IV. PHP TON V CCH THC HIN

    1. Php ton dch v b dch

    Dch logic

    o Cc ch s trng c in bng 0

    o Sang phi1 bit: srl1(an-1,an-2,,a0) = (0,an-1,an-2,,a1)

    o Sang tri 1 bit: sll1(an-1,an-2,,a0) = (an-2,an-3,,a0,0)

    o Dng trin khai b nhn v chia khng du

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 7

    Dch s hc

    o Bt du (MSB) kh ng c thay i

    dch phi sao chp bt du vo cc ch s trng

    dch tri khng dch bt du

    o Sang phi 1 bit: sra1(an-1,an-2,,a0) = (an-1,an-1,an-2,,a1)

    o Sang tri 1 bit: sla1(an-1,an-2,,a0) = (an-1,an-3,,a0,0)

    o Dng trin khai b nhn v chia c du

    B dch tri 0 bit hoc 1 bit

    1 0 1 0 1 0 1 0

    Tn hiu iu khin

    S =0 or 1

    Cn-1 C2 C1 C00

    D0D1D2Dn-1

    .

    B dch tri 1 bit v dch phi 2 bit

    2. B cng Tr

    a. B cng na (Cng 2 s 1 bit)

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 8

    b. B cng (Cng 3 s 1 bit) (FA)

    tr c tnh theo thi gian xut hin ca Ci (v a, b xut hin sm hn Ci rt nhiu)

    c. B cng 2 s n bit dng b 2

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 9

    tr tng tuyn tnh vi s lng b cng

    d. B cng CLA

    Vi Ripple-Carry Adder, bit nh c tnh da trn cc bt nh trc tc chm

    Tng tc , tnh bit nh mi ct trc tip t tn hiu u vo

    Bit nh u ra ca ct i c tnh t tn hiu to nh v tn hiu lan truyn nh ci = gi + ci-1* pi

    Tnh ton bit nh

    Mi cng thc nh trn c th c trin khai bi mt mch logic 2 mc

    tnh ton pi, gi ta cn mch logic 1 mc t u vo

    Vy cn ti a 3 mc t u vo tnh c tn hiu nh

    Tng tc ( tr gim t 7 b cng ni tip thnh 3 b cng CLA)

    Cn cng AND n+2 u vo v cng OR n+2 u vo cho cn Ch gii hn trong 4 bit, mun

    cng nhiu bit hn phi ghp cc b cng ny.

    PFA

    CLA

    a b

    s

    p g

    C3,2,1,0

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 10

    Tng 1: Tnh ton tng, tnh hiu to nh v truyn nh (1 mc logic) PFA

    Tng 2: Tnh ton bit nh (2 mc logic) CLA

    3. B nhn

    a. Nhn khng du

    Nhn ln lt cc ct ca s b nhn v s nhn c tch cc b

    Cc tch cc b c cng vi nhau theo ct

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 11

    b. Nhn c du

    M rng bt du cho cc tch cc b

    Vi tch cc b ca bit du s b3, cn ly s i (s b 2)

    p dng quy tc bin i chui bit ging nhau (xem nhn Booth) trn mi hng, ta c:

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 12

    Vit gn li ta c:

    Chuyn php tr thnh cng vi b 2 :

    Vit gn li (a hng cui ln cc hng tng ng)

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 13

    B nhn c du

    c. Nhn ni tip

    S dng b cng cng cc tch cc b

    Thc hin php nhn trong vi chu k ng h

    Lu s b nhn, s nhn v kt qu tm thi trong cc thanh ghi

    Vi mi bit bi ca s nhn B (t phi qua tri)

    o Nhn bi vi s b nhn A v cng tch vi kt qu tng tm thi Y Nu bi = 1 th

    cng A vo Y

    o Dch A sang tri 1 bit

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 14

    Nhn xt:

    Mt na s bit ca A lun bng 0

    Khi A dch tri, bit 0 c thm vo bn phi cc bit LSB ca tch khng b nh hng

    tng: Gi A pha tri ca tch v dch tch sang phi

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 15

    Nhn xt :

    Trong qua trnh tnh ton, c Y v B u c dch sang phi C th ghp chung Y v B vo

    cng 1 thanh ghi.

    d. Nhn Booth

    A * 1111 = A * (24 20) = A * 24 A

    Dch A sang tri 4 bit v tr i A

    S b nhn B cha chui s 1 t bit v tr v n bit v tr u

    (bn-1, bn-2, bu+1,bu,,bv,bv-1,..,b0) = (bn-1, bn-2, 0,1,,1,0,..,b0)

    Chui bit c th thay th bng 2u+1 2v

    Cc php nhn v cng cho cc bt bu n bv c th c thay bng php dch tri v php tr

    V d: B = 001110 (1410), u = 3, v = 2 A x B = A* 24 A*21

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 16

    Thc hin theo s thut ton, ch :

    Bt u chui s 1 : 2 bit lin tip nhau l 01

    Kt thc chui s 1 : 2 bit lin tip nhau l 10

    Ch : Nhn Booth l nhn 2 s nguyn c du ^^

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 17

    4. B chia

    Thut ton : Ly s b chia tr i s chia v dch phi s chia (nh chia hng dc)

    V d : Y = A/B

    Ti u khi thc hin : Thay v dch phi s chia th dch tri phn d (l phn s b chia sau khi

    tr i s chia)

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 18

    Chia c du :

    Chia phn gi tr tuyt i

    Xc nh du ca thng :

    o Thng mang du (+) nu s b chia v s chia cng du

    o Thng mang du (-) nu s b chia v s chia tri du

    S d cng du vi s b chia

    o kt qu nu cn thit

    5. Php ton vi du phy ng

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 19

    CHNG III : B X L

    I. CC QU TRNH THC HIN

    Instruction

    Fetch

    c lnh

    Instruction

    Decode

    Gii m lnh

    Operand

    Fetch

    c ton

    hng

    Execute

    Thc hin

    Result store

    Lu kt qu

    Next

    Instruction

    Tng PC

    thm 4

    Fetch

    PC=PC+4

    Decode Exec, Store

    1. Np lnh

    c lnh ti a ch lu trong PC t b nh ch th.

    Khng cn tn hiu iu khin PC.

    Sau mi chu k ng h, PC t ng tng thm 4.

    2. Gii m lnh

    Chuyn cc bit thuc trng m lnh v trng m chc nng ti khi iu khin.

    c 2 gi tr ton hng ngun t tp thanh ghi (Ch s cc thanh ghi nm trong lnh)

    3. Thc hin lnh

    a. Thc hin lnh loi R

    Thc hin php ton (m ha

    bi op v funct) trn gi tr ton

    hng trong rs v rt.

    Ghi kt qu vo tp thanh ghi

    (ti v tr rd)

    Tp thanh ghi kh ng c ghi

    mi chu k cn tn hiu iu

    khin ghi ring bit (RegWrite)

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 20

    b. Thc hin lnh c ghi b nh (Loi I)

    Tnh a ch b nh bng cch cng thanh ghi c s (c t tp thanh ghi khi gii m lnh) vi

    gi tr offset.

    ghi (sw) gi tr (c c t tp thanh ghi khi gii m lnh) vo b nh d liu.

    c (lw) gi tr t b nh d liu vo tp thanh ghi.

    Lnh SW (Store)

    Lnh LW (Load)

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 21

    c. Thc hin lnh r nhnh c iu kin (Loi I)

    d. Thc hin lnh nhy kh ng iu kin (Loi J)

    II. B X L N XUNG NHP

    Cc lnh c thc hin trong 1 chu k xung nhp

    u im : n gin v d hiu

    Nhc im :

    o Chu k ng h t theo lnh chm nht S dng chu k ng h khng hiu qu

    o Tn din tch thit k v mt s khi chc nng cn c nhn ln do khng th c

    chia s trong cng 1 chu k ng h.

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 22

    1. Lnh R

    Cc ng d liu :

    Instr [31-26] : a Op vo khi iu khin

    Instr [25-21] : Ton hng ngun th nht (rs)

    Instr [20-16] : Ton hng ngun th 2 (rt)

    Instr [15-11] : Ton hng ch (rd : a ch cn thanh ghi cn ghi vo)

    Instr [15-11] : Ton hng ch (rd : a ch cn thanh ghi cn ghi vo)

    Instr [5-0] : a Fn vo ALU control xc nh chnh xc tn hiu iu khin t ALU

    ReadData1 v ReadData2 ni vo 2 u vo khi ALU

    u ra khi ALU l kt qu cn ghi, c a tr v u WriteData ca tp thanh ghi

    PC c tng thm 4 v lu tr v PC

    Cc tn hiu iu khin :

    ALUOp : iu khin khi ALU control

    RegDst = 1 : Chn a ch thanh ghi ch l rd (Instr [15-11]) t b MUX

    RegWrite = 1 : Cho php ghi vo tp thanh ghi

    ALUScr = 0: Chn tn hiu vo khi ALU l ReadData2

    MemtoReg = 0: Chn tn hiu ghi vo tp thanh ghi l kt qu t khi ALU

    Branch = 0 PCScr = 0: Chn tn hiu PC+4 a v PC

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 23

    2. Lnh STORE

    Cc ng d liu :

    Instr [31-26] : a Op vo khi iu khin

    Instr [25-21] : Ton hng ngun th nht (rs) tnh a ch b nh

    Instr [20-16] : Ton hng ngun th 2 (rt) cha ni dung cn ghi vo b nh

    Instr [15-0] : Phn Offset 16 bit, c m rng thnh 32 bit v a vo ALU tnh ton

    a ch b nh.

    ReadData1 a vo ALU tnh a ch b nh

    ReadData2 a vo WriteData : D liu cn ghi vo b nh

    u ra khi ALU a ch b nh cn ghi d liu vo

    PC c tng thm 4 v lu tr v PC

    Cc tn hiu iu khin :

    ALUOp : iu khin khi ALU control

    ALUScr = 1: Chn tn hiu vo khi ALU l phn Offset sau khi m rng du

    MemWrite = 1: Cho php ghi vo b nh

    MemRead = 0: Kh ng cho php c b nh

    Branch = 0 PCScr = 0: Chn tn hiu PC+4 a v PC

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 24

    3. Lnh LOAD

    Cc ng d liu :

    Instr [31-26] : a Op vo khi iu khin

    Instr [25-21] : Ton hng ngun th nht (rs) tnh a ch b nh

    Instr [20-16] : Ton hng ch (rt) l thanh ghi nhn d liu t b nh.

    Instr [15-0] : Phn Offset 16 bit, c m rng thnh 32 bit v a vo ALU tnh ton

    a ch b nh.

    ReadData1 a vo ALU tnh a ch b nh

    u ra khi ALU a ch b nh cnc d liu ra

    PC c tng thm 4 v lu tr v PC

    D liu ti u ra ReadData qua b MUX c a tr v WriteData ca tp thanh ghi

    Cc tn hiu iu khin :

    ALUOp : iu khin khi ALU control

    ALUScr = 1: Chn tn hiu vo khi ALU l phn Offset sau khi m rng du

    RegDst = 1 : Chn a ch thanh ghi ch l rt (Instr [20-16]) t b MUX

    RegWrite = 1 : Cho php ghi vo tp thanh ghi

    MemWrite = 0: Khng cho php ghi vo b nh

    MemRead = 1: Cho php c b nh

    MemtoReg = 1: Chn ReadData a v WriteData trn tp thanh ghi

    Branch = 0 PCScr = 0: Chn tn hiu PC+4 a v PC

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 25

    4. Lnh r nhnh c iu kin

    Cc ng d liu :

    Instr [31-26] : a Op vo khi iu khin

    Instr [25-21] : Ton hng ngun th nht (rs) so snh

    Instr [20-16] : Ton hng th 2 (rt) so snh

    Instr [15-0] : Phn Offset 16 bit, c m rng thnh 32 bit tnh a ch r nhnh. 32 bit

    ny sau c dch tri 2 bit to 2 bit 0 cui, ri cng vi (PC+4) a ch r

    nhnh.

    ReadData1 a vo ALU so snh

    ReadData2 a vo ALU so snh

    PC c tng thm 4 v lu tr v PC (Nu ko c r nhnh)

    Cc tn hiu iu khin :

    ALUOp : iu khin khi ALU control

    ALUScr = 0: Chn tn hiu vo khi ALU ReadData2

    Branch = 1 Vic la chn r nhnh ph thuc vo tn hiu Zero

    Tn hiu Zero t khi ALU xc nh c r nhnh hay khng

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 26

    5. Lnh nhy khng iu kin

    Cc ng d liu :

    Instr [31-26] : a Op vo khi iu khin

    PC c tng thm 4

    Instr [25-0] : 26 bit xc nh a ch nhy ti, c m rng du thnh 28 bit, shift left 2

    bit to 2 bit 0 cui, ri ghp vi 4 bit cao ca (PC+4) to thnh a ch r nhnh 32

    bit, a v PC.

    Cc tn hiu iu khin :

    Jump = 1 khi MUX chn a ch r nhnh dn v PC

    III. B X L A XUNG NHP

    Chia lnh thnh cc pha thc hin: IF, ID, EX, MEM, WB. Mi pha thc hin trong 1 chu k

    xung nhp

    Cc u im:

    o Thi gian thc hin (= s pha) ca mi lnh c iu chnh ty thuc phc tp ca

    lnh.

    o Cc khi chc nng c chia s gia cc pha khc nhau ca lnh do mt khi chc nng

    c th khng cn trong ton b cc pha thc hin ca lnh.

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 27

    Tc khng ci thin so vi n xung nhp, nhng tit kim ti nguyn

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 28

    IV. PIPELINE

    1. Khi nim chung

    o IFetch: Np lnh v cp nhp gi tr PC

    o IDec: c thanh ghi v gii m lnh

    o EXec: Thc hin lnh R; tnh a ch b nh

    o MEM: c/ghi b nh d liu

    o WB: Ghi kt qu vo tp thanh ghi

    Bt u lnh tip theo trc khi lnh hin ti kt thc.

    o Ci thin th ng lng tng s cng vic hon thnh trong 1 khong thi gian.

    o tr lnh (thi gian thc hin, thi gian p ng thi gian t lc bt u n lc

    kt thc lnh) kh ng c gim.

    o Chu k ng h (thi gian 1 giai on ng ng) quyt nh bi giai on chm nht.

    o Mt s giai on khng dng ton b chu k ng h (VD: WB).

    o Mt s lnh, c cc giai on l chu k lng ph (ngha l, kh ng thc hin g trong chu

    k vi lnh ).

    D trin khai

    o Cc lnh c cng di (32 bits) C th np lnh trong giai on 1 v gii m lnh

    trong giai on 2.

    o t nh dng lnh (3 nh dng). Cc nh dng lnh c tnh i xng C th c

    thanh ghi giai on 2.

    o Ch truy cp b nh bng lnh lw v sw C th tnh a ch b nh giai on EX

    (thc hin lnh)

    o Mi lnh ch ghi ln nht 1 kt qu (lm thay i trng thi my) 2 giai on cui

    (MEM or WB)

    o Ton hng c sp xp trong b nh sao cho 1 lnh dch chuyn d liu ch cn 1 ln

    truy cp b nh.

    Khi Pipeline c in y, 1 lnh c hon thnh trong 1 chu k CPIideal 1

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 29

    2. Thanh ghi trng thi Pipeline

    o Thanh ghi trng thi gia cc giai on thc hin lnh phn cch.

    o Cc thanh ghi ny lu kt qu tm thi ca tng giai on Pipeline D liu ca 1 lnh i theo

    lnh qua tng giai on Pipeline

    V d: Trong lnh add rs, rt, rd

    o a ch rd kh ng c a trc tip vo WriteAddr ca tp thanh ghi (V nh vy,

    d liu ghi vo l d liu ca lnh trc ).

    o Rd c ghi vo ln lt qua cc thanh ghi Pipeline qua tng giai on, cui cng

    c chuyn t thanh MEM/WB v WriteAddr ti giai on cui ca lnh add.

    Cc tn hiu iu khin c xc nh trong giai on gii m v c lu trong cc thanh ghi trng

    thi gia cc giai on pipeline

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 30

    3. Xung t Pipeline

    Xung t cu trc: yu cu s dng cng mt ti nguyn cho 2 lnh khc nhau ti cng 1

    thi im.

    Xung t d liu: yu cu s dng d liu trc khi n sn sng Cc ton hng ngun ca

    1 lnh c to ra bi lnh pha trc vn ang nm trong pipeline.

    Xung t iu khin: yu cu quyt nh iu khin dng chng trnh trc khi iu kin r

    nhnh v gi tr PC mi c tnh ton Cc lnh r nhnh, nhy v ngt.

    Gii quyt xung t bng cch ch i: Khi iu khin pipeline cn pht hin xung t v

    hnh ng gii quyt xung t.

    a. Xung t cu trc

    B nh n (Lu c ch th v d liu) Gii php: Dng b nh ch th v b nh d liu tch

    ring nhau (I$ v D$)

    Xung t cu trc khi truy cp tp thanh ghi (2 lnh cng s dng thanh ghi trong cng 1 chu k)

    Gii php: Ghi trong na u chu k v c ra na sau chu k

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 31

    b. Xung t d liu

    Ph thuc d liu ngc theo thi gian gy xung t

    Xung t do c trc khi ghi

    c. Xung t iu khin

    V d: Bit kt qu ca lnh beq ti chu k 4 nhng li cn np lnh tip chu k 2

    4. Gii quyt xung t Pipeline

    a. Xung t d liu c trc khi ghi Tm dng (Stall)

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 32

    b. Chuyn tip d liu

    Ly kt qu thi im n xut hin sm nht trong bt k thanh ghi pipeline no, v chuyn

    tip n n khi chc nng (VD. ALU) m cn kt qu ti chu k ng h .

    Vi khi chc nng ALU: u vo c th t bt k thanh ghi pipeline no ch khng cn t

    ID/EX bng cch:

    o Thm b chn vo trc u vo ca ALU

    o Ni d liu ghi Rd EX/MEM hoc MEM/WB ti mt trong 2 hoc c 2 thanh ghi

    pipeline Rs v Rt thuc giai on EX.

    o Thm phn iu khin phn cng iu khin b chn

    Cc khi chc nng khc cng cn c thm tng t (VD. DM)

    Vi chuyn tip c th t c CPI = 1 ngay khi c s ph thuc d liu

    Mt loi xung t d liu xut hin khi chuyn tip: Xung t gia kt qu ca lnh ang

    giai on WB v lnh ang giai on MEM kt qu no cn c chuyn tip? WB

    Vi lnh lw, nu c s dng chuyn tip th lnh sau n vn phi i 1 chu k

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 33

    c. Gii quyt xung t iu khin

    Khi a ch cc lnh khng tun t (i.e., PC = PC + 4); xut hin khi c cc lnh thay i

    dng chng trnh

    o Lnh r nhnh kh ng iu kin (j, jal, jr)

    o Lnh r nhnh c iu kin (beq, bne)

    o Ngt, Exceptions

    Gii php

    o Tm dng (nh hng CPI)

    o Tn ton iu kin r nhnh cng sm cng tt trong giai on pipeline gim s

    chu k phi dng

    o R nhnh chm (Delayed branches - Cn h tr ca trnh dch)

    o D on v hy vng iu tt nht!

    Xung t iu khin t xy ra, nhng kh ng c gii php gii quyt hiu qu nh chuyn tip

    i vi xung t d liu.

    Lnh nhy kh ng c gii m cho n giai on ID, cn mt lnh xa (flush). xa, t

    trng m lnh ca thanh ghi pipeline IF/ID bng 0 (lm n tr thnh 1 lnh noop)

    Lnh nhy rt t xut hin ch chim 3% s lnh trong SPECint (CPI =1,03 vi s lng ch

    th ln).

    Xung t iu khin r nhnh Ch (Flush)

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 34

    Tnh ton iu kin r nhnh cng sm cng tt, tc l trong giai on gii m (c phn cng

    ring so snh, trc khi dng ti ALU) ch cn 1 chu k ch.

    d. R nhnh chm

    Nu phn cng cho r nhnh nm giai on ID, ta c th loi b cc chu k ch r nhnh

    bng cch s dng r nhnh chm (delayed branches) lun thc hin lnh theo sau lnh lnh

    r nhnh r nhnh c tc dng sau lnh k tip n

    Trnh dch MIPS compiler chuyn 1 lnh an ton (khng b nh hng bi lnh r

    nhnh) ti sau lnh r nhnh (vo khe tr). V vy s du c s r nhnh chm.

    Vi pipeline su (nhiu giai on), tr r nhnh tng cn nhiu lnh c chn vo sau lnh r

    nhnh

    R nhnh chm ang c thay th bi cc phng php khc tn km hn nhng

    mm do (ng) hn nh d on r nhnh

    S pht trin ca IC cho php c b d on r nhnh t tn km hn

    Sp xp lnh trong r nhnh chm

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 35

    e. D on r nhnh tnh

    Gii quyt xung t r nhnh bng cch gi s 1 hng r nhnh v tip tc khng cn ch tnh ton

    kt qu r nhnh thc s.

    on kh ng r nhnh lun gi s lnh khng r nhnh, tip tc np cc lnh k tip, ch khi c

    r nhnh th cn dng pipeline

    o Nu r nhnh, xa cc lnh sau r nhnh (sm trong pipeline)

    trong giai on IF, ID, v EX nu b tnh r nhnh MEM ba dng

    trong giai on IF v ID nu b tnh r nhnh EX hai dng

    trong giai on IF nu b tnh r nhnh ID mt dng

    o m bo rng cc lnh b xa khng nh hng ti trng thi my.

    o Khi to li pipeline ch lnh r nhnh

    xa, t trng m lnh ca thanh ghi pipeline IF/ID bng 0 (lm n tr thnh 1 lnh noop)

    Gii quyt xung t bng cch gi thit kt qu r nhnh v tip tc.

    on c r nhnh d on lu n lu n c r nhnh

    o on c r nhnh lun cn 1 chu k dng (nu phn cng tnh r nhnh giai on ID)

    o Cn phng php c trc (vo b m) lnh a ch ch.

    V thit hi do r nhnh ang tng ln (vi cc pipeline su), m hnh d on r nhnh tnh s nh

    hng ti hiu nng. Vi nhiu phn cng hn, c th th d on hot ng r nhnh ng lc

    chng trnh c thc hin.

    f. D on r nhnh ng

    on r nhnh lc chy da trn cc thng tin chy (run-time information)

    B d on 1 bit (Predict_bit)

    o Gi s Predict_bit = 0 (Khng r nhnh)

    o Nu ng, gi nguyn Predict_bit

    o Nu sai, o li Predict_bit

    B d on 2 bit

    o C hiu qu hn d on 1 bit trong

    trng hp r v khng r xen k

    nhau.

    TH A l la chn tt nht,

    in c khe tr v gim I.

    TH B v C, lnh sub cn sao

    li, tng I.

    TH B v C, phi m bo

    thc hin lnh sub khng nh

    hng khi khng r nhnh.

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 36

    CHNG IV: B NH - PHN CP B NH

    Cc b theo thi gian

    Nu mt v tr b nh c truy cp th n s sm c truy cp li

    Lu cc d liu va c truy cp nhiu nht gn b x l

    Cc b theo khng gian

    Nu mt v tr b nh c truy cp th cc v tr c a ch gn s sm c truy cp

    a cc khi b nh cha cc t cnh nhau n gn b x l hn

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 37

    I. KHI NIM

    Khi (hoc ng): n v thng tin nh nht c (hoc khng c) trong b m lng thng tin

    nh nht c di chuyn gia 2 b nh 2 mc lin tip trong phn cp.

    T l trng (Hit Rate): T l s ln truy cp b nh tm thy 1 mc trong phn cp b nh

    Thi gian trng (Hit Time): Thi gian truy cp mc b nh trong phn cp b nh

    Thi gian truy cp 1 khi + Thi gian xc nh trng/trt

    T l trt (Miss Rate): T l s ln truy cp b nh khng tm thy 1 mc trong phn cp b

    nh = 1 - (Hit Rate)

    Tn tht trt (Miss Penalty): Thi gian thay th 1 khi mc b nh bng khi tng ng

    t mc b nh thp hn

    Thi gian truy cp khi mc thp hn + Thi gian truyn khi n mc b nh c s

    trt + Thi gian chn khi vo mc + Thi gian a d liu ti ni yu cu.

    II. B M NH X TRC TIP

    2 bit cui ca a ch xc nh byte trong block

    2 bit gia ca a ch xc nh block nhiu t nh c kh nng c xp vo cng 1

    block xc nh block ang cha t nh no, cn da vo trng tag

    2 bit u ca a ch xc nh tag

    Trng Valid xc nh d liu c hp l hay kh ng, trng ny l 1 bit

    1. Cch xc nh HIT - MISS

    T trng Block ca a ch Xc nh Block trn b m

    Kim tra bit Valid

    o Nu Valid = 0 D liu ko hp l MISS Cp nht d liu t b nh chnh vo

    b m (ghi data vo v cp nht tag, a Valid ln 1). Kt thc.

    o Nu Valid = 1 Tip tc

    Kim tra trng Tag trn a ch v trn Block

    o Nu khp HIT. Kt thc

    o Nu khng khp MISS Cp nht d liu nh trn. Kt thc.

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 38

    2. B m nh x trc tip cc khi 1 t

    Khng tn dng c tnh cc b v khng gian v mi ln ch cp nht 1 t.

    3. B m nh x trc tip cc khi 4 t

    V khi c 4 t nn trong a ch cn thm 1 trng Block offset xc nh ra 1 t trong 1 Block.

    Tn dng c tnh cc b v khng gian v mi ln cp nht, 4 t lin tip c ghi vo b m.

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 39

    4. Bi ton xc nh kch thc b m

    (Ty vo yu cu ca u bi m 1 s thng s cn thay i cho ph hp)

    o a ch N bit

    o Xc nh s khi (S dng trong b m) c dng 2n Cn n bit cho trng index

    Kch thc d liu b m/Kch thc 1 khi

    o Kch thc khi l 2m t Cn m bit cho trng Block offset

    o Cn 2 bit cho trng Byte offset xc nh byte trong t

    T cc d kin ny, tnh c s bit cn dng cho trng Tag

    N (n+m+2)

    Kch thc 1 dng trong B m c xc nh bi cc thnh phn:

    o Kch thc phn d liu = 2m t = 2m+2 byte = 2m+2*8 bit

    o Kch thc trng tag = N-(n+m+2)

    o Tng kch thc cc bit ph (v d nh bit Valid) = x

    Kch thc 1 dng l 2m+2*8 + N-(n+m+2) + x

    Kch thc b m l (2m+2*8 + N-(n+m+2) + x)*S dng = (2m+2*8 + N-(n+m+2) + x)*2n

    5. o hiu nng b m

    Gi s thi gian truy cp b nh khi trng b m c bao gm trong 1 chu k thc hin thng

    thng ca CPU th:

    o S chu k MemStallC l tn tht trt l tng ca read-stalls v write-stalls

    Read stall cycles = reads/program * read miss rate * read miss penalty

    Write stall cycles = (writes/program * write miss rate * write miss penalty) + write buffer stalls

    o Vi b m ghi xuyn, ta c cng thc n gin:

    Memory stall cycles = accesses/program * miss rate * miss penalty

    o Thi gian truy cp b nh trung bnh (Average Memory Access Time - AMAT) l thi gian

    truy cp b nh khi tnh c 2 trng hp trng v trt b m.

    AMAT = Time for a hit + Miss rate * Miss penalty

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 40

    III. B M KT HP N NG

    Trng set trong a ch gip xc nh d liu trong nh c ghi vo set no, tuy nhin c th

    thuc 1 trong n way (dng trng tag phn bit) Kh nng xut hin ca d liu cao hn

    Tng c t l HIT

    B m kt hp 4 ng

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 41

    MC LC

    CHNG I: HIU NNG MY TNH ................................................................................................... 1

    CHNG II: NGN NG MY TNH V PHP TON ................................................................... 2

    I. BIU DIN S NGUYN .................................................................................................................... 2

    1. Mt bit du v ln ......................................................................................................................... 2

    2. M b 2 .............................................................................................................................................. 2

    3. M lch .............................................................................................................................................. 2

    II. BIU DIN S THC CHUN IEEE 754 ..................................................................................... 2

    III. KIN TRC TP LNH.................................................................................................................... 3

    1. Big Endian v Little Endian ........................................................................................................... 3

    2. Kin trc RISC v CISC ................................................................................................................ 3

    3. Ch a ch ................................................................................................................................. 3

    4. Tp thanh ghi ca MIPS ................................................................................................................. 4

    5. Kin trc tp lnh MIPS ................................................................................................................. 4

    6. R format .......................................................................................................................................... 4

    7. I format ........................................................................................................................................... 5

    8. J format ........................................................................................................................................... 5

    9. Tng hp cc lnh .......................................................................................................................... 6

    IV. PHP TON V CCH THC HIN ............................................................................................. 6

    1. Php ton dch v b dch............................................................................................................... 6

    2. B cng Tr ................................................................................................................................. 7

    3. B nhn......................................................................................................................................... 10

    4. B chia .......................................................................................................................................... 17

    5. Php ton vi du phy ng ....................................................................................................... 18

    CHNG III : B X L ...................................................................................................................... 19

    I. CC QU TRNH THC HIN ........................................................................................................ 19

    1. Np lnh ....................................................................................................................................... 19

    2. Gii m lnh ................................................................................................................................. 19

    3. Thc hin lnh .............................................................................................................................. 19

    II. B X L N XUNG NHP ......................................................................................................... 21

    1. Lnh R .......................................................................................................................................... 22

    2. Lnh STORE ................................................................................................................................ 23

    3. Lnh LOAD .................................................................................................................................. 24

  • Daniel F.S in t 1/K52 n tp Kin trc My tnh

    Page 42

    4. Lnh r nhnh c iu kin .......................................................................................................... 25

    5. Lnh nhy kh ng iu kin .......................................................................................................... 26

    III. B X L A XUNG NHP .......................................................................................................... 26

    IV. PIPELINE ......................................................................................................................................... 28

    1. Khi nim chung .......................................................................................................................... 28

    2. Thanh ghi trng thi Pipeline ....................................................................................................... 29

    3. Xung t Pipeline ......................................................................................................................... 30

    4. Gii quyt xung t Pipeline ........................................................................................................ 31

    CHNG IV: B NH - PHN CP B NH .................................................................................. 36

    I. KHI NIM ........................................................................................................................................ 37

    II. B M NH X TRC TIP ....................................................................................................... 37

    1. Cch xc nh HIT - MISS .......................................................................................................... 37

    2. B m nh x trc tip cc khi 1 t .......................................................................................... 38

    3. B m nh x trc tip cc khi 4 t .......................................................................................... 38

    4. Bi ton xc nh kch thc b m ........................................................................................... 39

    5. o hiu nng b m.................................................................................................................... 39

    III. B M KT HP N NG ...................................................................................................... 40

    MC LC .................................................................................................................................................. 41