ECE 463: Advanced Microprocessor Design ECE 521: Computer

advertisement
ECE 463: Advanced Microprocessor Design
ECE 521: Computer Design and Technology
Problem Set 1
Due Wednesday, August 28, 2002
Problems 1 and 3 will be graded. There are 45 points on these problems. Note: You must do all
the problems, even the non-graded ones. If you do not do some of them, half as many points as
they are worth will be subtracted from your score on the graded problems.
Problem 1. (25 points) [Hennessy & Patterson 1.2] In this exercise, assume that we are
considering enhancing a machine by adding vector hardware to it. When a computation is run in
vector mode on the vector hardware, it is 10 times faster than the normal mode of execution. We
call the percentage of time that could be spent using vector mode the percentage of
vectorization. Vectors are discussed in Appendix G, but you don’t need to know anything about
how they work to answer this question!
(a) Draw a graph that plots the speedup as a percentage of the computation performed in vector
mode. Label the y-axis “Net speedup” and label the x-axis “Percent vectorization.”
(b) What percentage of vectorization is needed to achieve a speedup of 2?
(c) What percentage of the computation run time is spent in vector mode if a speedup of 2 is
achieved?
(d) What percentage of vectorization is needed to achieve one-half the maximum speedup
attainable from using vector mode?
(e) Suppose you have measured the percentage of vectorization for programs to be 70%. The
hardware design group says they can double the speed of the vector hardware with a significant
additional engineering investment. You wonder whether the compiler crew could increase the
use of vector mode as another approach to increasing performance. How much of an increase in
the percentage of vectorization (relative to current usage) would you need to obtain the same
performance gain as doubling vector hardware speed? Which investment would you
recommend?
Problem 2. (15 points) [Hennessy & Patterson 1.16] Three enhancements with the following
speedups are proposed for a new architecture:
Speedup 1 = 30
Speedup 2 = 20
Speedup 3 = 15
Only one enhancement is usable at a time.
(a) If enhancements 1 and 2 are each usable for 25% of the time, what fraction of the time must
enhancement 3 be used to achieve an overall speedup of 10?
(b) Assume the enhancements can be used 25%, 35%, and 10% of the time for enhancements
1, 2, and 3, respectively. For what fraction of the reduced execution time is no enhancement in
use?
(c) Assume, for some benchmark, the possible fraction of use is 15% for each of enhancements
1 and 2 and 70% for enhancement 3. We want to maximize performance. If only one
enhancement can be implemented, which should it be? If two enhancements can be
implemented, which should be chosen?
–1–
Problem 3. (20 points) If a program currently takes 100 seconds to execute and loads and
stores account for 20% of the execution times:
(a) How long will the program take if loads and stores are made 30% faster?
(b) What is the maximum speedup that can be achieved by improving the performance of loads
and stores?
(c) Explain your results in terms of Amdahl’s law.
Problem 4. (20 points) Consider the following execution times for two programs on three
different computers.
Computer A Computer B Computer C
Program 1 (sec)
50
20
1
Program 2 (sec)
50
100
200
Total Execution Time (sec)
100
120
201
Assume the two programs each execute 100 million floating-point operations during execution.
(a) Calculate the MFLOPS rating of each program.
(b) Which computer is faster?
–2–
Download