Comparing static and dynamic code scheduling for multiple-instruction-issue processors

Pohua P. Chang, William Y. Chen, Scott A. Mahlke, Wen Mei W. Hwu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

This paper examines two alternative approaches to supporting code scheduling for multiple-instruction-issue processors. One is to provide a set of non-trapping instructions so that the compiler can perform aggressive static code scheduling. The application of this approach to existing commercial architectures typically requires extending the instruction set. The other approach is to support out-of-order execution in the microarchitecture so that the hardware can perform aggressive dynamic code scheduling. This approach usually does not require modifying the instruction set but requires complex hardware support. In this paper, we analyze the performance of the two alternative approaches using a set of important nonnumerical C benchmark programs. A distinguishing feature of the experiment is that the code for the dynamic approach has been optimized and scheduled as much as allowed by the architecture. The hardware is only responsible for the additional reordering that cannot be performed by the compiler. The overall result is that the clynamic and static approaches are comparable in performance. When applied to a four-instruction-issue processor, both methods achieve more than two times speedup over a high performance single-instruction-issue processor. However, the performance of each scheme varies among the benchmark programs. To explain this variation, we have identified the conditions in these programs that make one approach perform better than the other.

Original languageEnglish (US)
Title of host publicationMICRO 1991 - Proceedings of the 24th Annual International Symposium on Microarchitecture
PublisherIEEE Computer Society
Pages25-33
Number of pages9
ISBN (Print)0897914600, 9780897914604
DOIs
StatePublished - Sep 1 1991
Event24th Annual International Symposium on Microarchitecture, MICRO 1991 - Albuquerque, United States
Duration: Nov 18 1991Nov 20 1991

Publication series

NameProceedings of the Annual International Symposium on Microarchitecture, MICRO
ISSN (Print)1072-4451

Other

Other24th Annual International Symposium on Microarchitecture, MICRO 1991
CountryUnited States
CityAlbuquerque
Period11/18/9111/20/91

ASJC Scopus subject areas

  • Hardware and Architecture

Fingerprint Dive into the research topics of 'Comparing static and dynamic code scheduling for multiple-instruction-issue processors'. Together they form a unique fingerprint.

  • Cite this

    Chang, P. P., Chen, W. Y., Mahlke, S. A., & Hwu, W. M. W. (1991). Comparing static and dynamic code scheduling for multiple-instruction-issue processors. In MICRO 1991 - Proceedings of the 24th Annual International Symposium on Microarchitecture (pp. 25-33). (Proceedings of the Annual International Symposium on Microarchitecture, MICRO). IEEE Computer Society. https://doi.org/10.1145/123465.123471