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%이상 감소하였다.