3.142.119.241
3.142.119.241
close menu
분기 명령어의 조기 예측을 통한 예측지연시간 문제 해결
Early Start Branch Prediction to Resolve Prediction Delay
곽종욱 ( Jong Wook Kwak ) , 김주환 ( Ju Hwan Kim )
UCI I410-ECN-0102-2012-000-001170146

정교한 분기 예측기의 설계는 오늘날의 프로세서 성능 향상에 중요한 역할을 하게 되었다. 분기 예측의 정확도가 더욱 더 중요해 지면서 정확도의 향상을 위한 다수의 기법들이 제안되었지만, 기존의 연구들은 예측 지연 시간을 간과하는 경향이 있었다. 본 논문에서는 예측 지연 시간 문제를 해결하고자 조기 예측 기법 (ESP, Early Start Prediction)을 제안한다. 조기 예측 기법은 분기 예측에 있어서 활용되는 분기 명령어의 주소 대신 그것과 일대일 대응이 되는 기본 블록의 시작 주소 (BB_SA, Basic Block Start Address)를 이용한다. 즉, 분기 명령어의 주소가 사용되는 기존의 환경에서, BB_SA를 활용하여 조기 예측을 시작함으로써, 예측 지연 시간을 숨긴다. 또한 제안된 기법은 짧은 간격 숨김 기법(short interval hiding technique)을 통해 보다 더 나은 성능 향상을 기대할 수 있다. 실험 결과 본 논문에서 제안된 기법은 예측 지연 시간을 줄임으로써, 예측 지연 시간이 1 사이클인 이상적인 분기 예측기의 성능에 0.25% 이내로 근접한 IPC 결과를 얻었다. 또한 기본 블록의 시작주소와 분기 명령어 사이에 짧은 간격을 가질 경우에 대한 개선 방법을 추가적으로 적용시킬 경우, 기존의 방식과 비교하여 평균 4.2%, 최대 10.1%의 IPC 향상을 가져왔다.

Precise branch prediction is a critical factor in the IPC Improvement of modern microprocessor architectures. In addition to the branch prediction accuracy, branch prediction delay have a profound impact on overall system performance as well. However, it tends to be overlooked when the architects design the branch predictor. To tolerate branch prediction delay, this paper proposes Early Start Prediction (ESP) technique. The proposed solution dynamically identifies the start instruction of basic block, called as Basic Block Start Address (BB_SA), and the solution uses BB_SA when predicting the branch direction, instead of branch instruction address itself. The performance of the proposed scheme can be further improved by combining short interval hiding technique between BB_SA and branch instruction. The simulation result shows that the proposed solution hides prediction latency, with providing same level of prediction accuracy compared to the conventional predictors. Furthermore, the combination with short interval hiding technique provides a substantial IPC improvement of up to 10.1%, and the IPC is actually same with ideal branch predictor, regardless of branch predictor configurations, such as clock frequency, delay model, and PHT size.

[자료제공 : 네이버학술정보]
×