Compiler Technology for Future Microprocessors

Wen Mei W. Hwu, Richard E. Hank, Daniel M. Lavery, Grant E. Haab, John C. Gyllenhaal, David I. August, David M. Gallagher, Scott A. Mahlke

Research output: Contribution to journalArticle

Abstract

Advances in hardware technology have made it possible for microprocessors to execute a large number of instructions concurrently (i.e., in parallel). These microprocessors take advantage of the opportunity to execute instructions in parallel to increase the execution speed of a program. As in other forms of parallel processing, the performance of these microprocessors can vary greatly depending on the quality of the software. In particular, the quality of compilers can make an order of magnitude difference in performance. This paper presents a new generation of compiler technology that has emerged to deliver the large amount of instruction-level-parallelism that is already required by some current state-of-the-art microprocessors and will be required by more future microprocessors. We introduce critical components of the technology which deal with difficult problems that are encountered when compiling programs for a high degree of instruction-level-parallelism. We present examples to illustrate the functional requirements of these components. To provide more insight into the challenges involved, we present in-depth case studies on predicated compilation and maintenance of dependence information, two of the components that are largely missing from most current commercial compilers.

Original languageEnglish (US)
Pages (from-to)1625-1640
Number of pages16
JournalProceedings of the IEEE
Volume83
Issue number12
DOIs
StatePublished - Dec 1995

Fingerprint

Microprocessor chips
Hardware
Processing

ASJC Scopus subject areas

  • Electrical and Electronic Engineering

Cite this

Hwu, W. M. W., Hank, R. E., Lavery, D. M., Haab, G. E., Gyllenhaal, J. C., August, D. I., ... Mahlke, S. A. (1995). Compiler Technology for Future Microprocessors. Proceedings of the IEEE, 83(12), 1625-1640. https://doi.org/10.1109/5.476079

Compiler Technology for Future Microprocessors. / Hwu, Wen Mei W.; Hank, Richard E.; Lavery, Daniel M.; Haab, Grant E.; Gyllenhaal, John C.; August, David I.; Gallagher, David M.; Mahlke, Scott A.

In: Proceedings of the IEEE, Vol. 83, No. 12, 12.1995, p. 1625-1640.

Research output: Contribution to journalArticle

Hwu, WMW, Hank, RE, Lavery, DM, Haab, GE, Gyllenhaal, JC, August, DI, Gallagher, DM & Mahlke, SA 1995, 'Compiler Technology for Future Microprocessors', Proceedings of the IEEE, vol. 83, no. 12, pp. 1625-1640. https://doi.org/10.1109/5.476079
Hwu WMW, Hank RE, Lavery DM, Haab GE, Gyllenhaal JC, August DI et al. Compiler Technology for Future Microprocessors. Proceedings of the IEEE. 1995 Dec;83(12):1625-1640. https://doi.org/10.1109/5.476079
Hwu, Wen Mei W. ; Hank, Richard E. ; Lavery, Daniel M. ; Haab, Grant E. ; Gyllenhaal, John C. ; August, David I. ; Gallagher, David M. ; Mahlke, Scott A. / Compiler Technology for Future Microprocessors. In: Proceedings of the IEEE. 1995 ; Vol. 83, No. 12. pp. 1625-1640.
@article{43d82ae0e38342f7beed9f824fcfd8db,
title = "Compiler Technology for Future Microprocessors",
abstract = "Advances in hardware technology have made it possible for microprocessors to execute a large number of instructions concurrently (i.e., in parallel). These microprocessors take advantage of the opportunity to execute instructions in parallel to increase the execution speed of a program. As in other forms of parallel processing, the performance of these microprocessors can vary greatly depending on the quality of the software. In particular, the quality of compilers can make an order of magnitude difference in performance. This paper presents a new generation of compiler technology that has emerged to deliver the large amount of instruction-level-parallelism that is already required by some current state-of-the-art microprocessors and will be required by more future microprocessors. We introduce critical components of the technology which deal with difficult problems that are encountered when compiling programs for a high degree of instruction-level-parallelism. We present examples to illustrate the functional requirements of these components. To provide more insight into the challenges involved, we present in-depth case studies on predicated compilation and maintenance of dependence information, two of the components that are largely missing from most current commercial compilers.",
author = "Hwu, {Wen Mei W.} and Hank, {Richard E.} and Lavery, {Daniel M.} and Haab, {Grant E.} and Gyllenhaal, {John C.} and August, {David I.} and Gallagher, {David M.} and Mahlke, {Scott A.}",
year = "1995",
month = "12",
doi = "10.1109/5.476079",
language = "English (US)",
volume = "83",
pages = "1625--1640",
journal = "Proceedings of the IEEE",
issn = "0018-9219",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
number = "12",

}

TY - JOUR

T1 - Compiler Technology for Future Microprocessors

AU - Hwu, Wen Mei W.

AU - Hank, Richard E.

AU - Lavery, Daniel M.

AU - Haab, Grant E.

AU - Gyllenhaal, John C.

AU - August, David I.

AU - Gallagher, David M.

AU - Mahlke, Scott A.

PY - 1995/12

Y1 - 1995/12

N2 - Advances in hardware technology have made it possible for microprocessors to execute a large number of instructions concurrently (i.e., in parallel). These microprocessors take advantage of the opportunity to execute instructions in parallel to increase the execution speed of a program. As in other forms of parallel processing, the performance of these microprocessors can vary greatly depending on the quality of the software. In particular, the quality of compilers can make an order of magnitude difference in performance. This paper presents a new generation of compiler technology that has emerged to deliver the large amount of instruction-level-parallelism that is already required by some current state-of-the-art microprocessors and will be required by more future microprocessors. We introduce critical components of the technology which deal with difficult problems that are encountered when compiling programs for a high degree of instruction-level-parallelism. We present examples to illustrate the functional requirements of these components. To provide more insight into the challenges involved, we present in-depth case studies on predicated compilation and maintenance of dependence information, two of the components that are largely missing from most current commercial compilers.

AB - Advances in hardware technology have made it possible for microprocessors to execute a large number of instructions concurrently (i.e., in parallel). These microprocessors take advantage of the opportunity to execute instructions in parallel to increase the execution speed of a program. As in other forms of parallel processing, the performance of these microprocessors can vary greatly depending on the quality of the software. In particular, the quality of compilers can make an order of magnitude difference in performance. This paper presents a new generation of compiler technology that has emerged to deliver the large amount of instruction-level-parallelism that is already required by some current state-of-the-art microprocessors and will be required by more future microprocessors. We introduce critical components of the technology which deal with difficult problems that are encountered when compiling programs for a high degree of instruction-level-parallelism. We present examples to illustrate the functional requirements of these components. To provide more insight into the challenges involved, we present in-depth case studies on predicated compilation and maintenance of dependence information, two of the components that are largely missing from most current commercial compilers.

UR - http://www.scopus.com/inward/record.url?scp=0029480935&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0029480935&partnerID=8YFLogxK

U2 - 10.1109/5.476079

DO - 10.1109/5.476079

M3 - Article

AN - SCOPUS:0029480935

VL - 83

SP - 1625

EP - 1640

JO - Proceedings of the IEEE

JF - Proceedings of the IEEE

SN - 0018-9219

IS - 12

ER -