Loop:
•
•
•
•
LD
MULTD
SD
SUBI
BNEZ
F0
F4
F4
R1
R1
0
F0
0
R1
Loop
R1
F2
R1
#8
This time assume Multiply takes 4 clocks
Assume 1st load takes 8 clocks, 2nd load takes 1 clock
Clocks for SUBI, BNEZ
Show 2 iterations
Load=8,1
Add=3
Mult=4
SUBI/BNEZ=1
Store=3
Instruction status:
ITER Instruction
1
1
1
2
2
2
LD
MULTD
SD
LD
MULTD
SD
j
0
F0
0
0
F0
0
F0
F4
F4
F0
F4
F4
k
Exec Write
Issue CompResult
R1
F2
R1
R1
F2
R1
Reservation Stations:
Time
Name Busy
Add1
No
Add2
No
Add3
No
Mult1 No
Mult2 No
Op
Vj
Busy Addr
Load1
Load2
Load3
Store1
Store2
Store3
S1
Vk
S2
Qj
RS
Qk
No
No
No
No
No
No
Code:
LD
MULTD
SD
SUBI
BNEZ
F0
F4
F4
R1
R1
Fu
0
F0
0
R1
Loop
R1
F2
R1
#8
...
F30
Register result status
Clock
0
F0
R1
80
F2
F4
F6
F8
F10 F12
Fu
Load=8,1
Add=3
Mult=4
SUBI/BNEZ=1
Store=3
Instruction status:
ITER Instruction
1
LD
F0
Exec Write
Issue CompResult
j
k
0
R1
1
Vj
S1
Vk
Reservation Stations:
Time
Name Busy
Add1
No
Add2
No
Add3
No
Mult1 No
Mult2 No
Op
Busy Addr
Fu
Load1
Load2
Load3
Store1
Store2
Store3
S2
Qj
RS
Qk
Yes
No
No
No
No
No
80
Code:
LD
MULTD
SD
SUBI
BNEZ
F0
F4
F4
R1
R1
0
F0
0
R1
Loop
R1
F2
R1
#8
...
F30
Register result status
Clock
1
F0
R1
80
F2
F4
F6
F8
F10 F12
Fu Load1
Load=8,1
Add=3
Mult=4
SUBI/BNEZ=1
Store=3
Instruction status:
ITER Instruction
1
1
LD
F0
MULTD F4
Exec Write
Issue CompResult
j
k
0
F0
R1
F2
1
2
Vj
S1
Vk
Reservation Stations:
Time
Name Busy Op
Add1
No
Add2
No
Add3
No
Mult1 Yes Multd
Mult2 No
Busy Addr
Fu
Load1
Load2
Load3
Store1
Store2
Store3
S2
Qj
RS
Qk
R(F2)