라이트 백 캐쉬를 위한 빠른 라이트 백 기법

The Early Write Back Scheme For Write-Back Cache

  • 발행 : 2009.11.25

초록

일반적으로 3차원 그래픽 깊이 캐쉬와 픽셀 캐쉬는 메모리 대역폭의 효율적인 사용을 위하여 라이트 백(write-back) 캐쉬로 설계된다. 또한 3차원 그래픽 특성상 캐쉬 읽기 접근을 시도한 주소에 대한 캐쉬 쓰기 접근 혹은 읽기 접근이 발생하지 않고 캐쉬 쓰기 접근만 발생하는 경우가 많다. 캐쉬 메모리의 모든 블록이 사용되고 있는 상태에서 캐쉬 접근 실패가 발생하면 캐쉬 메모리 한 블록이 교체 알고리즘(replacement algorithm)에 의하여 한 블록을 라이트 백 동작을 실행하고 그 블록에 다른 데이터를 저장한다. 이러한 캐쉬 접근 실패 발생은 방출되는 캐쉬 메모리 한 블록의 데이터를 저장하기 위한 외부 메모리 쓰기 접근과 캐쉬 접근 실패를 처리하기 위한 외부 메모리 접근을 동시에 발생시킨다. 따라서 연속적인 캐쉬 접근 실패가 발생하는 경우 다량의 메모리 읽기와 쓰기 접근이 동시에 발생되어 메모리 병목현상을 유발시키고 이는 결국 메모리 접근 소요 시간을 길어지게 한다. 이와 같이 연속적인 캐쉬 접근 실패는 캐쉬를 사용하는 프로세서나 IP의 성능 저하와 전력소비 증가를 유발한다. 본 논문에서는 캐쉬 사용 시 발생하는 메모리 병목현상을 최소화하기 위하여 빠른 라이트 백이라는 새로운 방법을 사용하였다. 이 방법은 캐쉬 메모리 블록에 들어있는 유효 데이터를 방출하는 시점을 조절하여 외부 메모리 접근이 다량으로 몰리는 것을 방지하는 것이다. 즉 같은 메모리 용량과 접근 성공율을 가지는 캐쉬의 성능을 증가시킬 수 있는 방법이다. 이를 통하여 메모리 병목 현상을 완화시킬 수 있고 또한 캐쉬 접근 실패 시 소요되는 평균 메모리 접근 소요시간을 줄일 수 있다. 이러한 새로운 캐쉬 구조를 위한 실험은 ARM11, 3차원 그래픽 가속기 및 다양한 IP들이 내장되어 있는 SoC 환경에서 3차원 그래픽 가속기의 깊이 캐쉬와 픽셀 캐쉬에 적용하여 진행하였으며 여러 가지 실험 벡터를 이용하여 결과를 측정하였을때 성능을 향상시킬 수 있다.

Generally, depth cache and pixel cache of 3D graphics are designed by using write-back scheme for efficient use of memory bandwidth. Also, there are write after read operations of same address or only write operations are occurred frequently in 3D graphics cache. If a cache miss is detected, an access to the external memory for write back operation and another access to the memory for handling the cache miss are operated simultaneously. So on frequent cache miss situations, as the memory access bandwidth limited, the access time of the external memory will be increased due to memory bottleneck problem. As a result, the total performance of the processor or the IP will be decreased, also the problem will increase peak power consumption. So in this paper, we proposed a novel early write back cache architecture so as to solve the problems issued above. The proposed architecture controls the point when to access the external memory as to copy the valid data block. And this architecture can improve the cache performance with same hit ratio and same capacity cache. As a result, the proposed architecture can solve the memory bottleneck problem by preventing intensive memory accesses. We have evaluated the new proposed architecture on 3D graphics z cache and pixel cache on a SoC environment where ARM11, 3D graphic accelerator and various IPs are embedded. The simulation results indicated that there were maximum 75% of performance increase when using various simulation vectors.

키워드

참고문헌

  1. Z.S, Hakura and A. Gupta, "The design and analysis of a cache architecture for texture mapping" Proceeding of the 24th International Symposium on Computer Architecture, pp. 108-120,June 1997
  2. Kil-Whan Lee, Woo-Chan Park, ll-San Kim, and Tack-Don Han, "A Pixel Cache Architecture with Selective Placement Scheme based on Z-test Result," Microprocessors and Microsystems, Vol. 29, Issue. 1, pp. 41-46, Feb. 2005 https://doi.org/10.1016/j.micpro.2004.05.004
  3. Woo-Chan Park, Kil-Whan Lee, ll-San Kim, Tack-Don Han, and Sung-Bong Yang, "An Effective Pixel Rasterization Pipeline Architecture for 3D Rendering Processors," IEEE Transactions on Computers, Vol. 52, No. 11, pp. 1501-1508, Nov. 2003 https://doi.org/10.1109/TC.2003.1244948
  4. Tomas Akenine-Mb.ller, Eric Haines, "RealTime Rendering," A K PETERS, 2002
  5. H. Igehy, M. Eldridge, and K. Proudfoot, "Pre-fetching in a texture cache architecture" Proceedings of 1998 SIGGRAPH/Eurographics Workshop on Graphics Hardware, pp. 133-142, Aug 1998
  6. Yong Surk Lee, "A Secondary Cache Controller Design for a Hign-End lVIicroprocessor", IEEE Journal of Solid-State Circuits, Vol. 27, No.8, pp1147-1146, August, 1992 https://doi.org/10.1109/4.148323