CPU Execution time
MIPS, MFOPS
Arithmetic mean, Harmonic mean, Geometric mean
Spent actual CPU time from start to completion on a given program
- 낮을 수록 좋음
- Unpredictable because it includes everything
Clock Cycle (Hz) : Program을 처리하는데 CPU가 몇개의 Clock을 사용하는지를 나타낸다.
- IC x CPI
- 낮을 수록 좋음
Clock Cycle Time(Clock Period) : 하나의 Clock Cycle에 대한 수행시간을 의미한다.
- 낮을 수록 좋음
Clock Rate(Clock Frequency) : 초당 Cycle
- Reciprocal Relation with Clock Cycle Time
- Clock Cycle Time = 1 / Clock
- 높을 수록 좋음
- ex) 100Hz
-> 1초에 100개 싸이클 실행
-> 1개 싸이클에 대해서 수행시간은 1/100초
CPU Time = IC x CPI x Clock Cycle Time OR IC x CPI / Clock Rate
- IC : the number of instructions per program
- CPI : clock cycles per instruction
- AVG CPI : total CPU clock cycle / total instruction count
결론 : Performance 향상을 위해서 IC를 줄이고, 명령어 하나 당 필요한 cycle을 줄이고, clock cycle time을 줄여야한다!
Million Instructions Per Seconds 의 약어로 단위시간당 처리량을 기준으로 Performance 를 측정한다.
MIPS = IC / CPU Time x 10^6 or Clock Rate / CPI x 10^6
MIPS가 클수록 Performance가 우수하다고 볼 수 있으므로 직관적으로 이해하기 쉽다.
명령어의 처리 속도를 나타내고 있지만 명령어가 얼마나 많은 일을 수행하는지 알 수 없기 때문에 정확한 측정 방법은 아니다.
- SPEC : to measure CPU performance
- TPC : server benchmark for measuring trasaction performance
- 직접적인 해결방안 : 가장 빈번하게 사용되는 부분을 공략
- 1 - f : code that should be executed serially
- f / n : code that can be executed parallelly
- if n goes to infinity -> 1 / (1 - f)