??? ?? - PowerPoint PPT Presentation

1 / 145
About This Presentation
Title:

??? ??

Description:

(Rapid Execution Engine) 8. ... (R1) , F12 LD F14 , -24(R1) ADD.D F16 , F14 , F2 SD -24(R1) , F16 ... – PowerPoint PPT presentation

Number of Views:133
Avg rating:3.0/5.0
Slides: 146
Provided by: hyj
Category:
Tags: engine

less

Transcript and Presenter's Notes

Title: ??? ??


1
??? ?????
4.1 ???????? 4.2 ??????? 4.3 ?????? 4.4 ?????
4.5 ???????????? 4.6 Intel Pentium 4 ????
2
4.1 ????????
????????
????????????????????????,?????????????????????
???????????? (ILPInstruction-Level Parallelism)
3
4.1.1 ?????
  • 1??????????CPI
  • ??????CPI????????????
  • CPI??? CPI?? ?????? ?????? ??????
  • ??CPI????????????????
  • IPCInstructions Per Cycle
  • (?????????????)
  • 2??????
  • ??????????????????????????????
  • ?????57???????????

4
  • 3???????????????????????
  • ????????????
  • ???????
  • ?????????????
  • ??,??????
  • for (i1 ilt500 ii1)
  • aiais
  • ????????????????????
  • ?????????,??????????

5
  • 4???????????????
  • ????(loop unrolling)??
  • ?????????????

6
4.1.2 ????????????
?????????????
?????? ?????? ???????
???? ??????? 3
???? ???????(SD) 2
???????(LD) ???? 1
???????(LD) ???????(SD) 0
7
  • ?4-1
  • ????????,
  • for (i1 ilt1000 i)
  • xi xi s
  • (?)???DLX????,????????????????????,??????????????
  • (?)????????,???????????
  • ????????????????????

8
? (?) (1) ???????
?????R1?????,????? ????????????
?????F2????S? ???????????8? (2)
DLX???????? Loop LD F0,0(R1)
ADDD F4,F0,F2 SD 0(R1),F4
SUBI R1,R1,8 BNEZ R1,Loop
9
(3) ?????????
  • ???????????,??????
  • ??????
  • Loop LD F0 , 0(R1) 1
  • (??) 2
  • ADDD F4 , F0 , F2 3
  • (??) 4
  • (??) 5
  • SD 0(R1) , F4 6
  • SUBI R1 , R1 , 8 7
  • (??) 8
  • BNEZ R1 , Loop 9
  • (??) 10
  • ?????????10?????,??5???????

10
(4) ??????,???????
  • SD?????????????
  • ?????????????
  • ??????
  • Loop LD F0 , 0(R1) 1
  • SUBI R1 , R1 , 8 2
  • ADDD F4 , F0 , F2 3
  • (??) 4
  • BNEZ R1 , Loop 5
  • SD 8(R1) , F4 6
  • ??????????10????????6?
  • 5??????????,1??????

11
(?)
(1) ??,????4??????????,?????17??????????,????
Loop LD F0 , 0(R1) ADD.D
F4 , F0 , F2 SD 0(R1) ,
F4 SUBI R1 , R1 , 8 LD
F0 , 0(R1) ADD.D F4 , F0 , F2
SD 0(R1) , F4 SUBI
R1 , R1 , 8 LD
F0 , 0(R1) ADD.D F4 , F0 , F2
SD 0(R1) , F4
SUBI R1 , R1 , 8 LD
F0 , 0(R1) ADD.D F4 , F0 ,
F2 SD 0(R1) , F4 SUBI R1 , R1 ,
8 BNEZ R1 , Loop
12
(2) ?????????????????????????,??3?SUBI?????,??????
??14??????????,???? Loop LD F0 ,
0(R1) ADD.D F4 , F0 , F2 SD
0(R1) , F4 LD F0 , -8(R1) ADD.D
F4 , F0 , F2 SD -8(R1) , F4
LD F0 , -16(R1) ADD.D F4 , F0 ,
F2 SD -16(R1) , F4 LD F0 ,
-24(R1) ADD.D F4 , F0 , F2 SD
-24(R1) , F4 SUBI R1 , R1 , 32
BNEZ R1 , Loop
13
(3) ???????,???????????????,???? Loop LD
F0 , 0(R1) ADD.D F4 ,
F0 , F2 SD 0(R1) , F4 LD
F6 , -8(R1) ADD.D F8 , F6 , F2 SD
-8(R1) , F8 LD F10 , -16(R1)
ADD.D F12 , F10 , F2 SD
-16(R1) , F12 LD F14 , -24(R1)
ADD.D F16 , F14 , F2 SD -24(R1) ,
F16 SUBI R1 , R1 , 32 BNEZ R1 ,
Loop
14
?????????????
????????if-then???
if p1 S1 S if p2 S2

