We are considering the addition of a vector processing unit to
a CPU. The vector unit speeds up vectorizable floating point computations
but doesn't affect the speed of integer computation or non-vectorizable
FP. Assume that the vector unit provides a speedup of 12 over
normal floating point computations. Your measurements of scientific
programs have shown that 90% of the time is spent doing floating
point.
Assume that the FP computations are 100% vectorizable. How much
speedup would be gained?
What fraction of FP computations must be vectorized to get a speedup
of 4 over the unvectorized CPU?
You are given a choice between increasing the vector speedup by
a factor of 2 (to 24x) or increasing the overall clock rate by
a factor of 1.5, thus speeding up integer, floating point, and
vector computations. Which results in a faster CPU, assuming that
the FP code is 80% vectorizable?
You've built a new computer with multimedia (MM) instructions,
and discover that MM instructions account for 30% of the run time
of a set of benchmarks. You know that the MM instructions are
4 times faster than the "normal" instructions that they replaced.
How much faster does the CPU run with MM instructions relative
to its original (without MM) speed?
What percentage of the original execution time was converted to
MM instructions?
You have measured the "ideal" CPI of a program to be 0.5 (superscalar
issue allows CPIs to be below 1). However, this doesn't include
the memory system. Assume that cache hits cost nothing and that
cache misses cost 50 cycles. If instruction references miss 1%
of the time and data references miss 4% of the time, what is the
overall average CPI? Assume the instruction frequencies shown
in Figure 1.17 in the text.