Performance Evaluation Theory Flashcards
How can we analyze if a processor X is faster than a processor Y?
We could either divide the execution time of Y by the execution time off X. or we could divide the performance of X by the performance of Y (performance is one above execution time)
What is the the execution time of a program?
The execution time of a program or the CPU time corresponds to the number of clock cycles times the time each clock cycle takes to complete
Based on how we calculate the CPU time, what are the means to reduce the execution time?
We could either reduce the number of clock cycles per program, reduce the clock period, and increase the clock frequency
What is the other possibility to calculate the CPU time?
The CPU time corresponds to the amount of seconds the processor takes per program. Therefore in order to calculate it, we count the number of instructions per program multiply it by the clocks per instructions and finally by the time each clock cycle takes to complete
How do we calculate the throughout of a processor?
The throughput or MIPS is calculated by the instruction count divided by the execution time times 10 to the 6.
Since the execution time corresponds to the instruction count times the CPI divided by the clock frequency the final way to calculate the MIPS is to divide the clock frequency by the CPI times 10 to 6
How do we evaluate the speed up of a enhancement?
In order to calculate the speed up, we divide the execution time without the enhancement by the execution time with the enhancement or the performance with the enhancement by the performance without the enhancement
How do we calculate the execution time of a processor with a certain enhancement?
The execution time of a possessor with any advancement is equal to the percentage of task that is not affected by enhancement times the previous execution time (the execution time without enhancement) plus the fraction of the task that is affected by the enhancement times the previous execution time divided by the speed up
What is the Amdahl’s law?
The Amdahl’s law says that the performance improvement obtainable from using some faster execution modes is limited by the fraction of the time that the faster mode is used
What is the impact of a pipeline in the throughput and execution time of processor?
Pipelining increases the CPU instruction throughput, but it does not reduce the execution time of a single instruction
Pipelining usually slightly increases the latency of each instructions due to imbalance among the pipeline stages and the overhead in the control of the pipeline
Why does imbalances among by blind stages reduces performance?
Imbalance among pipeline stages, reduces performance since the clock period cannot be shorter than the time needed for these lowest pipe stage.
What is the reason for pipeline overhead?
Pipeline overhead arises from pipeline register delay and clock skew
In a five stage pipeline. How do we account for stall cycles in the throughout calculation?
We add the stall cycles +4 (the amount of cycles to finish the last operation) to the clock cycles in the CPI calculation
What is the difference between calculating it throughout of a processor using the as asymptotic performance metric or not using it?
The difference is located on the CPI calculation, where the final clock cycles in order to finish the last operation execution, goes to zero as the number of instructions go to infinity, and therefore the CPI calculation relates to the amount of instructions and stall cycles
What is the ideal CPI of a pipeline processor, why it is not achievable, and how do we calculate it?
The ideal CPI on a pipeline processor would be one, but still scores the pipeline performance to degrade from the ideal performance
The calculation is: The Ideal CPI plus the stall cycles per instruction
Why does a processor stalls?
Due to structural, data or control hazards, or even due to memory stalls