P1????S1,P2????S2,???S1?
15
?????????????
(1)??????????????????????????ifelse???,then??????
???if???? (2)?????????????????????????,?????????,?
?ifthen???,if????????then?????
16
????4-1,???????,????????????,?????????
loop LD F0 , 0(R1)
ADD.D F4 , F0 , F2 SD 0(R1) , F4
SUBI R1 , R1 , 8 BEQZ R1 , Exit
LD F0 , 0(R1) DD F4 , F0 ,
F2 SD 0(R1) , F4 SUBI R1
, R1 , 8 BEQZ R1 , Exit
LD F0 , 0(R1)
ADD.D F4 , F0 , F2 SD
0(R1) , F4 SUBI R1 , R1 , 8
BEQZ R1 , Exit LD F0 , 0(R1)
ADD.D F4 , F0 , F2 SD 0(R1) ,
F4 SUBI R1 , R1 , 8 BNEZ R1 ,
Loop Exit
17
????????BEQZ R1 , Exit,BEQZ R1 , Exit,BEQZ R1 ,
Exit?????????,??????,?????4???????????????,???????
??????????????????
18
4.1.3??????????????
1.??????????
2.??????
3.??????
19
1.??????????
??????????????????????????,???????????????????
????????
??????????????????????????????????????????????
???
20
?????? for (i1000igt0ii1) xixis
????????,?????xi,???????????,?????????????????
????????i????,??????,???????????,?????????
21
????????????????? for (i21lt100ii1) YiYi
-1Yi
????????????????????????,?????????????????
22
???????????????????????????(??????)??????????
??????????????????????????????????
for (i61lt100ii1) YiYi-5Yi
??i????,??????i-5???,????????????5????????????
?,????????1???????,??????????????????
23
2.??????
??????????????????????????????????,??????????
????????? ???????????????????????
?4-2??4-1???????3???4????,??????????????????????,
????????
24
???R1????32???,??????4???? ???????
(?????????????????)
F0?F4???????1???? F2????
F6?F8???????2???? F10?F12???3????
F14?F16???4?????
25
(1) ??????????
???? ADDD F12,F10,F2 15 (??) 16
(??) 17 SD -16(R1),F12
18 LD F14,-24(R1) 19 (??)
20 ADDD F16,F14,F2 21 (??)
22 (??) 23 SD -24(R1),F16
24 SUBI R1,R1,32 25 (??)
26 BNEZ R1,Loop 27 (??) 28
???? Loop LD F0,0(R1) 1 (??)
2 ADDD F4,F0,F2 3 (??) 4 (??)
5 SD 0(R1),F4 6 LD F6,-8(R1) 7 (??)
8 ADDD F8,F6,F2 9 (??) 10 (??)
11 SD -8(R1),F8 12 LD F10,-16(R1)
13 (??) 14
26
????
  • ??????????28?????
  • ?4????,??4??????
  • ????????28/47?????
  • ???????????10?????
  • ???????????????????
  • ??????????,??????14?,??13????????
  • ?????

