Page table pointer caches are a hardware supplement for TLBs that cache pointers to pages of page table entries rather than page table entries themselves. A PTPC traps and handles most TLB misses in hardware with low overhead (usually a single memory access). PTPC misses are lled in software, allowing for an easy hardware implementation, similar in structure to a TLB. Since each PTPC entry refers to an entire page of page table entries, even a small PTPC maps a large amount of address space and achieves a very high hit rate. The primary goal of a PTPC is to lower TLB miss handling penalties. The combination of a TLB with a small PTPC provides good performance even in situations where standard TLBs alone perform badly (large workloads or multimedia applications). The advantage of this design is that we can continue to use small xed size pages with standard TLBs. Since PTPCs use traditional page table structures and page sizes, they are very simple to implement in hardware and require minimal operating system modiications. Our simulations show that the addition of a PTPC to a system with a TLB can reduce miss handling costs by nearly an order of magnitude. Small PTPCs are extremely eeective and the combination of small to medium sized TLBs coupled with small PTPCs are an eecient alternative to large TLBs.
[1]
Michael D. Smith,et al.
Tracing with Pixie
,
1991
.
[2]
Brian N. Bershad,et al.
Reducing TLB and memory overhead using online superpage promotion
,
1995,
Proceedings 22nd Annual International Symposium on Computer Architecture.
[3]
M. Frans Kaashoek,et al.
Software prefetching and caching for translation lookaside buffers
,
1994,
OSDI '94.
[4]
Norman P. Jouppi,et al.
A simulation based study of TLB performance
,
1992,
ISCA '92.
[5]
Mark D. Hill,et al.
Surpassing the TLB performance of superpages with less operating system support
,
1994,
ASPLOS VI.
[6]
J. Bradley Chen,et al.
Memory Behavior for an X11 Window System
,
1994,
USENIX Winter.
[7]
Mark D. Hill,et al.
Tradeoffs in supporting two page sizes
,
1992,
ISCA '92.
[8]
Jerry Huck,et al.
Architectural support for translation table management in large address space machines
,
1993,
ISCA '93.
[9]
Randy H. Katz,et al.
An in-cache address translation mechanism
,
1986,
ISCA '86.
[10]
Mark D. Hill,et al.
A new page table for 64-bit address spaces
,
1995,
SOSP.
[11]
Trevor N. Mudge,et al.
Design tradeoffs for software-managed TLBs
,
1994,
TOCS.