명령당 사이클 수

IT 위키
(CPU 성능 평가에서 넘어옴)
Cycles Per Instruction; CPI
명령어 한 개를 실행하는 데 걸리는 평균 클록 사이클 수
  • 프로그램이 실행한 전체 클록 사이클 수를 실행한 명령어 개수로 나눈 값이다.
  • 명령어마다 필요한 사이클 수가 다르므로 개별 명령어가 아니라 프로그램 단위의 평균값으로 다룬다.
  • 값이 작을수록 같은 클록으로 더 많은 명령어를 처리한다.
  • 역수를 IPC(Instructions Per Cycle)라 한다. CPI = 1 / IPC

CPU 성능식

[편집 | 원본 편집]
실행 시간 = 명령어 수(IC) × CPI × 클록 주기
  • 클록 주기는 클록 주파수의 역수이므로 아래와 같이도 쓴다.
실행 시간 = (명령어 수 × CPI) ÷ 클록 주파수
요소 주로 영향을 주는 것
명령어 수(IC) 프로그램이 실행하는 총 명령어 개수 명령어 집합(ISA), 컴파일러, 알고리즘
CPI 명령어당 평균 클록 사이클 수 명령어 집합, 마이크로아키텍처(파이프라인, 캐시)
클록 주기 클록 한 주기의 시간 반도체 공정, 회로 설계
  • 세 요소는 서로 독립이 아니다. RISC처럼 명령어를 단순하게 만들면 CPI는 낮아지지만 같은 일을 하는 데 필요한 명령어 수는 늘어난다.

계산 예

[편집 | 원본 편집]
  • 어떤 프로그램의 실행 시간이 10초였는데, 새 컴파일러가 명령어 수를 0.5배로 줄인 대신 CPI가 1.1배로 늘었다면
    • 실행 시간 = 10 × 0.5 × 1.1 = 5.5초
  • 클록 주파수가 같다면 실행 시간은 명령어 수와 CPI의 곱에 비례한다. 둘 중 하나만 보고 빨라졌다고 말할 수 없다.

관련 지표

[편집 | 원본 편집]
  • MIPS(Millions of Instructions Per Second) = 클록 주파수 ÷ (CPI × 106)
    • 초당 실행하는 명령어 수를 백만 단위로 나타낸 값
    • 명령어 하나가 하는 일의 양이 구조마다 다르므로 서로 다른 명령어 집합끼리 비교하는 데는 쓸 수 없다.
  • 파이프라인을 쓰면 이상적으로는 CPI가 1에 가까워지지만, 실제로는 파이프라인 해저드 때문에 1보다 크다.

같이 보기

[편집 | 원본 편집]