슈퍼스칼라 프로세서에서 값 예측을 이용한 모험적 실행의 전력소모 측정 및 분석

최근의 고성능 슈퍼스칼라 프로세서에서는 명령어 수준 병렬성(Instruction-Level Parallelism, ILP)의 장애가 되는 명령어 간의 데이타 종속관계를 극복하기 위해 명령의 결과 값을 미리 예측하여 종속명령들을 모험적으로 실행한다. 이러한 값 예측을 사용한 모험적 실행으로 성능은 향상되나 값 예측 테이블의 빈번한 참조와 갱신으로 부가적인 전력 소모를 요구한다. 본 논문에서는 값 예측으로 인한 성능향상과 부가적인 전력소모 간의 관계를 측정 분석한다. 또한 확신 카운터(confidence counter)를 사용한 값 예측 시도의 조정으로 모험적 실행의 정도를 조절하고, 예측 성공률이 높은 유용한 명령들만을 선택적으로 예측하여 성능을 유지하면서 부가 전력소모를 줄인다. 제안된 방식의 검증을 위해 사이클 수준 시뮬레이터에 전력소모 모델을 결합하여 프로세서의 기능수준 동작뿐만 아니라 프로세서의 전체 전력소모 및 사이클 당 전력소모도 측정할 수 있는 도구를 개발하여 검증한다.