Computer Systems

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                                    
d) out-of-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