DOI QR코드

DOI QR Code

Multi-Strided Prefetching Using Adjacent Region Table

인접 영역 테이블을 이용한 다중 간격 프리페치 기법

  • Shim, Jae-Seong (School of Electrical & Electronic Engineering, Yonsei University) ;
  • Jun, Ho-Yoon (School of Electrical & Electronic Engineering, Yonsei University) ;
  • Lee, Yong-Surk (School of Electrical & Electronic Engineering, Yonsei University)
  • 심재성 (연세대학교 전기전자공학과) ;
  • 전호윤 (연세대학교 전기전자공학과) ;
  • 이용석 (연세대학교 전기전자공학과)
  • Published : 2014.11.05

Abstract

프로세서와 메모리 간의 속도 차이로 인해 메모리 시스템의 성능 향상이 프로세서의 성능을 높이기 위한 중요한 요인이 되었고, 이를 위해 캐시 미스율을 감소시키는 방법이 연구되고 있다. 데이터 프리페치는 캐시의 미스율을 감소시키는 기법 중 하나이며 실제로 최근 프로세서에서 메모리 시스템의 성능을 향상시키기 위해 사용된다. 데이터 프리페치를 효과적으로 수행하기 위해서 메모리 주소의 접근 패턴을 파악하는 것이 중요하며, 이를 위해 순차적으로 접근하는 경우, 한 종류의 1 보다 크거나 같은 간격(stride)으로 뛰면서 접근하는 경우, 다수의 간격이 규칙적으로 반복되며 접근하는 경우 등의 다양한 패턴을 찾는 프리페치 기법들이 등장했다. 본 논문에서 소개하는 다중 간격 프리페치의 경우, 메모리 공간을 메모리 주소의 일부 상위 비트를 통해 여러 개의 영역으로 나누고, 하나의 패턴을 하나의 영역 안에서만 학습하여, 다른 영역에 속한 메모리 주소 접근 시 현재 학습하는 패턴에 어긋나는 주소라고 여기기 때문에 학습을 방해하지 않도록 하였다. 그러나 이 방법은 영역의 크기보다 같은 패턴을 갖는 메모리 주소 스트림의 크기가 더 클 때, 접근 주소의 영역이 바뀜으로 인해 불필요한 학습을 추가적으로 해야 하는 문제점이 있다. 이에 본 논문에서 인접 영역 테이블(ART: Adjacent Region Table)을 이용하여 같은 패턴을 갖는 메모리 접근 스트림의 크기가 영역의 크기보다 클 경우, 기존의 학습된 패턴대로 프리페치를 수행할 수 있도록 하였다. 본 논문에서 제안한 알고리즘으로 실험한 결과, 기존의 다중 간격 프리페치보다 캐시 미스율을 약 6.7% 낮췄고, 시스템 전체의 성능의 지표인 IPC의 경우, 약 5.78% 높아지는 성능 향상의 결과를 얻었다.

Keywords