Tom Kelliher, CS 220
Sept. 2, 2011
No additional reading.
Introduction.
Comparing performance.
Combinational and sequential logic.
What is super-pipelining?
Begin to finish time for a program, as measured by a ``wall clock.''Response time then includes:
System performance -- elapsed time (wall time) on an unloaded system. Accounts for everything (I/O, users, OS overhead).
CPU performance -- user CPU time. Best metric for comparing processors?
Equations:
Categorize instructions and then get CPI for each category.
How do we get instruction counts?
Influences on:
Static vs. dynamic counts.
Examples:
M1 has a clock rate of 500 MHz. The average number of cycles for each instruction class on M1 is a follows:
Class | CPI |
A | 1 |
B | 2 |
C | 3 |
D | 4 |
M2 has a clock rate of 750 MHz. The average number of cycles for each instruction class on M2 is a follows:
Class | CPI |
A | 2 |
B | 2 |
C | 4 |
D | 4 |
Assume that peak performance is defined as the fastest rate that a machine can execute an instruction sequence chosen to maximize that rate. What are the peak performances of M1 and M2 expressed as instructions per second?
Too cumbersome. Everyone's workload differs.
99% of execution time is in a single line of code! Designed to test memory system. Compiler performed a one-shot optimization to eliminate cache misses.