기글 하드웨어 위키는 일정 레벨을 충족하는 회원분들께서 직접 참여하실 수 있는 공간입니다. 컴퓨터, 하드웨어, 소프트웨어, 각종 디지털 기기, 즉 IT 관련 정보만 올릴 수 있습니다. 여기에 해당되지 않는 항목은 삭제하고 이용에 재재가 주어집니다.
IPC(Instruction Per Clock)
조회 수 7670 추천 수 0 2013.08.31 15:58:09IPC(Instruction Per Clock or Cycle)는 1 클럭 사이클에 수행되는 명령의 수를 의미한다. 일반적으로 CPI(Clock Per Instruction)의 역수로 정의한다. CPI는 한 명령에 수행되는 클럭 사이클의 수를 의미한다.
프로세서는 본래 이상적으로 1 사이클에 1개의 명령 수행만이 가능했으나, 현대에 오면서 슈퍼스케일러(superscalar)와 비순차 수행(OoOE) 기술 덕분에 1 사이클에 1개 이상의 명령 수행이 가능해졌다. 이들 기술은 x86에서는 인텔의 P6 아키텍쳐가 탑재된 펜티엄 pro와, AMD의 K5에 처음 적용되었다. 즉 IPC가 1 이상의 값을 가지는 프로세서가 나타나기 시작한 것이다.
IPC 값에 영향을 주는 요인으로는 프로세서의 슈퍼스케일러 파이프라인의 효율적인 구성과, 넓은 백엔드 자원 및 프론트엔드 리오더 버퍼, 그리고 낮은 명령 레이턴시, 현재 프로그램에 분포된 명령들의 유형 등이 있다. 명령마다 필요한 클럭 사이클의 수가 제각각이므로 IPC는 사용하는 프로그램마다 달라질 수 있으며 일반적으로는 Pin같은 instrumentation 툴을 써서 instruction count의 산술평균이나 가중산술평균을 계산하거나 VTune같은 프로파일러를 사용해 계산한다.