Variable Input Gshare Predictor based on Interrelationship Analysis of Instructions

명령어 연관성 분석을 통한 가변 입력 gshare 예측기

  • 곽종욱 (영남대학교 전자정보공학부)
  • Published : 2008.07.31

Abstract

Branch history is one of major input vectors in branch prediction. Therefore, the Proper use of branch history plays a critical role of improving branch prediction accuracy. To improve branch prediction accuracy, this paper proposes a new branch history management policy, based on interrelationship analysis of instructions. First of all, we propose three different algorithms to analyze the relationship: register-writhing method, branch-reading method, and merged method. Then we additionally propose variable input gshare predictor as an implementation of these algorithms. In simulation part, we provide performance differences among the algorithms and analyze their characteristics. In addition, we compare branch prediction accuracy between our proposals and conventional fixed input predictors. The performance comparison for optimal input branch predictor is also provided.

분기 히스토리는 분기 예측기의 주된 입력 요소로 사용된다. 따라서 적절한 분기 히스토리의 사용은 분기 예측의 정확도 향상에 큰 영향을 미친다. 본 논문에서는 분기 예측의 정확도를 향상시키기 위한 방법의 하나로, 명령어의 연관성 분석을 통한 선별적 분기 히스토리 사용 기법을 제안한다. 우선, 본 논문에서는 명령어의 연관성을 분석하는 세 가지 서로 다른 알고리즘을 제안한다. 제안된 기법은 명령어의 레지스터 쓰기 연산에 기반하는 방법, 분기 명령어의 참조 레지스터에 기반하는 방법, 그리고 이들 두 가지 방식을 상호 결합하는 방법이다. 또한, 제안된 세 가지 알고리즘의 실질적 구현을 위해 이를 적용할 수 있는 가변 입력 gshare 예측기를 제안한다. 본 논문에서는 모의실험을 통해 세 가지 알고리즘의 특징 및 장단점을 비교 분석한다. 특히, 기존의 고정된 입력을 사용하는 방식과 비교하여 제안된 기법의 성능 향상의 정도를 분석하며, 사전 프로파일링을 통해 얻어진 최적의 입력에 대한 성능상의 차이도 소개한다.

Keywords