27
(2) ???????????
?????? Loop LD F0,0(R1) 1
LD F6,-8(R1) 2 LD F10,-16(R1) 3
LD F14,-24(R1) 4 ADDD F4,F0,F2 5
ADDD F8,F6,F2 6 ADDD F12,F10,F2 7
ADDD F16,F14,F2 8 SD 0(R1),F4 9
SD -8(R1),F8 10 SUBI R1,R1,32 12
SD 16(R1),F12 11
BNEZ R1,Loop 13 SD 8(R1),F16 14
28
????
  • ?????????????
  • ?????????14?????
  • ???????????14/43.5?????
  • ???????????????????????
  • ????????????????????????????
  • ??????????,???????????

29
????????????????
(1) ????? (2) ????? (3) ???????? (4)
???????????????????? (5) ?????????????? (6)
???????
30
3.??????
??????????????????????????,??????????????
?????????????????????? ???????????????????
??????? ????????????????????????,?????????????
?????????????????? ?????????????????,?????????
,?????????????????????????
31
???????
32
????????B?C???????????? ?????4-6????????????
???? ??A?B?C???????R1?R2?R3?
LD R4, O(R1) LD R5, O(R2) DADDU R4,
R4,R4,R5 SD R4, O(R1) .. BNEZ
R4,elsepart .. SD , O(R2) . JUMP
join elsepart X join SD , O(R3)
33
??????B?????BNEZ?????????if????????B??????i??
?B????????,??????j???????j,???B????????????????B??
???j?i???????j?B???????????????????????B?????????
??,??????B?????X?????????????????,?????????,??????
????????
34
??C??????????????????????,???????then???,?????C
?????????,???else???????,????????????,???????????,
???????C??????????else??????,??C??????????then????
???????????,???then??????C?????if????,else????????
?????,?????
???????????????,???????????????????,??????????????
????????????,
35
4.2 ???????
  • ????
  • ??????????????,?????????
  • ??????????????????????????????
  • ???????????????????????
  • ????
  • ?????????,?????????????,????????????

36
4.2.1???????
  • ????????????????????
  • ????????
  • ???????
  • DIVD F0 , F2 , F4 S1
  • ADDD F10 , F0 , F8 S2S2?S1????,
  • S2???
  • SUBD F12 , F8 ,F14 S3S3?S1?S2??
  • ???,?????

37
  • ????????,?????????????
  • ???????
  • (1)??(Issue,IS)????,????? ??????
  • (2)????(Read Operands,RO)????
    ???????????????
  • ?????????????
  • ????????
  • (??????????????)

38
4.2.2?????????
?4-3??????(WAR)??????? ????
DIVD F0 , F2 , F4 ADDD F10
, F0 , F8 SUBD F8 , F8 , F14
??????????????????
  • ???????? ??????,????????????
    ????,???????????????

39
  • ????????????,??????? ????????,???????????
    ???????????????
  • ??????????????
  • CDC 6600??16?????
  • 4?????, 5????????
  • 7???????
  • ?DLX?,???2?????1?????1 ??????1??????

40
1.????????DLX?????????
??????????????,???????,???????????
41
2.?????????????????? (1) ??(Issue,??IS)
???????????????,? ???????????????????
??????,???????????? ??,??????????????
????????????????????
42
(2) ????(Read Operand,??RO)?
?????????????????? ???,????????????????
?????????????????,?? ????????????????????
??????,????????????? ???,????????????????
???????? ??????????(RAW)???
??????,??????????? ??????????,?????????
43
  • (3) ??(Execution,??EX)?
  • (4) ???(Write Result,??WR)?
  • ????????????,????
  • ?????,?????????????,
  • ???????????????
  • ??????(WAR)??
  • ?????????,?????????
  • ???????(?????)????????
  • ????????????????????????

44
3. ??????????????? (1) ?????
???????????????? ??DLX???????????
(2) ??????? ??????????????????
??????????????? Busy ???????????
Op ??????????? Fi ???????
Fj,fk?????? Qj,Qk?Rj,Rk?????????
Rj,Rk??Fj,Fk????,???????
45
(3)???????? ????????????,???????????????(??)
?????????????????????????,????????
?4-4??????????,???????????????????? LD F6
, 34(R2) LD F2 , 45(R3) MULT.D F0 , F2
, F4 SUB.D F8 , F6 , F2 DIV.D F10
, F0 , F6 ADD.D F6 , F8 , F2
46
DLX?????????????
????? IS RO EX WR
? ?
  • LD F6 , 34(R2) v v
    v v
  • LD F2 , 45(R3) v v
    v
  • MULTD F0 , F2 , F4 v
  • SUBD F8 , F6 , F2 v
  • DIVD F10 , F0 , F6 v
  • ADDD F6 , F8 , F2

