A near-optimal instruction scheduler for a tightly constrained, variable instruction set embedded processor

  • Authors:
  • Jack Liu;Fred Chow

  • Affiliations:
  • Cognigine Corporation, Fremont, CA;Cognigine Corporation, Fremont, CA

  • Venue:
  • CASES '02 Proceedings of the 2002 international conference on Compilers, architecture, and synthesis for embedded systems
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes the implementation of an instruction scheduler that produces near-optimal results by efficiently enumerating all possible schedules. The scheduler is implemented in the context of an embedded processor that allows compile-time configuration of the instruction set to use for each program, where the need to adhere to the tight and irregular hardware constraints were the original motivation for using this approach. We present techniques that speed up the enumeration process by coming up with good initial lower bound estimates for the schedules and by pruning off large areas of the search space through implicit enumeration. In the process, we found that taking the hardware constraints into account actually helps in speeding up the enumeration. We provide performance data that show that the enumeration approach is superior to heuristics-based approaches like list scheduling for our target processor. The data also show that the compile-time overhead associated with enumeration can be effectively contained. This justifies the deployment of enumeration-based instruction schedulers in commercial compilers targeting embedded processors with similar tight constraints.