Homework #2
Due: 2/21/02 (Th)
Chapter 12 Problems: 12.10
Chapter 13 Problems: Tomasulo's Algorithm Problem from "2/12/02" in-class questions, 13.2 (complete the below tables), 13.6 (complete the tables as indicated)
13.2 - Complete the following tables
Part a | # | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
ADD R3, R1, R2 | 0 | F | D | E | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
LOAD R6, [R3] | 1 |   | F | D | - | E | E | E | E | E | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
AND R7, R5, 3 | 2 |   |   | F | D | - | E | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
ADD R1, R6, R0 | 3 |   |   |   | F | D | - | - | - | - | - | E | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
SRL R7, R0, 8 | 4 |   |   |   |   | F | D | E | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
OR R2, R4, R7 | 5 |   |   |   |   |   | F | D | - | E | - | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
SUB R5, R3, R4 | 6 |   |   |   |   |   |   | F | D | - | E | - | - | W |   |   |   |   |   |   |   |   |   |   |   |   |   |
ADD R0, R1, R10 | 7 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
LOAD R6, [R5] | 8 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
SUB R2, R1, R6 | 9 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
AND R3, R7, 15 | 10 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
Instruction | Fetch | Decode | Execute | Write Back | |
ADD R3, R1, R2 | 0 | 0 | 1 | 2 | 3 |
LOAD R6, [R3] | 1 | 1 | 2 | 4 | 9 |
AND R7, R5, 3 | 2 | 2 | 3 | 5 | 6 |
ADD R1, R6, R0 | 3 | 3 | 4 | 10 | 11 |
SRL R7, R0, 8 | 4 | 4 | 5 | 6 | 7 |
OR R2, R4, R7 | 5 | 5 | 6 | 8 | 10 |
SUB R5, R3, R4 | 6 | 6 | 7 | 9 | 12 |
ADD R0, R1, R10 | 7 |   |   |   |   |
LOAD R6, [R5] | 8 |   |   |   |   |
SUB R2, R1, R6 | 9 |   |   |   |   |
AND R3, R7, 15 | 10 |   |   |   |   |
Part b | # | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |   |   |   |
ADD R3, R1, R2 | 0 | F | D | E | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
LOAD R6, [R3] | 1 |   | F | D | - | E | E | E | E | E | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
AND R7, R5, 3 | 2 |   |   | F | D | - | E | - | - | - | - | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
ADD R1, R6, R0 | 3 |   |   |   | F | D | - | - | - | - | - | E | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
SRL R7, R0, 8 | 4 |   |   |   |   | F | D | - | - | - | - | - | E | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
OR R2, R4, R7 | 5 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
SUB R5, R3, R4 | 6 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
ADD R0, R1, R10 | 7 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
LOAD R6, [R5] | 8 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
SUB R2, R1, R6 | 9 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
AND R3, R7, 15 | 10 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
Instruction | Fetch | Decode | Execute | Write Back | |
ADD R3, R1, R2 | 0 | 0 | 1 | 2 | 3 |
LOAD R6, [R3] | 1 | 1 | 2 | 4 | 9 |
AND R7, R5, 3 | 2 | 2 | 3 | 5 | 10 |
ADD R1, R6, R0 | 3 | 3 | 4 | 10 | 11 |
SRL R7, R0, 8 | 4 | 4 | 5 | 11 | 12 |
OR R2, R4, R7 | 5 |   |   |   |   |
SUB R5, R3, R4 | 6 |   |   |   |   |
ADD R0, R1, R10 | 7 |   |   |   |   |
LOAD R6, [R5] | 8 |   |   |   |   |
SUB R2, R1, R6 | 9 |   |   |   |   |
AND R3, R7, 15 | 10 |   |   |   |   |
Part c | # | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
ADD R3, R1, R2 | 0 | F | D | E | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
LOAD R6, [R3] | 1 | F | D | - | - | E | E | E | E | E | W |   |   |   |   |   |   |   |   |   |   |   |   |
AND R7, R5, 3 | 2 |   | F | D | E | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
ADD R1, R6, R0 | 3 |   | F | D | - | - | - | - | - | - | - | E | W |   |   |   |   |   |   |   |   |   |   |
SRL R7, R0, 8 | 4 |   |   | F | D | E | W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
OR R2, R4, R7 | 5 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
SUB R5, R3, R4 | 6 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
ADD R0, R1, R10 | 7 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
LOAD R6, [R5] | 8 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
SUB R2, R1, R6 | 9 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
AND R3, R7, 15 | 10 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
Instruction | Fetch | Decode | Execute | Write Back | |
ADD R3, R1, R2 | 0 | 0 | 1 | 2 | 3 |
LOAD R6, [R3] | 1 | 0 | 1 | 4 | 9 |
AND R7, R5, 3 | 2 | 1 | 2 | 3 | 4 |
ADD R1, R6, R0 | 3 | 1 | 2 | 10 | 11 |
SRL R7, R0, 8 | 4 | 2 | 3 | 4 | 5 |
OR R2, R4, R7 | 5 |   |   |   |   |
SUB R5, R3, R4 | 6 |   |   |   |   |
ADD R0, R1, R10 | 7 |   |   |   |   |
LOAD R6, [R5] | 8 |   |   |   |   |
SUB R2, R1, R6 | 9 |   |   |   |   |
AND R3, R7, 15 | 10 |   |   |   |   |
13.6
a) Dependencies:
b) In-order issue with in-order completion (THIS SET OF TABLES IS DONE FOR YOU. YOU COMPLETE PARTS C AND D SIMILARLY)
Assumptions:
  |   | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Instructions |   | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Load R1, A | I1 | f1 | d1 | e2 | s1 |   |   |   |   |   |   |