47
??????? Busy Op Fi Fj Fk
Qj Qk Rj Rk
????
?? yes LD F2 R3 no ??1
yes MULTD F0 F2 F4 ?? no yes ??2 no ??
yes SUBD F8 F6 F2  ?? yes no ??
yes DIVD F10 F0 F6 ??1 no yes
48
?4-5 ??????????????? ???2?????
???10????? ???40?????
?????????????????4-3???????MULT.D?DIV.D???????????
???
? ??????????,????????????????,???????????????DLX?
???????
49
(1) ???LD???MULD?SUBD?MULTD?DIVD
????SUBD?ADDD??????????? (2) DIVD?ADDD???????????
(3) ADDD?SUBD??????????????? ????
?4-4?4-5?4-6??4-7?4-8?4-9?????MULTD???DIVD????????
???????
50
?4-4 MULT.D????????(?????)
????? IS RO EX WR
? ?
  • LD F6 , 34(R2) v
    v v v
  • LD F2 , 45(R3) v v
    v v
  • MULTD F0 , F2 , F4 v v v
  • SUBD F8 , F6 , F2 v v v
    v
  • DIVD F10 , F0 , F6 v
  • ADDD F6 , F8 , F2 v v v

51
?4-5 MULT.D????????(???????)
??????? Busy Op Fi Fj Fk
Qj Qk Rj Rk
????
?? no ??1 yes MULTD F0 F2 F4
no no ??2 no ?? yes ADDD F6 F8 F2 
no no ?? yes DIVD F10 F0 F6 ??1
no yes
52
?4-6 MULT.D????????(????????)
53
?4-7?4-8?4-9??????DIV.D????????????? ?4-7
DIV.D????????(?????)
????? IS RO EX WR
? ?
  • LD F6 , 34(R2) v v
    v v
  • LD F2 , 45(R3) v v
    v v
  • MULTD F0 , F2 , F4 v v
    v v
  • SUBD F8 , F6 , F2 v v
    v v
  • DIVD F10 , F0 , F6 v v
    v
  • ADDD F6 , F8 , F2 v v
    v v

54
?4-8 DIV.D????????(???????)
??????? Busy Op Fi Fj Fk
Qj Qk Rj Rk
????
?? no ??1 no ??2 no ?? no ?? yes
DIVD F10 F0 F6 no no
55
?4-9 DIV.D????????(????????)
56
4.???????????????? ?????????????,?????
??????????,??????? ?? Fj(FU)?S1
????S1?????Fj(FU) FU ????????? D
???????? S1?S2 ??????????, Op ?????
Fj(FU) ????FU?Fj? result(D)?????????????
??D???,??????D??????????
57
  • ??(IS)
  • (1) ????
  • not Busy(FU) and not result(D)
  • //??????????
  • (2) ???????
  • Busy(FU)?yes
  • OP(FU)?Op
  • Fi(FU)?D
  • Fj(FU)?S1
  • Fk(FU)?S2

58
  • Qj?result(S1) //??S1?FU
  • Qk?result(S2) //??S2?FU
  • Rj?not Qj //Rj?????
  • Rk?not Qk //Rk?????
  • result(D)?FU //D?FU???????
  • ????(RO)
  • (1)????
  • RjRk
  • //??????,???????????

59
  • (2)???????
  • Rj?no //??????????Rj
  • Rk?no //??????????Rk
  • Qj?0 //??????FU?????
  • Qk?0
  • ??(EX)
  • (1)????
  • ????????

