An Analytical Approach to Scheduling Code for Superscalar and VLIW Architectures

  • Authors:
  • Shyh-Kwei Chen;W. Kent Fuchs;Wen-Mei W. Hwu

  • Affiliations:
  • University of Illinois at Urbana-Champaign, USA;University of Illinois at Urbana-Champaign, USA;University of Illinois at Urbana-Champaign, USA

  • Venue:
  • ICPP '94 Proceedings of the 1994 International Conference on Parallel Processing - Volume 01
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

Superscalar and Very Long Instruction Word (VLIW) architectures exploit fine-grain parallelism to achieve better performance. Static scheduling techniques, such as trace scheduling [1] and superblock scheduling [2], can effectively produce compact code for these architectures. In this paper, we present an analytical approach for bookkeeping in code scheduling that alleviates the coding complexity and instruction duplication limitations of the previous approaches. We describe techniques that allow instructions to be moved around loop and if-then-else constructs using global information. We also show that according to the classification of the register sets, certain instructions can be moved around subroutine calls, since their register live ranges can be predetermined across the procedural boundaries at compile time. Performance is compared with respect to the speed-up, the code size and the scheduling time. Experimental results indicate that the code growth and the speed-up are both improved with a small increase in scheduling time.