The TLB slice—a low-cost high-speed address translation mechanism

  • Authors:
  • George Taylor;Peter Davies;Michael Farmwald

  • Affiliations:
  • MIPS Computer Systems, 930 Arques Avenue, Sunnyvale, CA;MIPS Computer Systems, 930 Arques Avenue, Sunnyvale, CA;MIPS Computer Systems, 930 Arques Avenue, Sunnyvale, CA

  • Venue:
  • ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
  • Year:
  • 1990

Quantified Score

Hi-index 0.01

Visualization

Abstract

The MIPS R6000 microprocessor relies on a new type of translation lookaside buffer — called a TLB slice — which is less than one-tenth the size of a conventional TLB and as fast as one multiplexer delay, yet has a high enough hit rate to be practical. The fast translation makes it possible to use a physical cache without adding a translation stage to the processor's pipeline. The small size makes it possible to include address translation on-chip, even in a technology with a limited number of devices.The key idea behind the TLB slice is to have both a virtual tag and a physical tag on a physically-indexed cache. Because of the virtual tag, the TLB slice needs to hold only enough physical page number bits — typically 4 to 8 — to complete the physical cache index, in contrast with a conventional TLB, which needs to hold both a virtual page number and a physical page number. The virtual page number is unnecessary because the TLB slice needs to provide only a hint for the translated physical address rather than a guarantee. The full physical page number is unnecessary because the cache hit logic is based on the virtual tag. Furthermore, if the cache is multi-level and references to the TLB slice are “shielded” by hits in a virtually indexed primary cache, the slice can get by with very few entries, once again lowering its cost and increasing its speed. With this mechanism, the simplicity of a physical cache can been combined with the speed of a virtual cache.