Abstract
In general, the hit ratio of the first level cache is one of the most important factors in determining the performance of computer systems. Prefetching from lower level memory structure is one of the most useful techniques for improving the hit ratio of the first level cache. In this paper, we propose a prefetch on continuous same page access (CSPA) scheme which improves the prefetch efficiency of the instruction cache and reduces prefetch cost at the same time. The proposed CSPA scheme traces the page addresses of executed instructions to count how many times the same memory page is accessed continuously. To increase the prefetch efficiency, the CSPA scheme initiates prefetch only if the number of accesses to the same page exceeds the threshold value. Generally, the size of a L1 cache block is smaller than that of a L2 cache block. Therefore, one L2 cache block contains a number of L1 cache blocks. To reduce the number of unnecessary accesses to the L2 cache due to prefetch, the CSPA scheme enables prefetch only when the missed L1 block and the prefetch L1 block are in the same L2 cache block, leading to reduced prefetch cost. According to our simulations, the proposed prefetching scheme improves the performance by up to 6.7%.
컴퓨터 시스템의 1차 캐쉬 적중률은 시스템의 성능을 평가함에 있어 가장 중요한 요소 중 하나이다. 하위 메모리 구조로부터 1차 캐쉬로의 선인출은 1차 캐쉬의 적중률을 증가시키기 위해 사용되는 대표적인 기술 중 하나이다. 본 논문에서는 명령어 캐쉬의 선인출 효율은 높이고 선인출에 소모되는 비용은 감소시키는 재 접근 페이지 선인출 정책을 제안하고자 한다. 재 접근 페이지 선인출 정책은 수행되는 명령어들의 소속 페이지를 추적하여, 이 정보를 바탕으로 일정 횟수 이상 같은 페이지를 접근하는 경우에 한하여 선인출을 수행함으로써, 명령어 캐쉬로의 선인출 횟수는 줄이고 선인출 성공률은 향상시킨다. 또한, 일반적인 컴퓨터 시스템에서 하나의 2차 캐쉬 블록에 여러 개의 1차 캐쉬 블록이 포함되는 특성을 이용하여 미스 블록과 선인출 블록이 같은 2차 캐쉬 블록에 포함된 경우로 선인출을 한정함으로써 선인출에 소모되는 비용을 줄인다. 모의 실험에 따르면 제안하는 구조는 최대 6.7%의 성능향상을 보인다.