60
  • ???(WR)
  • (1)????
  • ?f((Fj(f)?Fi(FU) or Rj(f)no)
  • and (Fk(f)?Fi(FU) or Rk(f)no))
  • //??????????
  • (2)???????
  • ?f(if Qj(f)FU then Rj(f)?yes)
  • //???????,?????
  • ?f(if Qk(f)FU then Rk(f)?yes)
  • result(Fi(FU))?0
  • //??FU?????Fi??????
  • busy(FU)no //??FU

61
5. ??????????????? (1) ????????????,?????
?????????????? (2) ??????????????????
??????????????? ????????????????
??????? (3) ??????????????????
????????????? (4) ??????????????????
????????
62
4.2.3 Tomasulo??????
1.????
Tomasulo????????????????? ????????
  • ???????,????????,?????????????????
  • ????????????????????????
  • ???????,????????????????????????????

63
(1).??Tomasulo???DLX?????????
64
  • ????????????????????? ??(??)???????????????
  • ???????????????????,????????,???????
  • ????????????,???????????????????,??????????????
  • ????????????/???????? ???

65
  • ????????????????????,????????????????,???????
  • ?????????????????????????????,?????????????????,
    ???????????????
  • ????????
  • ??????????????
  • ??????????????

66
(2).?????????? ??Tomasulo????????? (1)
??(Issue)?????????????? (2) ??(Execute)
(3) ???(Write Result)
67
(3). ????????????
  • ??(tags) ????????????(????)?
  • ????????6?? Op?????S1?S2???????
  • Qj,Qk????????????0??
    ????Vj?Vk?????????
  • Vj,Vk??????????????,V?
  • Q??????????
  • Busy????????????????? ??

68
  • ??????????1?Qi????????? ???????????
    ??Qi?,??????????????? ????????
    ???????,Qi???
  • ??????????1?Busy??1?Address? Busy?????????
    A???,??????????????
  • ?????1?V?????????????

69
2.??
?4-6 ??????,??????
LD F6 , 34(R2) LD F2 ,
45(R3) MULTD F0 , F2 , F4 SUBD F8 , F2 ,
F6 DIVD F10 , F0 , F6 ADDD F6 , F8 , F2
70
?4-10?4-11?4-12??????Tomasulo?????????????????????
????
? ? ????? ????? ?????
? ? ?? ?? ???
LD F6,34(R2) v v v
LD F2,45(F3) v v
MULTD F0,F2,F4 v
SUBD F8,F2,F6 v
DIVD F10,F0,F6 v
ADDD F6,F8,F2 v
?4-10
71
? ? ??? ??? ??? ??? ??? ??? ???
? ? Busy Op Vj Vk Q Qk A
Load1 no
Load2 yes LD 45RegsR3
Add1 yes SUBD Mem34?RegsR2 Load2
Add2 yes ADDD Addl Load2
Add3 no
Multl yes MULTD RegsF4 Load2
Mult2 Yes DIVD Mem34RegsR2 Multl1
?4-11
72
? ??? ??? ??? ??? ??? ??? ??? ???
? F0 F2 F4 F6 F8 F10 .... F30
Qi Multl Load2 Add2 Addl Mult2
?4-12
73
Tomasulo??????????????? (1)???????????
(2)??????????????????? ???
74
?4-7???????????????MUL.D???????,?????????
???4-13?4-14?4-15??,ADD.D?DIV.D??????????????????
,ADD.D????DIV.D?????????????F6?????????,?????????F
6?????????????,???????????
75
?4-13
? ? ????? ????? ?????
? ? ?? ?? ???
LD F6,34(R2) v v v
LD F2,45(F3) v v v
MULTD F0,n,F4 v v
SUBD F8,F2,F6 v v v
DIVD F10,F0,F6 v
ADDD F6,F8,12 v v v
76
?4-14
? ? ??? ??? ??? ??? ??? ??? ???
? ? Busy Op Vj Vk Qj Qk A
Loadl no
Load2 no
Addl no
Add2 no
Add3 no
Mult1 yes MULTD Mem45?RegsR3 RegsF4
Mult2 yes DIVD Mem34?RegsR2 Mult1
77
?4-15
? ??? ??? ??? ??? ??? ??? ??? ???
? F0 F2 F4 F6 F8 F10 F30
Qi Multl Mult2
78
3.????
Tomasulo??????????????????
?? rd????? rs?rt???????
imm???????? r???????????????
RS???????,????????? ????result?
RegisterStat?????????? (??????Regs ??)
79
  • ????(Issue)

