성능 분석

컴파일러의 새로운 최적화로 실행하는 명령어 수는 20% 줄었지만 평균 CPI가 10% 늘었다(주파수는 동일). 이 최적화의 효과로 올바른 것은?

  1. ACPI가 늘었으므로 반드시 느려진다
  2. B실행 시간은 원래의 0.8배가 된다
  3. C실행 시간은 원래의 0.88배가 되어 빨라진다
정답과 해설 보기

정답: C. 실행 시간은 원래의 0.88배가 되어 빨라진다

실행 시간은 명령어 수와 CPI의 곱에 비례하므로 0.8×1.1=0.88배가 되어 약 12% 짧아집니다. 복잡한 명령어를 사용해 명령어 수를 줄이면 명령어 1개당 부담이 늘어나는 것처럼, 한 요소를 개선하면 다른 요소가 나빠지는 일은 흔합니다. CPI나 명령어 수 중 하나만 보고 판단하면 틀리기 쉬우므로 곱으로 비교하는 것이 중요합니다.

  • A. 명령어가 줄어든 폭이 더 크므로 전체적으로는 빨라집니다.
  • B. CPI의 증가를 빠뜨렸습니다.
  • C. 올바릅니다. 0.8×1.1=0.88입니다.
이 분야 연습하기 분야로 돌아가기

성능 분석의 다른 문제

  1. 어떤 프로그램의 명령어 비율이 정수 연산 50%(CPI 1), 로드와 스토어 30%(CPI 2), 분기 20%(CPI 5)였다. 평균 CPI는 얼마인가?
  2. CPU 성능을 「초당 실행할 수 있는 명령어 수(MIPS, 백만 명령어/초)」로 비교할 때의 주의점으로 올바른 것은?
  3. 성능 개선을 나타내는 「속도 향상률(스피드업)」을 구하는 방법으로 올바른 것은?
  4. 전체 처리의 50%를 차지하는 부분을 4배 빠르게 했다. 전체 속도 향상률은 얼마인가(암달의 법칙)?
  5. 전체 처리의 60%를 차지하는 부분만 빠르게 하여 전체를 2배 빠르게 하고 싶다. 그 부분을 몇 배 빠르게 해야 하는가?