Steven Roos       


Scheduling for arbitrarily connected VLIW architectures

 

Background

A traditionally built VLIW processor has a central register file that is connected to all functional units (FU's). This is not the most efficient way to build a processor. The multi-ported register file and the long, heavily loaded busses in the internal bypass network are large, slow, and power hungry.

A partially connected architecture is a VLIW architecture in which some (many) of the internal connections have been removed in order to reduce their negative effect on the performance and costs. It is however commonly assumed that code generation for such architectures is prohibitively difficult.

The goal of this project is to show that a more efficient hardware design is indeed a feasible option. The main focus is on the back-end of the compiler: the scheduling stage. For the code generation for hardware efficient VLIW's, it is necessary that the scheduler can deal with the restrictions imposed by the limited connectivity.

The final goal is to design a scheduling method that can deal with arbitrarily connected VLIW's, and to prove that the method works and has a competitive performance. When this goal has been achieved, it will be possible to design a class of processor architectures that is far more efficient in hardware and therefore gives a better performance than the current generation VLIW's.
 

Status

A scheduling method for arbitrarily connected VLIW architectures has been designed. It splits the scheduling into a placement stage and a routing stage. The routing algorithm in the second stage is based on a network flow model of all communication resources in the processor. This model also guides the placement of operations in the first stage.

This method has been implemented in a scheduler. Given a machine description (in a file), the scheduler can schedule single basic blocks with a reasonable performance. Due to the generality of the method, the scheduler can handle almost any possible architecture.

Currently we are extending this scheduler to allow it to schedule across multiple basic blocks. We are also working on smart placement algorithms for the first stage,
 

People

Steven Roos - Delft University of Technology
Implementation of the scheduler

Henk Corporaal - Eindhoven University
Thesis advisor
 

Publications

In progress...