Cache Architecture Design for the Performance Improvement of OpenRISC Core

OpenRISC 코어의 성능향상을 위한 캐쉬 구조 설계

  • Jung, Hong-Kyun (Graduate School of Information and Communication, Hanbat National University) ;
  • Ryoo, Kwang-Ki (Graduate School of Information and Communication, Hanbat National University)
  • 정홍균 (한밭대학교 정보통신전문대학원) ;
  • 류광기 (한밭대학교 정보통신전문대학원)
  • Published : 2009.01.25

Abstract

As the recent performance of microprocessor is improving quickly, the necessity of cache is growing because of the increase of the access time of main memory. Every block of direct-mapped cache maps to one cache line. Although the mapping rule is simple, if different blocks map to one cache line, the miss ratio will be higher than the set-associative cache due to conflicts. In this paper, for the improvement of the direct-mapped cache of OpenRISC, 4-way set-associative cache is proposed. Four blocks of the main memory of the proposed cache map to one cache line so that the miss ratio is less than the direct-mapped cache. Pseudo-LRU Policy, which is one of the Line Replacement Policies, is used for decreasing the number of bits that store LRU value. The OpenRISC core including the 4-way set-associative cache was verified with FPGA emulation. As the result of performance measurement using test program, the performance of the OpenRISC core including the 4-way set-associative cache is higher than the previous one by 50% and the decrease of miss ratio is more than 15%.

최근 마이크로프로세서의 성능이 빠르게 향상됨에 따라 주 메모리의 접근 시간이 증가하고 있어 캐쉬의 필요성이 증대되고 있다. 직접사상 캐쉬는 주 메모리의 각각의 블록이 하나의 캐쉬 라인에 사상되는 구조로서 사상되는 규칙이 간단하지만 서로 다른 블록이 하나의 캐쉬 라인에 사상될 경우 블록의 충돌에 의한 접근 실패율이 집합연관 캐쉬에 비해 높아진다. 본 논문에서는 OpenRISC 코어의 직접사상의 단점을 개선하기 위해 사원 집합연관 캐쉬 구조를 제시한다. 제시한 캐쉬는 주 메모리의 네 개의 블록이 하나의 캐쉬 라인에 사상되는 구조로서 직접사상 캐쉬에 비해 접근 실패율이 감소한다. 또한 라인 교체 방식으로 Pseudo-LRU 방식을 채택하여 LRU 정보를 저장하는 비트 수를 감소시켰다. FPGA 에뮬레이션을 이용하여 사원 집합연관 캐쉬를 포함한 OpenRISC 코어를 검증하였고, 테스트 프로그램을 이용하여 성능을 측정한 결과, 사원 집합연관 캐쉬를 포함한 OpenRISC 코어의 성능이 기존의 OpenRISC 코어의 성능에 비해 약 50% 향상되었고, 미스율은 15%이상 감소하였다.

Keywords

References

  1. 김동욱, 이준원, 박승규, '고속 RISC 프로세서를 위한 개상 캐쉬 구조', 정보과학회논문지, 제 23권 A편, 제9호, 887-898쪽, 1996년 9월
  2. David A Patterson, John L. Hennessy, 'Computer Organization and Design, 3rd Edition', Morgan Kaufmann Pub, p. 594, 2004
  3. William Stallings, 'Computer Organization and Architecture, 7th Edition', PrenticeHall, p.754, 2005
  4. 경종민, 박인철, '고성능 마이크로프로세서 구조 및 설계 방법', 대영사, p. 475, 2000
  5. Mark D. Hill, 'A case for direct-mapped caches', Computer, IEEE lNL, Volume 21, Issue 12, pp. 25-40, December, 1998 https://doi.org/10.1109/2.16187
  6. Chenxi Zhang, Xiaodong Zhang, Yong Yan, 'Two fast and high-associativity cache schemes', Micro, IEEE lNL, Volume 17, Iss 5, pp. 40-49, Sept. -Oct. 1997 https://doi.org/10.1109/40.621212
  7. Hsin-Chuan Chen, Jen-Shiun Chiang, 'Design of an adjustable-way set-associative cache', IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, Volume 1, pp. 315-318, August, 2001
  8. Damjan Lampret, OpenRISC1200 IP Core Specification Revision 0.7, p. 63, 2001
  9. Damjan Lampret, OpenRISC1000 Architecture Manual, p. 343, 2003
  10. Richard Herveille, WISHBONE System-On-Chip (SoC) Interconnection Architecture for Portable IP Cores, p. 140, September, 2002
  11. 이종익, 손승일, 이문기, '캐쉬 메모리에서 True-LRU 알고리즘과 Pseudo-LRU 알고리즈므이 성능 비교' 정보과학회논문지 제23권 제11호, 1996, 11
  12. Nikitas Alexandridis, 'Design of Microprocessorbased systems', Prentice Hall, p. 541, 1993