성능 분석

CPU에 내장된 성능 카운터(PMU)로 셀 수 있는 것의 예로 올바른 것은?

  1. A실행한 명령어 수, 캐시 미스 횟수, 분기 예측을 잘못한 횟수 등
  2. B프로그램을 작성한 사람의 수
  3. C키보드 키의 수
정답과 해설 보기

정답: A. 실행한 명령어 수, 캐시 미스 횟수, 분기 예측을 잘못한 횟수 등

성능 카운터는 CPU 안에서 일어난 여러 사건을 세는 하드웨어 카운터입니다. 사이클 수와 명령어 수로 IPC를 구할 수 있고, 각 단계의 캐시 미스, TLB 미스, 분기 예측 미스 등의 횟수도 알 수 있습니다. Linux의 perf 같은 도구로 프로그램을 실행하면서 셀 수 있으며, 시간이 걸리는 원인이 메모리인지, 분기인지, 계산 자체인지 구분하는 단서가 됩니다.

  • A. 올바릅니다. CPU 안에서 일어난 사건을 셉니다.
  • B. 사람의 수는 셀 수 없습니다.
  • C. 키보드와는 관계가 없습니다.
이 분야 연습하기 분야로 돌아가기

성능 분석의 다른 문제

  1. 성능 카운터로 측정했더니 어떤 프로그램의 IPC(1사이클당 명령어 수)가 0.3으로 매우 낮고, 마지막 단계 캐시의 미스가 많았다. 가장 가능성이 높은 상황과 대책의 조합은?
  2. 성능 카운터로 분기 예측 미스가 매우 많다는 것을 알았다. 개선 방법에 해당하는 것은?
  3. 성능 카운터를 사용한 톱다운 분석(Top-down Microarchitecture Analysis)에서 CPU의 명령어 처리 슬롯 사용 방식을 나누는 큰 분류로 올바른 것은?
  4. 프로그램이 느린데 CPU 사용률이 20% 정도로 낮았다. 가장 가능성이 높은 원인은?
  5. 어떤 프로그램이 계산 율속인지 메모리 율속인지 확인하는 방법으로 CPU 주파수를 바꿔 가며 실행 시간을 측정했다. 메모리 율속이라면 일반적으로 어떤 결과가 나오는가?