초록
비록 멀티 페이지 TLB는 성능을 향상시키는데 효과적이지만, 운영체제의 도움을 통한 기존의 방법은 사용자 응용 프로그램에서는 멀티 페이지를 사용할 수 없는 치명적인 단점을 가진다. 이에 본 논문에서는 운영체제의 지원 없이 멀티 페이지를 이용하여 고성능과 저전력을 얻을 수 있는 새로운 멀티 TLB 구조를 제안한다. 제안된 TLB는 작은 페이지를 위한 TLB와 큰 페이지를 위한 TLB로 구성되며, 모두 완전연관 뱅크 구조를 가지고 있다. 작은 페이지를 지원하는 S-TLB(Small TLB)는 큰 페이지를 지원하는 L-TLB(Large TLB)에서 추출된 작은 페이지를 저장하게 되며, L-TLB는 CPU로부터 요청된 작은 페이지를 포함한 큰 가상 페이지 주소를 저장하게 된다. CPU가 요청한 가상주소의 특별한 한 비트와 두 비트를 이용하여 S-TLB와 L_TLB의 각각의 하나의 뱅크만이 접근되며, 동시에 접근되는 엔트리 수 감소에 의해 에너지 소비를 줄일 수 있다. 또한 본 논문에서 효과적인 성능향상을 위해 간단한 1비트 LRU 정책을 제안하였다. 제안된 LRU 정책은 각 TLB 엔트리에 추가적인 1 비트를 사용하여 최근에 참조된 블록을 나타낸다. 이 방법은 간단하게 L-TLB로부터 가장 최근에 참조된 페이지를 선택할 수 있다. 시뮬레이션 결과에 따르면, 제안된 구조는 완전연관 사상 TLB, Dual TLB 그리고 ARM TLB에 비해 76%, 57%, 그리고 6%의 에너지*지연시간을 줄일 수 있었다.
Even though the multiple pages TLB are effective in improving the performance, a conventional method with OS support cannot utilize multiple page sizes in user application. Thus, we propose a new multiple-TLB structure supporting multiple page sizes for high performance and low power consumption without any operating system support. The proposed TLB is organised as two parts of a S-TLB(Small TLB) with a small page size and a L-TLB(Large TLB) with a large page size. Both are designed as fully associative bank structures. The S-TLB stores small pages are evicted from the L-TLB, and the L-TLB stores large pages including a small page generated by the CPU. Each one bank module of S-TLB and L-TLB can be selectively accessed base on particular one and two bits of the virtual address generated from CPU, respectively. Energy savings are achieved by reducing the number of entries accessed at a time. Also, this paper proposed the simple 1-bit LRU policy to improve the performance. The proposed LRU policy can present recently referenced block by using an additional one bit of each entry on TLBs. This method can simply select a least recently used page from the L-TLB. According to the simulation results, the proposed TLB can reduce Energy * Delay by about 76%, 57%, and 6% compared with a fully associative TLB, a ARM TLB, and a Dual TLB, respectively.