(1) ???? ? ????????????r ?
???/????????r (2) ???? ? ?????? if
(RegisterStatrs.Qi ? 0) //?????
?RSr.Qj ? RegisterStatrs.Qi?
//??????rs???,??????? else ?RSr.Vj ?
Regrs //????rs??????????
RSr.Qj ? 0? //??Vj??
80
if (RegisterStatrt.Qi ? 0) //????? ?RSr.Qj
? RegisterStatrt.Qi?
//??????rt???,??????? else ?RSr.Vk ?
Regrt //????rs??????????
RSr.Qk ? 0? //??Vk?? RSr.Busy ?
yes //????? RSr.Op ? Op //???????????
RegisterStatrd.Qi ? r
//???rd??????????
81
? ???/???
if (RegisterStatrs.Qi ? 0) ?RSr.Qj ?
RegisterStatrs.Qi?
//??????rs???,??????? else ?RSr.Vj ?
Regrs //????rs??????????
RSr.Qj ? 0? //??Vj?? RSr.Busy ? yes
//????? RSr.A ? Imm //???????????
82
? ????? RegisterStatrd.Qi ? r
//???rd?????????? ? ????? if
(RegisterStatrt.Qi ? 0) ?RSr.Qk ?
RegisterStatrt.Qi?
//??????rt???,??????? else ?RSr.Vk ?
Regrt //????rt??????????
RSr.Qk ? 0? //??Vk??
83
  • ??(Execution)

(1) ???? ? ?????? (RSr.Qj 0) and
(RSr.Qk 0) //????????
? ???/????1? (RSr.Qj 0) and
(r???/????????) ? ??????2?
????1?????
84
(2)???? ? ???????????? ? ???/????1?
RSr.A ? RSr.Vj RSr.A
//?????? ? ??????2?
????MemRSr.A
//?????????
85
  • ???(Write Result)

