Optimizing delayed branches

  • Authors:
  • Thomas R. Gross;John L. Hennessy

  • Affiliations:
  • Departments of Electrical Engineering and Computer Science, Stanford University;Departments of Electrical Engineering and Computer Science, Stanford University

  • Venue:
  • MICRO 15 Proceedings of the 15th annual workshop on Microprogramming
  • Year:
  • 1982

Quantified Score

Hi-index 0.01

Visualization

Abstract

Delayed branches are commonly found in micro-architectures. A compiler or assembler can exploit delayed branches. This is achieved by moving code from one of several points to the positions following the branch instruction. We present several strategies for moving code to utilize the branch delay, and discuss the requirements and benefits of these strategies. An algorithm for processing branch delays has been implemented and we give empirical results. The performance data show that a reasonable percentage of these delays can be avoided.