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–