The Enhancement of Indirect Branch Prediction Accuracy via Double Return Address Stack

이중 함수 복귀 스택의 활용을 통한 간접 분기 명령어의 예측 정확도 향상 기법

  • Kwak, Jong-Wook (Department of Computer Engineering Yeungnam University) ;
  • Kim, Ju-Hwan (SOC Development Team, Semiconductor Business, Samsung Electronics)
  • 곽종욱 (영남대학교 컴퓨터공학과) ;
  • 김주환 (삼성전자 반도체사업부 SOC 개발실)
  • Published : 2011.06.29

Abstract

함수 복귀 예측은 이론적으로 오버플로가 발생하지 않는 한도 내에서 100%의 정확도를 보여야 한다. 하지만, 투기적 실행을 지원하는 현대 마이크로프로세서 환경 하에서는 잘못된 실행 경로로의 수행 결과를 무효화 할 때 RAS의 오염이 발생하며, 이는 함수 복귀 주소의 예측 실패로 이어진다. 본 논문에서는 이러한 RAS의 오염을 방지하기 위하여 RAS 재명명 기법을 제안한다. RAS 재명명 기법은 RAS의 스택을 소프트 스택과 하드 스택으로 나누어 관리한다. 소프트 스택은 투기적 실행에 의한 데이터의 변경을 복구할 수 있는 항목을 관리하고, 하드 스택은 소프트 스택의 크기 제한으로 겹쳐쓰기가 일어나는 데이터 가운데 이후에 재사용될 데이터를 관리하는 구조로 구성된다. 제안된 기법을 모의실험 한 결과, RAS 오염방지 기법이 적용되지 않은 시스템과 비교하여 함수 복귀 예측 실패를 약 1/90로 감소시켰으며, 최대 6.95%의 IPC 향상을 가져왔다.

Keywords