Add R2, R1 | I2 | f2 | d2 | d2 | a1 | a2 | s1 |   |   |   |   |
Add R3, R4 | I3 |   | f1 | d1 | d1 | a1 | a2 | s1 |   |   |   |
Mul R4, R5 | I4 |   | f2 | f2 | d2 | m1 | m2 | m3 | s1 |   |   |
Comp R6 | I5 |   |   | f1 | f1 | d1 | e1 | e1 | s2 |   |   |
Mul R6, R7 | I6 |   |   | f3 | d3 | d3 | d3 | m1 | m2 | m3 | s1 |
Cycle | Fetch |   | Decode |   | Execute |   | Write Back | |||||||||||
  | f1 | f2 | f3 |   | d1 | d2 | d3 |   | a1 | a2 | m1 | m2 | m3 | e1 Logic | e2 Load |   | s1 | s2 |
0 | I1 | I2 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
1 | I3 | I4 |   |   | I1 | I2 |   |   |   |   |   |   |   |   |   |   |   |   |
2 | I5 | I4 | I6 |   | I3 | I2 |   |   |   |   |   |   |   |   | I1 |   |   |   |
3 | I5 |   |   |   | I3 | I4 | I6 |   | I2 |   |   |   |   |   |   |   | I1 |   |
4 |   |   |   |   | I5 |   | I6 |   | I3 | I2 | I4 |   |   |   |   |   |   |   |
5 |   |   |   |   |   |   | I6 |   |   | I3 |   | I4 |   | I5 |   |   | I2 |   |
6 |   |   |   |   |   |   |   |   |   |   | I6 |   | I4 | I5 |   |   | I3 |   |
7 |   |   |   |   |   |   |   |   |   |   |   | I6 |   |   |   |   | I4 | I5 |
8 |   |   |   |   |   |   |   |   |   |   |   |   | I6 |   |   |   |   |   |
9 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | I6 |   |
10 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
c) In-order issue with out-of-order completion
Assumptions:
  |   | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Instructions |   | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Load R1, A | I1 |   |   |   |   |   |   |   |   |   |   |
Add R2, R1 | I2 |   |   |   |   |   |   |   |   |   |   |
Add R3, R4 | I3 |   |   |   |   |   |   |   |   |   |   |
Mul R4, R5 | I4 |   |   |   |   |   |   |   |   |   |   |
Comp R6 | I5 |   |   |   |   |   |   |   |   |   |   |
Mul R6, R7 | I6 |   |   |   |   |   |   |   |   |   |   |
Cycle | Fetch |   | Decode |   | Execute |   | Write Back | |||||||||||
  | f1 | f2 | f3 |   | d1 | d2 | d3 |   | a1 | a2 | m1 | m2 | m3 | e1 Logic | e2 Load |   | s1 | s2 |
0 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
1 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
2 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
3 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
4 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
5 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
6 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
7 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
8 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
9 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
10 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
Assumptions:
  |   | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Instructions |   | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Load R1, A | I1 |   |   |   |   |   |   |   |   |   |   |
Add R2, R1 | I2 |   |   |   |   |   |   |   |   |   |   |
Add R3, R4 | I3 |   |   |   |   |   |   |   |   |   |   |
Mul R4, R5 | I4 |   |   |   |   |   |   |   |   |   |   |
Comp R6 | I5 |   |   |   |   |   |   |   |   |   |   |
Mul R6, R7 | I6 |   |   |   |   |   |   |   |   |   |   |
Cycle | Fetch |   | Decode |   | Execute |   | Write Back | |||||||||||
  | f1 | f2 | f3 |   | d1 | d2 | d3 |   | a1 | a2 | m1 | m2 | m3 | e1 Logic | e2 Load |   | s1 | s2 |
0 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
1 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
2 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
3 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
4 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
5 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
6 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
7 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
8 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
9 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
10 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |