Professional Documents
Culture Documents
ET4270
TS. Nguyn c Minh
[Adapted from Computer Organization and Design, 4th Edition, Patterson & Hennessy, 2008, MK] [Adapted from Computer Architecture lecture slides, Mary Jane Irwin, 2008, PennState University]
T chc lp
S tn ch 3 (3-1-1-6)
Ging vin
Vn phng Email Website
Sch
Computer Org and Design, 3rd Ed., Patterson &Hennessy, 2007 Digital Design and Computer Architecture, David Money Harris
Th nghim Bi tp
Gii thiu
HUST-FET, 13/03/2011
Lab 30%
20% (Ti a 100 im)
10%
Bi thi cui k
70%
Gii thiu
HUST-FET, 13/03/2011
Lch hc
Thi gian:
T 14h00 n 17h20 L thuyt: 11 bui x 135 pht / 1 bui Bi tp: 4 bui x 135 pht / 1 bui Thay i lch (ngh, hc b) s c thng bo trn website trc 2 ngy
Gii thiu
HUST-FET, 13/03/2011
Kt lun chng 2
D liu v ch th cho my tnh c biu din bng cc chui bit. Gi tr ca d liu, ngha ca ch th my c quy nh trong phng php m ha. Thit k kin trc tp lnh:
Kch thc v kiu d liu Php ton: loi no c h tr nh dng v m ha ch th: Ch th c gii m th no? V tr ton hng v kt qu
S lng ton hng? Gi tr ton hng c lu u? Kt qu c lu v tr no? Cc ton hng b nh c nh v th no?
Kin trc tp lnh MIPS(RISC) c thit k da trn 4 nguyn tc c bn. B cng tr nhn chia c trin khai bng cc phn t logic hay bng thut ton.
Chng 3. B x l - Processor
HUST-FET, 13/03/2011
Nh hn th nhanh hn
S ch th gii hn S thanh ghi gii hn S ch a ch gii hn
Chng 3. B x l - Processor
HUST-FET, 13/03/2011
Ni dung
ng d liu b x l MIPS
n xung nhp a xung nhp Hiu nng
K thut ng ng
Nguyn tc hot ng Hiu nng Xung t trong ng ng
HUST-FET, 13/03/2011
B x l: ng d liu v iu khin
Lnh truy cp b nh: lw, sw Lnh s hc v logic: add, sub, and, or, slt Lnh iu khin dng chng trnh: beq, j
c lnh t b nh, v cp nht gi tr PC Gii m lnh v c cc thanh ghi Thc hin lnh Fetch Lu kt qu
PC = PC+4
Fetch Execute
Result Store Next
Exec, Store
Decode
Instruction
HUST-FET, 13/03/2011
Thit k ng b theo ng h
Mch ng b theo ng h: thi im d liu trong 1 phn t trng thi l hp l v n nh c quy nh bi xung ng h
Phn t trng thi - phn t nh - VD. thanh ghi, FF Kch hot theo sn cc trng thi thay i khi c xn xung c ni dung ca phn t trng thi -> tnh gi tr bng logic t hp -> ghi kt qu vo phn t trng thi
State element 1 Combinational logic State element 2
clock
Cc phn t trng thi c ghi tt c cc chu k ng h. Nu khng: cn tn hiu iu khin vic ghi
HUST-FET, 13/03/2011
Np lnh
clock
Add 4
Fetch PC = PC+4
Instruction Memory
Exec, Store
Decode
PC
Read Address
Instruction
PC c cp nht mi chu k khng cn tn hiu iu khin ghi PC. c t b nh lnh c thc hin bng logic t hp
10 HUST-FET, 13/03/2011
Gii m lnh
Chuyn cc bit thuc trng m lnh v trng m chc nng ti khi iu khin
Fetch PC = PC+4
Control Unit
Exec, Store
Decode
Instruction
Read Addr 1 Register Read Read Addr 2 Data 1 File Write Addr Read Write Data Data 2
25 rs
20 rt
15 rd
10
shamt funct
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)
RegWrite ALU control
Instruction
Read Addr 1 Register Read Read Addr 2 Data 1 File Write Addr Read Write Data Data 2
ALU
overflow zero
Tp thanh ghi khng c ghi mi chu k cn tn hiu iu khin ghi ring bit.
12 HUST-FET, 13/03/2011
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
RegWrite ALU control overflow zero
Address ALU Data Memory Read Data Write Data
MemWrite
Instruction
Read Addr 1 Register Read Read Addr 2 Data 1 File Write Addr Read Write Data Data 2
Sign Extend
MemRead
13
HUST-FET, 13/03/2011
so snh ton hng c t tp thanh ghi khi gii m tnh a ch ch bng cch cng gi tr PC (sau khi cp nht) vi trng offset 16 bit c m rng du.
Add 4 Shift left 2 Add
ALU control
PC Read Addr 1 Register Read Read Addr 2 Data 1 File Write Addr Read Write Data Data 2
Instruction
16
Sign Extend
32
14
HUST-FET, 13/03/2011
Add 4 4
Instruction Memory
PC Read Address Instruction 26
Shift left 2
Jump address
28
15
HUST-FET, 13/03/2011
ng d liu
Ghp cc phn ca ng d liu thm cc ng tn hiu iu khin v b ghp (multiplexors) Thit k n xung nhp cc pha thc hin: np, gii m and thc hin, ghi ca mi lnh trong mt chu k ng h
Cc ti nguyn phn cng ca ng d liu khng th ti s dng cho cng 1 lnh, mt s ti nguyn phi nhn i (VD., b nh lnh v d liu ring bit, mt vi b cng) b ghp c dng u vo ca cc ti nguyn dng chung v c iu khin bng tn hiu iu khin
16
HUST-FET, 13/03/2011
Add 4
RegWrite
MemWrite
MemtoReg
Read Addr 1 Register Read Read Addr 2 Data 1 File Write Addr Read Write Data
Data 2
Write Data
Sign 16 Extend
MemRead
32
Cc tn hiu iu khin b ghp: la chn u vo cho cc khi chc nng c tnh bng khi iu khin t trng m lnh (opcode) v trng chc nng lnh (funct)
17 HUST-FET, 13/03/2011
1
PCSrc MemRead MemtoReg MemWrite
ovf zero
ALU Address Data Memory Read Data Write Data
1 0
0 1
ALU control
Write Data
Data 2
Sign 16 Extend
32
Instr[5-0]
18
HUST-FET, 13/03/2011
1
PCSrc MemRead MemtoReg MemWrite
ovf zero
ALU Address Data Memory Read Data Write Data
1 0
0 1
ALU control
Write Data
Data 2
Sign 16 Extend
32
Instr[5-0]
19
HUST-FET, 13/03/2011
1
PCSrc MemRead MemtoReg MemWrite
ovf zero
ALU Address Data Memory Read Data Write Data
1 0
0 1
ALU control
Write Data
Data 2
Sign 16 Extend
32
Instr[5-0]
20
HUST-FET, 13/03/2011
1
28 32 PC+4[31-28] Shift left 2 Add
0 0 1
PCSrc
4
ALUOp Instr[31-26] Control Unit ALUSrc RegWrite RegDst Instr[25-21] Read Addr 1 Register Read Instr[20-16] Read Addr 2 Data 1 File 0 Write Addr Read Jump Branch
ovf zero
ALU Address
0 1
ALU control
Write Data
Data 2
Sign 16 Extend
32
Instr[5-0]
21 HUST-FET, 13/03/2011
I Mem
Total
22
HUST-FET, 13/03/2011
Not used
Load
P C
Store
P C
Not used
6 ns 8 ns 7 ns 5 ns 3 ns
Branch
(and jr)
P C
Not used
Not used
Not used
Jump
(except jr & jal)
P C
Not used
Not used
Not used
Not used
23
HUST-FET, 13/03/2011
Clk
lw sw Waste
Tn din tch thit k v cn nhn i mt s khi chc nng (VD. b cng) v chng khng th c chia s trong cng 1 chu k ng h Nhng n gin v d hiu
24 HUST-FET, 13/03/2011
Thi gian thc hin (= s pha) ca mi lnh c iu chnh ty thuc phc tp ca lnh 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
Clock
Time needed Time allotted
Instr 1
Instr 2
Instr 3
Instr 4
Clock
Time needed Time saved
3 cycles
Time allotted
5 cycles
3 cycles
4 cycles
Instr 1
Instr 2
Instr 3
Instr 4
26
HUST-FET, 13/03/2011
ALU-type
P C
Load
P C
Store
P C
Not used
Branch
(and jr)
P C
Not used
Not used
Not used
Jump
(except jr & jal)
P C
Not used
Not used
Not used
Not used
_____________________________
27
HUST-FET, 13/03/2011
Khng ti nu so snh tr thc hin 1 lnh Mt b x l 2.5 GHz vi 20 giai on pipeline c tr khong: 0.4 ns/cycle 20 cycles = 8 ns Lu lng ca b x l c pipeline tt hn rt nhiu: Tt hn ti 20 ln vi cc b x l pht hnh n lnh Tt hn ti 100 ln vi cc b x l pht hnh a lnh
28
Contribution to CPI R-type 0.444 = 1.76 Load Store Branch Jump 0.245 0.124 0.183 0.023 = = = = 1.20 0.48 0.54 0.06
_____________________________
HUST-FET, 13/03/2011
Incr PC Next PC
Next addr
Instr cache
inst rd 31 imm op fn
0 1 2
Reg file
(rt) / 16 0 32 SE / 1
ALU
Func
ALU out
Data cache
Data out
0 1 2
Register input
Br&Jump
RegDst RegWrite
ALUSrc ALUFunc
29
HUST-FET, 13/03/2011
30
jta
4 0 1 2 3
Cache
Data
Reg file
(rt) 32 y Reg SE /
ALU
Func ALU out
InstData PCWrite
MemWrite
op IRWrite
RegInSrc RegWrite
ALUSrcX ALUSrcY
ALUFunc JumpAddr
PCSrc
MemRead
RegDst
30
HUST-FET, 13/03/2011
ng ng (Eng. pipeline): Kt hp u im
Pipelined:
31
HUST-FET, 13/03/2011
32
HUST-FET, 13/03/2011
Bt u np v thc hin lnh tip theo trc khi lnh hin ti kt thc:
K thut ng ng c p dng trong hu ht cc b x l hin i Trong iu kin l tng vi s lng lnh ln, ng ng gip tng tc bng s giai on ng ng. ng ng 5 giai on s nhanh hn gn 5 ln v Tc tng gp 5.
Tcpu I CPI Tc
X l superscalar
33
HUST-FET, 13/03/2011
5 giai on ng ng ca lnh lw
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5
lw
IFetch Dec
Exec
Mem
WB
34
HUST-FET, 13/03/2011
ng ng trong MIPS
ci thin thng lng tng s cng vic hon thnh trong 1 khong thi gian tr lnh (thi gian thc hin, thi gian p ng thi gian t lc bt u n lc kt thc lnh) khng c gim
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8
lw sw R-type
IFetch
Dec
IFetch
Exec
Dec IFetch
Mem
Exec Dec
WB
Mem Exec WB Mem WB
chu k ng h (thi gian 1 giai on ng ng) quyt nh bi giai on chm nht mt s giai on khng dng ton b chu k ng h (VD., WB) mt s lnh, c cc giai on l chu k lng ph (ngha l, khng thc hin g trong chu k vi lnh )
35 HUST-FET, 13/03/2011
Cycle 2
400 ps
R-type IFetch
hon thnh 1 lnh trong trng hp pipeline cn 1000 ps (So vi 800 ps trong trng hp n xung nhp). Ti sao? thc hin 1.000.000 lnh adds cn thi gian bao lu?
36 HUST-FET, 13/03/2011
D trin khai:
Mi lnh ch ghi ln nht 1 kt qu (lm thay i trng thi my) 2 giai on cui (MEM or WB) Ton hng c sp xp trong b nh sao cho 1 lnh dch chuyn d liu ch cn 1 ln truy cp b nh.
37
HUST-FET, 13/03/2011
Thanh ghi trng thi gia cc giai on thc hin lnh phn cch
IF:IFetch ID:Dec EX:Execute MEM: MemAccess WB: WriteBack
IF/ID Add 4
ID/EX
EX/MEM
Shift left 2
Add
MEM/WB
Instruction Memory
Read Address PC
Read Addr 1
Register Read
Data 1 Read Addr 2
Data Memory
ALU
File
Write Addr Write Data Read Data 2
Address
Write Data
Read Data
16
Sign Extend
32
System Clock
38 HUST-FET, 13/03/2011
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
PCSrc ID/EX EX/MEM Control IF/ID Add Branch MEM/WB
RegWrite
Shift left 2
Add
Instruction Memory
Read Address PC
Read Addr 1
Register Read
Data 1 Read Addr 2
Data Memory
ALUSrc ALU Address Write Data ALU cntrl Read Data
MemtoReg
File
Write Addr Write Data
Read Data 2
16
Sign Extend
MemRead
32
ALUOp
M t hot ng pipeline
ALU
IM
Reg
DM
Reg
o hiu nng: Cn bao nhiu chu k thc hin on m? Phn tch hot ng: ALU lm g chu k 4? Ci tin: C xy ra hazard khng? Ti sao? Dng cch no khc phc?
40
HUST-FET, 13/03/2011
I n s t r. O r d e r
Inst 0
Inst 1
IM
Reg
DM
Reg
IM
Reg
DM
Reg
ALU
ALU
ALU
Inst 2
Inst 3 Inst 4
IM
Reg
DM
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
41
HUST-FET, 13/03/2011
Xung t Pipeline
Xung Xung
t cu trc: yu cu s dng cng mt ti nguyn cho 2 lnh khc nhau ti cng 1 thi im 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
Khi iu khin pipeline cn pht hin xung t V hnh ng gii quyt xung t
42 HUST-FET, 13/03/2011
B nh n: Xung t cu trc
Time (clock cycles)
I n s t r.
O r d e r
Mem
Reg
Mem
Reg
c d liu t b nh
Reg
ALU
Mem
Mem
Reg
Mem
Reg
ALU
Mem
Mem
Reg
ALU
c lnh t b nh
Reg
Mem
Reg
I n s t r. O r d e r
IM
Reg
DM
Reg
Sa xung t truy cp tp thanh ghhi bng cch c trong na u chu k v ghi trong na sau chu k
Reg
IM
ALU
Reg
IM
ALU
Reg
ALU
DM
Sn ng h iu khin ghi
Sn ng h iu khin c
ALU
DM
Reg
44
HUST-FET, 13/03/2011
I n s t r. O r d e r
add $1,
sub $4,$1,$5
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
and $6,$1,$7
or $8,$1,$9
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
xor $4,$1,$5
IM
Reg
DM
Reg
I n s t r. O r d e r
add $1,
sub $4,$1,$5
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
and $6,$1,$7
or $8,$1,$9
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
xor $4,$1,$5
IM
Reg
DM
Reg
I n s t r. O r d e r
lw
$1,4($2)
IM
Reg
DM
Reg
ALU
sub $4,$1,$5
IM
Reg
DM
Reg
ALU
and $6,$1,$7
or $8,$1,$9
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
xor $4,$1,$5
IM
Reg
DM
Reg
Xung t iu khin
I n s t r. O r d e r
beq
lw
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
Inst 3 Inst 4
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
48
HUST-FET, 13/03/2011
Lm ng h chm i 2 ln hoc thc hin trong 2 chu k ng h (v khng cn s dng giai on DM)
MUL ALU IM Reg DM Reg
49
HUST-FET, 13/03/2011
Tm tt 1
Cc b x l hin i u dng k thut pipeline Pipelining khng lm gim tr ca 1 nhim v n l, n gip tng thng lng ca ton b Tng tc tim nng: CPI = 1 v ng h nhanh, Tc nh
Thi gian lm y pipeline v thi gian lm trng pipeline nh hng n tng tc khi pipeline su (nhiu giai on) v on m ngn
Dng nh hng xu ti CPI (lm CPI ln hn gi tr l tng 1)
50
HUST-FET, 13/03/2011
Xung t d liu
Value of $1
-20
-20
add $1,
sub $4,$1,$5
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
and $6,$1,$7
or $8,$1,$9
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
xor $4,$1,$5
51
IM
Reg
DM
Reg
HUST-FET, 13/03/2011
I n s t r.
O r d e r
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
52
HUST-FET, 13/03/2011
I n s t r. O r d e r
add $1,
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
ALU
IM
Reg
DM
Reg
ALU
xor $4,$1,$5
IM
Reg
DM
Reg
53
HUST-FET, 13/03/2011
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
thm b chn vo trc u vo ca ALU 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. 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
54 HUST-FET, 13/03/2011
I n s t r. O r d e r
add $1,
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
EX forwarding
MEM forwarding
55
HUST-FET, 13/03/2011
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?
I n s t r. O r d e r
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
56
HUST-FET, 13/03/2011
I n s t r. O r d e r
lw
IM $1,4($2)
Reg
DM
Reg
ALU
IM
Reg
DM ALU
Reg
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
xor $4,$1,$5
IM
Reg
DM
Reg
ALU
IM
Reg
DM
57
HUST-FET, 13/03/2011
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
Lnh r nhnh khng iu kin (j, jal, jr) Lnh r nhnh c iu kin (beq, bne) Ngt, Exceptions
Gii php
Tm dng (nh hng CPI) Tn ton iu kin r nhnh cng sm cng tt trong giai on pipeline gim s chu k phi dng R nhnh chm (Delayed branches - Cn h tr ca trnh dch) D on v hy vng iu tt nht!
Xung t iu khin t xy ra, nhng khng c gii php gii quyt hiu qu nh chuyn tip i vi xung t d liu
58 HUST-FET, 13/03/2011
I n s t r.
j flush j target
Reg
DM
Reg
IM
Reg
DM ALU
Reg
ALU
ALU
O r d e r
IM
Reg
DM
I n s t r. O r d e r
beq
lw
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
Inst 3 Inst 4
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
60
HUST-FET, 13/03/2011
beq
IM
Reg
DM
Reg
flush
flush flush beq target
IM
Reg
DM ALU
Reg
IM
ALU
Reg
IM
ALU
DM
ALU Reg
Reg
DM
Reg
ALU
IM
DM
Reg
ALU
Inst 3
IM
Reg
DM
61
HUST-FET, 13/03/2011
Tnh ton iu kin r nhnh cng sm cng tt, tc l trong giai on gii m ch cn 1 chu k ch
ALU IM Reg DM Reg
I n s t r. O r d e r
beq
flush
IM
Reg
DM
Reg
ALU
ALU
beq target
Inst 3
IM
Reg
DM
Reg
ALU
IM
Reg
DM
62
HUST-FET, 13/03/2011
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
63 HUST-FET, 13/03/2011
sub $4,$5,$6
becomes add $1,$2,$3 if $1=0 then sub $4,$5,$6
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
64 HUST-FET, 13/03/2011
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 khng 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
1.
m bo rng cc lnh b xa khng nh hng ti trng thi my. Khi to li pipeline ch lnh r nhnh
65
HUST-FET, 13/03/2011
Xa khi d on sai
ALU
I n s t r. O r d e r
4 beq $1,$2,2
IM
Reg
DM
Reg
ALU
8 sub $4,$1,$5
IM
Reg
DM
Reg
66
HUST-FET, 13/03/2011
I n s t r. O r d e r
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
20 or r8,$1,$9
IM
Reg
DM
Reg
xa, t trng m lnh ca thanh ghi pipeline IF/ID bng 0 (lm n tr thnh 1 lnh noop)
67
HUST-FET, 13/03/2011
D on r nhnh
Gii quyt xung t bng cch gi thit kt qu r nhnh v tip tc on c r nhnh d on lun lun c r nhnh
2.
on c r nhnh lun cn 1 chu k dng (nu phn cng tnh r nhnh giai on ID) 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 D on r nhnh ng on r nhnh lc chy da trn cc thng tin chy (run-time information)
68 HUST-FET, 13/03/2011
3.
Gi s predict_bit = 0 lc bt u (ch ra khng r nhnh) lnh r nhnh iu khin Loop: 1st loop instr cui vng lp Ln thc hin vng lp 1, b d on sai cho lnh r nhnh v n dn quay li u vng lp; cn o bt r nhnh (predict_bit = 1) Khi no vn cn r nhnh (vn lp), d on ng Khi thot khi vng lp, b d on s sai 1 ln na v ln ny s khng r nhnh m ra ngoi vng lp; o bit r nhnh (predict_bit = 0)
1.
2.
2nd loop instr . . . last loop instr bne $1,$2,Loop fall out instr
3.
Taken
Predict Taken Not taken Taken Not taken Predict Not Taken Predict Taken
Taken
Not taken
Predict Not Taken Not taken
Taken
70
HUST-FET, 13/03/2011
Exceptions
Exceptions (ngt - interrupts) c th coi l 1 dng xung t d liu. Exception xut hin t:
Trn khi thc hin lnh s hc Lnh khng c nh ngha Yu cu t thit b vo ra Yu cu dch v h iu hnh (VD. li trang, li TLB) Li chc nng phn cng dng thc hin lnh li, tt c cc lnh trc hon thnh, xa cc lnh sau , t thanh ghi ch ra nguyn nhn exception, lu li a ch lnh li, nhy n a ch nh trc (a ch ca hm x l exception)
Pipeline cn phi:
gy ra bi s kin bn ngoi c th c x l gia cc lnh, nn cc lnh ang c trong pipeline hon thnh trc khi chuyn iu khin cho hm x l ngt ca OS. n gin l dng v tip tc chng trnh ngi dng
gy ra bi s kin bn trong hm x l by cn sa cha iu kin cho ng lnh b by, nn phi dng lnh li trong trong pipeline v chuyn iu khin cho hm x l by ca OS lnh li c th tip tc chng trnh c th b kt thc hoc c tip tc
72 HUST-FET, 13/03/2011
Stage(s)?
Synchronous?
Trn s hc
Lnh khng nh ngha Li TLB hoc trang Yu cu dch v I/O Li phn cng
73
HUST-FET, 13/03/2011
Stage(s)?
Trn s hc Lnh khng nh ngha Li TLB hoc trang Yu cu dch v I/O Li phn cng
EX
ID IF, MEM any any
I n s t r. O r d e r
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
ALU
IM
Reg
DM
Reg
I n s t r.
O r d e r
IM
Reg
DM
Reg
D$ page fault
ALU IM Reg DM Reg
arithmetic overflow
ALU IM Reg DM Reg
undefined instruction
DM Reg
ALU
IM
Reg
ALU
IM
Reg
DM
Reg
I$ page fault
Tng kt
Tt c cc b x l hin i u dng pipeline tng hiu sut (CPI=1 v ng h nhanh - fc ln) Tc ng h pipeline b gii hn bi giai on pipeline chm nht thit k pipeline cn bng l rt quan trng Cn pht hin v gii quyt xung t trong pipeline
Xung t iu khin t phn cng quyt nh r nhnh ln cc trng thi u trong pipeline
- Dng (nh hng CPI) - R nhnh chm (cn h tr ca trnh dch) - D on r nhnh tnh v ng (cn phn cng h tr)
77
HUST-FET, 13/03/2011