시간이 중요하다.
결국 경과시간과 CPU시간은 다르다.
CPU 시간 = CPI * 명령어 수 * CPU 클럭 이다.
컴퓨터의 성능을 비교하는 기준으로 MIPS를 사용하는데는 세 가지 문제가 있다.
1) MIPS는 단순히 명령어를 실행하는 속도를 나타낼 뿐이지, 그 명령어 하나가 얼마나 많은 일을 수행하는지는 반영하지 못한다.
명령어의 집합이 다르면 명령어 개수가 달라지기 때문에 단순히 MIPS 값으로만 성능을 비교할 수는 없다.
2) 같은 컴퓨터에서도 어떤 프로그램을 실행하느냐에 따라 MIPS값은 달라진다. 그러므로 컴퓨터의 MIPS 값은 하나가 아니다.
3) MIPS가 컴퓨터 성능과 정반대로 나타나는 경우가 있다는 것이다.(FALSE)가 존재한다.
인스트럭션을 많이 실행한다고해서 실행시간이 빨라지는것은 아니기 때문이다.
실행시간이 20 초인게 350MIPS
실행시간이 30초인게 400MIPS
위와 같을 수 있다.
즉
인스트럭션은 아래의 것이 훨씬더 많이 실행하지만, 그래봐야 느리다는것이다.
근본적인 이유는 instruction은 모두 실행시간이 다 다르다. pipeline stall이나 cache miss와 같은 이유에서, 또한 MIPS는 프로그램마다 다르게 측정 되기 때문이다.
따라서 2개의 컴파일러를 비교할때 결국 다르고, 컴파일러가 다르면 같은 컴퓨터에서라도 제대로 측정이 안된다.
요점 정리
성능을 종합하는 측도라면 반드시 실행시간을 반영 해야 한다. 가중 산술평균은 실행 시간을 잘 반영하는 성능 측도이다. 각 프로그램의 실행시간이 다르더라도 가중치를 사용하면 모든 프로그램이 같은 비율로 반영되게 할 수 있다.
참고사이트: Wikipedia
'Computer Science > 컴퓨터 구조' 카테고리의 다른 글
Amdahl's law (0) | 2015.03.18 |
---|---|
Purpose of memory alignment (0) | 2014.11.25 |
4. 멀티 프로세서 (0) | 2013.06.09 |