초록
캐쉬의 성능을 향상시키는 가장 효과적인 방법은 프로그램 수행 특성에 내재되어 있는 시간적 (temporal locality) 지역성과 공간적 지역성(spatial locality)을 활용하는 것이다. 본 논문은 프로그램 수행 특성에 적합한 시간적/공간적 지역성을 이용하기 위한 뱅크 선택 메커니즘을 가진 고성능 저전력 캐쉬 구조를 제안하였다. 제안하는 캐쉬 시스템은 다른 블록 크기와 다른 연관도를 가지는 두개의 캐쉬로 구성되어 진다. 즉 작은 블록 크기를 지원하는 직접사상 구조의 주 캐쉬(main direct-mapped cache)와 큰 블록을 지원하는 완전연관 버퍼 (fully associative buffer)로 구성되어 진다. 특히 주 캐쉬는 저전력을 위해 2-뱅크로 구성되며, 완전연관 버퍼에서 선택되어진 작은 블록은 제안된 뱅크 선택 알고리즘에 의해 주 캐쉬의 뱅크에 저장된다. 제안된 뱅크 선택 알고리즘과 3비트 상태 비트를 이용하여 시간적 지역성이 높은 데이터들을 주 캐쉬에 선택적으로 저장함으로써 고성능의 효과를 얻을 수 있었다. 제안된 알고리즘은 또한 충돌 미스 (conflict miss)와 캐쉬 오염 (cache pollution)을 효과적으로 줄여준다. 시뮬레이션 결과에 따르면, 평균 접근 실패율의 경우 Mibench 응용군에 대해 Victim 캐쉬에 비해 23%, STAS 캐쉬에 비해 32%의 감소효과를 보여준다. 평균 메모리 접근 시간의 경우 Victim 캐쉬에 비해 14%, STAS 캐쉬에 비해 18%의 감소효과를 얻을 수 있었다. 에너지 소비의 관점에서도 제안된 캐쉬 시스템은 Victim 캐쉬와 STAS 캐쉬에 비해 약 10% 감소 효과를 얻을 수 있었다.
One of the most effective way to improve cache performance is to exploit both temporal and spatial locality given by any program executive characteristics. In this paper we present a high performance and low power cache structure with a bank selection mechanism that enhances exploitation of spatial and temporal locality. The proposed cache system consists of two parts, i.e., a main direct-mapped cache with a small block size and a fully associative buffer with a large block size as a multiple of the small block size. Especially, the main direct-mapped cache is constructed as two banks for low power consumption and stores a small block which is selected from fully associative buffer by the proposed bank selection algorithm. By using the bank selection algorithm and three state bits, We selectively extend the lifetime of those small blocks with high temporal locality by storing them in the main direct-mapped caches. This approach effectively reduces conflict misses and cache pollution at the same time. According to the simulation results, the average miss ratio, compared with the Victim and STAS caches with the same size, is improved by about 23% and 32% for Mibench applications respectively. The average memory access time is reduced by about 14% and 18% compared with the he victim and STAS caches respectively. It is also shown that energy consumption of the proposed cache is around 10% lower than other cache systems that we examine.