Abstract
We designed heuristics for applying the list scheduling algorithm to processors with complex pipelines. On these processors the pipeline can stall due to resource contention (structural hazards) in addition to the usual data hazards. Conventional heuristics consider only data hazards. Our heuristics reduce structural hazards, too. Code with much instruction-level parallelism is optimized to avoid structural hazards, sequential code is scheduled for reducing data hazards. Embedded in a postpass strategy our scheduler removes 60 %–100 % of the removable stalls from conventionally scheduled code.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
David G. Bradlee, Susan J. Eggers, and Robert R. Henry. Integrating register allocation and instruction scheduling for RISCs. In Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 122–131, 1991.
David G. Bradlee, Robert R. Henry, and Susan J. Eggers. The Marion system for retargetable instruction scheduling. In Proceedings of the SIGPLAN '91 Conference on Programming Language Design and Implementation, pages 229–240, Toronto, 1991.
Greg Blanck and Steve Krueger. The SuperSPARC microprocessor. In COMPCON: Digest of Papers, pages 136–141, 1992.
Keith Diefendorff and Michael Allen. Organization of the Motorola 88110 superscalar RISC microprocessor. IEEE Micro, pages 40–63, April 1992.
M. Anton Ertl and Andreas Krall. Optimal instruction scheduling using constraint logic programming. In Programming Language Implementation and Logic Programming (PLILP), pages 75–86, Passau, 1991. Springer, LNCS 528.
James R. Goodman and Wei-Chung Hsu. Code scheduling and register allocation in large basic blocks. In International Conference on Supercomputing, pages 442–452, 1988.
Phillip B. Gibbons and Steve S. Muchnick. Efficient instruction scheduling for a pipelined architecture. In Proceedings of the SIGPLAN '86 Symposium on Compiler Construction, pages 11–16, 1986.
John Hennessy and Thomas Gross. Postpass code optimization of pipeline constraints. ACM Transactions on Programming Languages and Systems, 5(3):422–448, July 1983.
Uwe Kastens. Übersetzerbau. R. Oldenbourg Verlag, München, 1990.
David Landskov, Scott Davidson, Bruce Shriver, and Pattrick W. Mallet. Local microcode compaction techniques. ACM Computing Surveys, 12(3):261–294, September 1980.
Motorola, Inc. MC88100 RISC Microprocessor User's Manual, second edition, 1990.
Mark Smotherman, Sanjay Krishnamurthy, P. S. Aravind, and David Hunnicutt. Efficient DAG construction and heuristic calculation for instruction scheduling. In MICRO-24, 24th Annual Intl. Symp. on Microarchitecture, pages 93–102, 1991.
Henry S. Warren, Jr. Instruction scheduling for the IBM RISC System/6000 processor. IBM Journal of Research and Development, 34(1):85–92, January 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ertl, M.A., Krall, A. (1992). Instruction scheduling for complex pipelines. In: Kastens, U., Pfahler, P. (eds) Compiler Construction. CC 1992. Lecture Notes in Computer Science, vol 641. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55984-1_19
Download citation
DOI: https://doi.org/10.1007/3-540-55984-1_19
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55984-9
Online ISBN: 978-3-540-47335-0
eBook Packages: Springer Book Archive