초록
슈퍼스칼라 프로세서에서 명령어 수준 병렬성(Instruction Level Parallelism)을 적극적으로 활용하기 위해서는 명령들 사이에 존재하는 제어 종속관계 및 데이타 종속관계를 극복하는 것이 필수적이다. 데이타 값 예측은 하나의 명령 결과가 생성되기 전에 미리 결과 값을 예측하고 이 예측된 결과를 사용하여 데이타 종속관계가 있는 명령들을 투기적으로 실행(speculative execution)하는 기법이다. 본 논문에서는 동적 분류 능력을 갖는 혼합형 데이타 값 예측기를 제안한다. 제안된 예측기는 최근 값 예측기, 스트라이드 예측기 및 2 단계 예측기를 결합한 혼합형으로 구성되며, 예측되는 명령은 하드웨어에 의한 동적 분류에 의해 각 예측기로 할당된다. 각 명령들의 특성에 따라 각 예측기로 실행 시에 동적 분류됨으로써 각 예측기는 기존의 혼합형 방식보다도 더욱 효과적으로 활용될 수 있다. 제안된 방식의 타당성 검증을 위해 실행구동방식(execution-driven) 시뮬레이터를 사용하여 SPECint95 벤치마크를 시뮬레이션하여 비교한다. 실험 결과 Instruction Per Cycle 비교실험에서 2 단계 예측기 보다 0.36, 혼합형 예측기 보다 0.0l8의 성능을 보였고, 제안된 방식이 기존의 혼합형 방식보다 예측 정확도가 평균 16%가 향상되었고, 하드웨어 비용을 측정한 결과 45%의 감소효과를 얻었다.
To achieve high performance by exploiting instruction level parallelism aggressively in superscalar processors, it is necessary to overcome the limitation imposed by control dependences and data dependences which prevent instructions from executing parallel. Value prediction is a technique that breaks data dependences by predicting the outcome of an instruction and executes speculatively its data dependent instruction based on the predicted outcome. In this paper, a hybrid value prediction scheme with dynamic classification mechanism is proposed. We design a hybrid predictor by combining the last predictor, a stride predictor and a two-level predictor. The choice of a predictor for each instruction is determined by a dynamic classification mechanism. This makes each predictor utilized more efficiently than the hybrid predictor without dynamic classification mechanism. To show performance improvements of our scheme, we simulate the SPECint95 benchmark set by using execution-driven simulator. The results show that our scheme effect reduce of 45% hardware cost and 16% prediction accuracy improvements comparing with the conventional hybrid prediction scheme and two-level value prediction scheme.