1.6 Performance
- Defining Performance
- Two different measures of performance
- Execution/Response Time: Time between the start and completion of a task
- Throughput/Bandwidth: Total amount of work done in a given time
- Measuring Performance
- Program execution time is measured in seconds per program
- CPU Execution Time: Time the CPU spends computing for a specific task and does not include time spent waiting for I/O or running other programs as a CPU may work on more than one task at once
- User CPU Time: Time spent in the program
- System CPU Time: Amount of time running system calls
- Book uses system performance as CPU Time and performance to elapsed time on an unloaded system
- Clock Cycle/Period: Discrete time intervals a CPU works with
- CPU Performance and Its Factors
- Improve performance via decreasing # clock cycles
- Improve performance via decreasing clock cycle time
- Instruction Performance
- Another metric measures the performance in the amount of clock cycles required to run the program
- Average Clock Cycles per Instruction: CPI
- The Classic CPU Performance Equation
- Shows 3 different metrics for CPU time in terms of instruction count
- CPI can be obtained via software or hardware counters
- Instruction count depends on the architecture and not the implementation
- CPI depends on many things including memory design and processor structure and types of instructions that dominate execution
- Some CPUs vary the clock rate to save power
- Some instructions take < 1 CPI because things can be parallelized
-
1.7 The Power Wall
- Recently we have reached the practical power limit for cooling commodity microprocessors
- Therefore the clock rate has been increasing slowly and companies are focusing more on the decrease of power consumption
- Energy usage is better measured joules than watts (joules/second)
- In CMOS transistors, primary energy consumption is dynamic energy
- Dynamic Energy: Energy used from switching between 0-1
- Dynamic energy depends on the capacitive loading of each transistor and voltage applied
- Energy is proportional to Capacitive Load * Voltage^2
- This equation is the energy of a pulse: 0->1->0 or 1->0->1
- The energy of a single transition is
- 1/2 Capacitive Load * Voltage^2
- Power Single Transition=CV^2/2 * Frequency Switched
- Frequency switched is a function of clock rate
- Capacitive load per transistor is a function of both # transistors connected to output (fanout) and the technology used
- The reason why processor speeds used to grow much faster than power consumption is because power is a function of voltage^2 which was reduced at about 15% per generation