1
.
: /+*D+E*F.
ʳ : 3.
: .
:
14;
14;
ij 23.
ʳ : 41.
- , , , .
㳿 , . , , , .
, .
ֳ , , . , , . ³ , .
1 в
1.1
, :
1. - , (instructions per cycle, IPC).
2. (䳿) - ( ).
3. () - () , .
1.1.1 ()
. 1.1 -
:
= 1 IPC.
䳿 = 1 .
() = 1 .
1.1.2
. 1.2 -
:
= n IPC (=3 IPC )
䳿 = 1
() = n (=3 )
, , , n . , n , . , , , 2.5-3 IPC, . .
|
|
1.1.3 VLIW-
. 1.3 - VLIW-
:
= n IPC (=3 IPC )
䳿 = 1
() = n (=3 )
, VLIW- ( , , IPC, VLIW- , ). VLIW- , , . , , 䳿 EX ( ), 䳿 .
1.1.4
. 1.4 -
, 5- "䳿" ( ). , "" "", ( ) . , "" 4 "䳿", 4- 䳿 , "" 䳿 . , ( ) , "" 䳿 m "" ( ):
= 1 IPC, 1/m
䳿 = 1 "䳿", m " 䳿"
() = m
䳿 . , ( ). ֳ , , .
1.1.5
( ) ( ) , . :
|
|
= n IPC, 1/m
䳿 = 1 "䳿", m " 䳿"
() = m*n .
1.2
, , .
:
1. (instruction fetch, IF) - ' ( , , ' ).
2. (instruction decode, ID) - .
3. (execution, EX) - ' , .
4. ' (memory, MEM) - ' ( /).
5. (writeback, WB) - .
, RISC-, , CISC- .
, ( - 5 ) . . , ( ) , . .
' : IF, ID, EX, MEM, WB. .
.
糿 IF MEM . , , 䳿 ' . ( ), ' .
( ), . , - . , ( ) .
, , . , ' , , - . , , , , , . - . .
1.3 ̳䳿
1.3.1 ̳䳿 IF
' , : PC, IR (Instruction Register) IF/ID. : NPC : cond (condition - ) : , (true), IF/ID.NPC PC EX/MEM.NPC / (+4) ; '.
|
|
1.3.2 ̳䳿 ID.
䳿 . , ID/. 8.. 10 IR IF/ID. . 䳿 , . 䳿 , . . ( 16 32- ) imm (immediate - ) , 16...31 IR . ID Operand Fetch ( ). ̳䳿 ( - ). , . . ALU '. 䳿 (). (-) ALU ALUoutput.
1.3.3 ̳䳿 ( load/store).
, () ' (Immediate - ), , - , .
1.3.4 ̳䳿 ( branch).
( ) ALUoutput, - ALUoutput /. , , , , ID, ( , , ). cond / , cond=4. , .
1.3.5 ̳䳿 MEM ( ).
, . 䳿 ALU
1.3.6 ̳䳿 MEM ( load/store).
. , ( - ) . , - . () ' ALU. ' LMD (Load Memory Data), '
|
|
, ', ' ( - , ' ).
1.3.7 ̳䳿 WB ( ).
. ALU MEM/WB.ALUoutput . , load DLX . : 16...20 11...15 . ,
1.3.8 ̳䳿 WB ( load).
, store () . '
LMD MEM/WB, () MEM/WB.IR 11...15. , , , . , (IF/ID), (MEM/WB).
2. Ūί
2.1 ϳ
() ( ), () . ' . , , . , - . :
() = n(n-1(...(1(0()))...)),
( ), () - . - Գ, Գ-1(Գ-2(...(0())...)).
Գ(0<=<=N) , . () ' . , () .
() , 4- . U0, () U1. U1 , , 1(0()) U2 .. , , . N ().
Գ ҳ. i . U0, - 4 . ϳ 3 - (). (j)(1<=j<=9).
10, , . ϳ 12 - (A9). . , ' :
|
|
-³= * 2 - b * 2UY, i = 0,1,...
, U, , Գ, U1 . 2 U2 3, U3, .
3- 5- . : - , 1 - , 2 - , 3 - ' (. 2.1)
U0->0 | 1 | 2 | 3 | 4 | 5 | |||
U1->1 | 1 | 2 | 3 | 4 | 5 | |||
U2->2 | 1 | 2 | 3 | 4 | 5 | |||
U3->3 | 1 | 2 | 3 | 4 | 5 |
.2.1
, , . , - , .
. , , . t0, t1,...,ti,..., t0 - U0. ti-1 i ti -
. : ; ; .
- Uj. =(Uj). =, j , , .
, .
, .
.
: - - j- , (-1)- (-1)- (j+1)- , (+1)- (+1)- (j-1)- .
2. 2 -
' . ' . - ( ), () .
: '; ; .
- , . ó - 1, 2, 3, 4 .., . , , , , D ..
- 1.
2.3
' . ,
- , , .
.
, 3-. , .
. ̳ .
D. ̳ .
E F. ̳ .
.
.
1.
2.4.
. , , ().
- , , (), .
, . 14- . , ( ). 28 , .
, . 14- , , .
28 , .
, . 24- , , ( ). 24 , .
:
= 14 * 2 = 28
= 14 * 2 = 28
= 24
1.
2.5.
:
;
;
:
j i, ; - , ; N - ; n - , . = 28;
= 80;
= 80/28 = 0,35
, 2,5 .
, 2,5 .
1:
-
2
.
: A+B*(C+D*E*(G+L/K))+N
ʳ 5
:
10;
26;
23;
:
- , , , .
. . , , , , .
, . , , .
, , , .
:
1) . ;
2) .
1 IJ
1.1.
() , , , , . .
, - - - , , , , , .
, . :
1) , ;
2) ;
3) .
.
1.1.1
.4.1. 璺 , . , - .
. 1.1 -
, .
(), .
:
1) ;
2) ;
3) .
4) 䒺
:
1) ;
2)
.
, 䳿 .
̳ , , .
. , . , , , , .
1.1.2
.4.2. . , 璺 - . .
. 1.2 -
, .
. , - .
:
1)
2) 䒺
3)
4)
5) , .
, , , .
:
1) , , .
2) , .
.
1.1.3
(. 4.3.) , , . . .
, , , .
: - .
. 4.3 -
2. ί
2.1 -
. , - , .
. (), .
- :
1) ;
2) ;
3) ;
4) ;
5) , y ( , , y ( , ).
, . . - , .
:
:
:
, 5. 5 (B,D,E) , .
: , , .
, , .
, - .
1 ( ) - , (), . , , , 6. , , , (), .
2 ( ) , (). , , , 2, , . , D,E , . , .
, ().
3 ( ) - , (). , - , . , B,D,E. , - .
2.2
. , - , , . ( ) - . 5, 5.
, - . ³ , 4, - (), 5, - (), 6, - ().
4 5 3. ³ 4 5 ( ), 4 ( ), . 5 ( ), 4 5 , 2 , .
6 ( ), , 4. ϳ , . ³ 5, .
2.3
³ , , ( ) . , - . ( ) .
, , - .
7 ( ) :
ʳ , -
8 ( ) :
ʳ , - 95
9 ( ) :
ʳ , - 59
2.4
:
- ;
- ( );
- ( ).
.
:
() ():
():
:
():
():
():
:
():
():
():
:
:
():
():
():
, . , - , , , , .
, , .
():
, 122%, () () 34,2%, 48% . , () , , .
, . , .
-
1- - , ()
2 -- , ()
3- - , ()
4 - , ()
5- , ()
6- , ()
7- , ()
8- , ()
9 - , ()
4.
:
1
.
:.(A+B)/C*(D+E+)*F+K/L+N
ʳ : 3.
: .
:
5
7
7
ʳ : 48.
- , , , .
2
.
:.(A+B)/C*(D+E)*F+(G/H+I)/K
ʳ : 2.
:
5
7
7
: .
- , , , .
3
.
: (A+B)/C*(D+E)*F+K/L+(M*N).
ʳ : 4.
:
:
11
18
15
ʳ : 49.
- , , , .
4
.
:.(A*B)+C*D/E+(F+G)/H*I+N
ʳ : 3.
:
12
19
21
: .
- , , , .
5
.
: (A+B+C)*D+E/F+(K+L)/M*N.
ʳ : 3.
:
:
8
8
13
ʳ : 52.
- , , ,
.
6
.
:.A*B/C+D+E+(F+G)/H*I/(K+L)
ʳ : 2.
:
21
33
30
: .
- , , , .
7
.
: (A+B+C)*D+(E/F+K/(L*Z)).
ʳ : 4.
:
:
14
20
25
ʳ : 33.
- , , , .
8
.
:.A*(B+C)+D/L+E+(F+G)/H*I
ʳ : 3.
:
21
33
30
: .
- , , , .
9
.
: A*B+C/(D+E*F)*(K/L)+G+N.
ʳ : 2.
:
:
34
28
12
ʳ : 52.
- , , , .
10
.
:.A*(B+C)+D/E+F+G+H*I/N
ʳ : 2.
:
8
8
14
: .
- , , ,
.
11
.
: A/B+C*(D+E+)*F+L/M+N.
ʳ : 4.
:
:
9
12
12
ʳ : 23.
- , , , .
12
.
:.A*B+(C+D)/E+F+G+H*I/K
ʳ : 3.
:
8
18
14
: .
- , , , .
13
.
: A*B+C/(D+E*F)+(K+L/N)+G.
ʳ : 3.
:
:
4
7
9
ʳ : 34.
- , , , .
14
.
:.A*B+(C+D)*E+F/G+H*I/L
ʳ : 4.
:
14
21
22
: .
- , , , .
15
.
: A*B+C/(D+E*F)+(K+M/N).
ʳ : 4.
:
:
6
18
18
ʳ : 42.
- , ,
,
.
16
.
:.A/B+C*(D+E)+F/G+H*(I+K)
ʳ : 3.
:
4
12
12
: .
- , ,