성능 분석

프로그램의 CPU 실행 시간을 나타내는 기본 식으로 올바른 것은?

  1. A실행 시간 = 명령어 수 + CPI + 클럭 주파수
  2. B실행 시간 = 클럭 주파수 × 명령어 수
  3. C실행 시간 = 명령어 수 × CPI(명령어 1개당 평균 사이클 수) × 1사이클의 시간
정답과 해설 보기

정답: C. 실행 시간 = 명령어 수 × CPI(명령어 1개당 평균 사이클 수) × 1사이클의 시간

실행 시간은 실행하는 명령어의 수, 명령어 1개당 평균 몇 사이클이 걸리는지(CPI), 1사이클의 시간(클럭 주기 = 1÷주파수)의 곱으로 결정됩니다. 명령어 수는 주로 알고리즘, 컴파일러, ISA가, CPI는 마이크로아키텍처와 캐시 미스가, 사이클 시간은 회로와 제조 기술이 좌우합니다. 성능을 높이려면 세 요소 중 무엇을 얼마나 개선할지 생각해야 합니다.

  • A. 덧셈이 아니라 곱셈입니다.
  • B. 주파수가 높을수록 시간은 짧아지므로, 곱하는 것이 아니라 나눕니다.
  • C. 올바릅니다. 세 요소의 곱으로 결정됩니다.
이 분야 연습하기 분야로 돌아가기

성능 분석의 다른 문제

  1. 명령어 10억 개를 실행하는 프로그램을 평균 CPI가 2, 클럭 주파수가 2 GHz인 CPU에서 실행했다. 실행 시간은 얼마인가?
  2. CPU 설계 변경으로 클럭 주파수는 1.5배가 되었지만 CPI도 1.2배로 늘었다(명령어 수는 동일). 실행 속도는 원래의 몇 배가 되는가?
  3. 컴파일러의 새로운 최적화로 실행하는 명령어 수는 20% 줄었지만 평균 CPI가 10% 늘었다(주파수는 동일). 이 최적화의 효과로 올바른 것은?
  4. 어떤 프로그램의 명령어 비율이 정수 연산 50%(CPI 1), 로드와 스토어 30%(CPI 2), 분기 20%(CPI 5)였다. 평균 CPI는 얼마인가?
  5. CPU 성능을 「초당 실행할 수 있는 명령어 수(MIPS, 백만 명령어/초)」로 비교할 때의 주의점으로 올바른 것은?