(1)???? ? ??????????
???r????,??????? (CDB)??(??) ?
????? ???r????,?RSr.Rk 0
//???????? (2)???? ?
??????????
86
  • ?x (if(RegisterStatx.Qi r)
  • ?fx ? result //?????????(???fx)
  • RegisterStatx.Qi ? 0? //?????????????
  • ?x (if(RSx.Qj r)
  • ?RSx.Vj ? result //????????????????
  • RSx.Qj ? 0?) //????????

87
?x (if(RSx.Qk r) ?RSx.Vk ? result
//???????????????? RSx.Qk ? 0?)
//???????? RSr.Busy ? no //?????,
?????? ? ????? MemRSr.A ? RSr.Vk //??????
RSr.Busy ? no //?????, ??????
88
4.3??????
4.3.1??????
?????????????????????????????????,?????????????
????????
?????????????????????????,????????????,???????
????????????????????,?????????????????????????????
??????????????????????????????????????
89
?4-8??????? LD R1,O(R2) DSUBU R1,R1,R3 BEQZ
R1,L OR R4,R5,R6 DADDU R10,R4,R3 L DADDU
R7,R8,R9
????????????
90
?????????
?????????????????
?????????????????????????,????????????,???????????
???
??????????????????????????
91
4.3.2??????
????????????????????????????????????????????????
?????????????
??????????????????????????
????????????
????????????????????
92
????????????????
1.??????
2.??????
3.?????????
93
1.??????
???Cache?????????,????????
????????,????????????????????????
????????????????
???????????????,????T???????????????,?N???????
??????????
94
???????????????
TT???????NT????????,?????????TN?????????,????
????NN??????????t????????n?????????T??????
??N?????????
95
2.??????
??????????????????????????????????,???????????
?????????,????????????????,????,?????????????,???
?????,????????(?????)?????????????????????????????
????(Branch-TargetBuffer,BTB,??Branch-TargetCache,
BTC)?
96
BTB???????
???????????????????????????? (1)?????????? (2)??
????????
97
??BTB??????????????????,????????????BTB???????
??,????????????????????PC???,????????????
??????,????????????????????BTB???????,????????
?????????????????BTB???,???????????
98
??BTB??????????????
???BTB?? ???? ????? ????
? ?? ?? 0
? ?? ??? 2
?? ?? 2
?? ??? 0
99
BTB?????????????????????????????????
????????????????,????????
?????3??????
(1)?????????????
(2)????????????????,???????????????
(3)????????????????????????????,?????????????????
100
3.?????????
??????????????3???
(1)???????????????????? (2)???????????????? (3)???
????????
??????????
????????,????????????????????????,???????????
,?????????????????
101
??Tomasulo??????????DLX???????
102
4.4 ?????
4.4.1?????
  • ???????????,????????????,???????????????????,?????
    ?????????
  • ????????????????????(???????)??,?????????????
  • ??????????????????,??????????

103
1.???????
??????????(???????)???????????? ????????????????
??????????,?????????? ????????????????????????????
???????
(b)???
(a) ???
?????????????
??
???
104
(a)????????
105
(b)????????
106
???????????????????????????????????????????????
?????????
(1)?????????
(2)?????????
(3)???????
(4)??Tomasulo??????????????????
(5)????????,????????,??????????????????????????
(6)??????????????????????,????????????????????????

107
4.4.2????????
???????,?????????????,???????????????,??,?????????
?????????????????
1.??????
2.????
108
1.??????
????????????,?????????????????????????????
?????????????????????????,??????(in-order
issue),??,??????(outorder issue)?
?????????????????????????,??????(in-order
completion),??,??????(outorder completion)?
109
????????????????????
I1 LOAD R1, A I2 FADD R2, R1 I3 FMUL
R3, R4 I4 FADD R4, R5 I5 FDEC R6 I6
FMUL R6, R7
110
(1)????????
????????????????????,???????????????
??????????,?????????????,????????????,????????????
?,???????????,????????????,????????????
111
?????????????????
????????????
112
(2)????????
?????????????????????????
?????????????????????????,????????????????????????
?????????????
113
????????????????
????????????
114
(3)????????
????????????????
????????????
115
2.????
??????4???????? FAD.D R0 FMUL R2 FAD.D
R4 FMUL R6
???????????????????????????????,????????????FADD??
??????????FMUL?
????????????3?????,??????????4??????
116
????????????????????????????,?????????
?????????4-22???
?4-22??????????,??????????????
117
?????????????????????,??????????????????????3????,
???????4???????????????????,4???????????4-23???
?4-23??????????,????????????
118
???4-22??4-23????,???????????m???????????,????????
????????????,???????????,????????????????????????m
k,???????????
???????????????????,???????????????????????m?m
??,??????????
119
4.4.3???????
??????(????VLIW)?????????????????????????,VLIW
?????????????????
VLIW?????????????4-25??
120
VLIW??????????
(1)???????????
(2)???????
(3)?????????????????,???????????????
(4)????????,?????????????????????,????????????????
????,??????????????????
(5)????????????
(6)??????????
121
4.5 ???????????
???????,??????????????????????,?????????????????
???
??????????????????????????????????????????????
??????
???????,????????
122
???????,????????
(1)????????????????????,?????????WAW?WAR??,???????
?????????? (2)????????????????,??????????????? (3)
????????????,?????????????? (4)????Cache,?????????
1??????
??,????????????????????????,????????????,????????
123
??,????????????????????????????????,?????????,????
?????????????????
??,????????????Tournament??????,????8K????????????
150KB???(????????4?),????,?????????????????????,??
???????????
??,???????????
??,???????????????????????????????????????????????
?????????????????????????????????
124
4.5.1 ????????????????????
?????????????????????
????????????????????????
?4-26??4-27???????????????,????????????,??????????
??
125
?4-27????????????????????
?4-26 ?????????
126
?????????,???????????????????(???????????,????????
??????????)?
?????????,????????????????????????????????????
?????????????,??4-26??4-27?????????,??????????????
???????
127
4.5.2?????????????????????
???????,???????????????,??????????????????????????
??,???????????
?4.28??4.29?????????????,?????????????????????????
?????????????????????????,????????????????????????
??????????????,??????????????,?????????????
128
?4-28 ??????????????
??4-28???????????(????????????)????????,????????
???????,??????????????
129
?4-29 ????????(???????)
130
??4-29????5???????,????
(1).???????????????????????????
(2).??????????????????????????????????????????,?
??????????????????
(3).??512?????????????????,????????16???????????
????????
(4).?????????????????????????????
(5).????????????,??,?????????????????????
131
??4-30????????????????????????,3???????????
?4-30 ??SPEC92??????????????
132
4.5.3??????????
?4-31??4-32??????????????????????????????
?4-31 ????????????????
133
??4-31??,????????????????x??????????????,??32?????
????32?????????????????????,???????????????????
134
?4-32 ?????????????
135
??4-32???????,?????????,??????????????????????64
????,??????????,??????,??64???????????,???????????
?????????
???????????????????,???????????????????
136
4.5.4 ????????????
????????????????????????,????????????????,????
????????????,??????????????????
?4-33??4-34??,??????????????????????????????????
1.??/???????
2.???
3.???
137
?4-33 ?????????????????
??4-33??,???????????????????????????,???/??????FOR
TRAN????????,???????
138
?4-34 ??????????????
139
4.6 Intel Pentium 4 ????
4.6.1 Pentium ??Pentium4???????
Pentium4?????????NetBurst,??Pentium??????(Pen
tium???????P6?????)??????????3?IA-32??,??????????
?????,???????????????????,????????????????3?????Pe
ntium??Pentium4???????????,??????NetBurst?????????
??????,?????????????????
140
?????????????
1.NetBurst???????,????????20???????????,??????????
???????,P6??10?????,?NetBurst??20?????,????2??????
???????????
2.NetBurst??????????(??MIPsRl0K?Alpha21264),???P6?
???????????????????,???????????(???128?),?P6??????
40??
3.NetBurst??7???????,P6????5??????????ALU?????????
??
141
4.?????ALU(????????)??????cache?ALU????(P6??1???,N
etBurst????)?????(P6??3?,NetBurst??2?)??????????,?
????????????????????????
5.NetBurst?????cache??????????????,?P6????????????
?cache?
6.NetBurst????????????,?P6??8?,??????????
7.NetBurst???8KB???cache,P6??16KB??NetBurst???????
????2?cache(256KB)????????
8.NetBurst??????SSE2????,??????????????,????????12
8??SIMD???????,??Pentium4?Pentium???????????????
142
4.6.2Pentium ??Pentium4???????
????????SPECCINT2000???,1.7GHz?Pentium4?1GHz?P
entium???????1.26?,??SPECCFP2000??????1.8??
?????Pentium4???????Pentium??????????????????????
??????????????????????,???????????????????????????
???,Pentium4??????Pentium??1.7?1.8??????????85?9
0?
143
???????????????????CPI????????????????????????
??????SPEC???????????????,1GHz?Pentium??1.7GHz?Pen
tium4?????1.26,??????SPEC???,Pentium4?CPI?Pentium?
?1.7/1.261.34?,?Pentium4????Pentium??1.26/1.774
???,????????????????,????????????
144
????????????????????t.26?????????????????????
????????????????CPI???,??????????????????????????,
?????????1.5???????????????????????????????????,Pe
ntium4?????????????????????????????
145
Pentium4?????????
1.???144???, ?????????????????????????????? 2.??2G
??, ???????????? 3.???????400M? 4.????????20?? 5.?
?????(Advanced Dynamic Execution)
6.?????? (Execution Trace Cache)
7. ?????? (Rapid Execution Engine)
8.????????(????? )(Hyper Pipelined Technology)
,???????20??
Write a Comment
User Comments (0)
About PowerShow.com