Allocating Registers in Multiple Instruction-Issuing Processors - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 1995

Allocating Registers in Multiple Instruction-Issuing Processors

Résumé

This work addresses the problem of scheduling a basic block of operations on a multiple instruction-issuing processor. We show that integrating register constraints into operation sequencing algorithms is a complex problem in itself. Indeed, while scheduling a forest of unit time operations on a processor with $P$ parallel instruction slots can be solved in polynomial time, the problem becomes NP-hard when $P$ is unbounded but only $R$ registers are available. As a result we have devised a concise integer linear programming formulation of this scheduling problem that accounts for both register and instruction issuing constraints. This allows the use of off-the-shelf routines to find optimum solutions, which can then be compared with the results obtained by polynomial-time heuristics. Two such heuristics are given, and their combined results are shown to be optimal in 99.5% of the cases for trees of height at most 6. A byproduct of these experiments is to show that our integer programming formulation is quite practical as it can find an optimum solution for a tree of height 6 in roughly 0.1 seconds on a sparc workstation.

Domaines

Autre [cs.OH]
Fichier principal
Vignette du fichier
RR-2628.pdf (358.91 Ko) Télécharger le fichier
Loading...

Dates et versions

inria-00074059 , version 1 (24-05-2006)

Identifiants

  • HAL Id : inria-00074059 , version 1

Citer

Christine Eisenbeis, Franco Gasperoni, Uwe Schwiegelshohn. Allocating Registers in Multiple Instruction-Issuing Processors. [Research Report] RR-2628, INRIA. 1995. ⟨inria-00074059⟩
115 Consultations
193 Téléchargements

Partager

Gmail Facebook X LinkedIn More