Assigned: 17 Feb 2000
Due: 24 Feb 2000 at 5:45 PM
lwz r4, 8(r8)
addic r8, r8, #8
lwzu r4, 8(r8)
r8
to r8+8
as well as performing
the load (lwz
and lwzu
are loads; this addressing
mode is available for stores as well). This new addressing mode does not affect
the CPI, but might affect the instruction count and/or the clock speed. Assume
the instruction frequencies are those for espresso in Figure 2.26.
Also, assume the CPI values are those listed in Problem 4.Instruction class | Clock cycles |
ALU instructions & FP move | 0.8 |
Loads (integer or FP) | 1.7 |
Stores (integer or FP) | 1.0 |
Conditional branches (taken) | 2.2 |
Conditional branches (not taken) | 0.6 |
Jumps | 1.6 |
FP add, subtract, compare | 2.1 |
FP multiply | 2.5 |
FP divide | 4.8 |
Other FP | 5.5 |
cs.umbc.edu
domain using maximum optimization
(gcc -O3
) and produce an assembly language program (the -S
option). Count the number of each type of instruction (you can do this by
having the compiler produce assembly code, and tracing the loops in the original
C code as well) that the benchmark executes. Compare this to the instruction
frequencies in Figure 2.26 from the text. How do the instruction frequencies
compare? Is dhrystone a good match for any particular program? If so, which
one(s)?