Optimization of instruction fetch mechanisms for high issue rates

  • Authors:
  • Thomas M. Conte;Kishore N. Menezes;Patrick M. Mills;Burzin A. Patel

  • Affiliations:
  • Computer Architecture Research Laboratory, Department of Electrical and Computer Engineering, University of South Carolina, Columbia, South Carolina;Computer Architecture Research Laboratory, Department of Electrical and Computer Engineering, University of South Carolina, Columbia, South Carolina;Computer Architecture Research Laboratory, Department of Electrical and Computer Engineering, University of South Carolina, Columbia, South Carolina;Computer Architecture Research Laboratory, Department of Electrical and Computer Engineering, University of South Carolina, Columbia, South Carolina

  • Venue:
  • ISCA '95 Proceedings of the 22nd annual international symposium on Computer architecture
  • Year:
  • 1995

Quantified Score

Hi-index 0.01

Visualization

Abstract

Recent superscalar processors issue four instructions per cycle. These processors are also powered by highly-parallel superscalar cores. The potential performance can only be exploited when fed by high instruction bandwidth. This task is the responsibility of the instruction fetch unit. Accurate branch prediction and low I-cache miss ratios are essential for the efficient operation of the fetch unit. Several studies on cache design and branch prediction address this problem. However, these techniques are not sufficient. Even in the presence of efficient cache designs and branch prediction, the fetch unit must continuously extract multiple, non-sequential instructions from the instruction cache, realign these in the proper order, and supply them to the decoder. This paper explores solutions to this problem and presents several schemes with varying degrees of performance and cost. The most-general scheme, the collapsing buffer, achieves near-perfect performance and consistently aligns instructions in excess of 90% of the time, over a wide range of issue rates. The performance boost provided by compiler optimization techniques is also investigated. Results show that compiler optimization can significantly enhance performance across all schemes. The collapsing buffer supplemented by compiler techniques remains the best-performing mechanism. The paper closes with recommendations and suggestions for future.