Trace cache: a low latency approach to high bandwidth instruction fetching

  • Authors:
  • Eric Rotenberg;Steve Bennett;James E. Smith

  • Affiliations:
  • Computer Science Dept., Univ. of Wisconsin - Madison;Intel Corporation;Dept. of Elec. and Comp. Engr., Univ. of Wisconsin - Madison

  • Venue:
  • Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture
  • Year:
  • 1996

Quantified Score

Hi-index 0.04

Visualization

Abstract

As the issue width of superscalar processors is increased, instruction fetch bandwidth requirements will also increase. It will become necessary to fetch multiple basic blocks per cycle. Conventional instruction caches hinder this effort because long instruction sequences are not always in contiguous cache locations. We propose supplementing the conventional instruction cache with a trace cache. This structure caches traces of the dynamic instruction stream, so instructions that are otherwise noncontiguous appear contiguous. For the Instruction Benchmark Suite (IBS) and SPEC92 integer benchmarks, a 4 kilobyte trace cache improves performance on average by 28% over conventional sequential fetching. Further, it is shown that the trace cache's efficient, low latency approach enables it to outperform more complex mechanisms that work solely out of the instruction cache.