The importance of prepass code scheduling for superscalar and superpipelined processors:
Abstract: "Superscalar and superpipelined processors provide hardware that has the ability to execute many instructions in parallel. In order for this potential to be translated into the speedup of real programs, the compiler must be able to schedule instructions so that they can be overlapped...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Urbana, Ill.
1991
|
Schriftenreihe: | Center for Supercomputing Research and Development <Urbana, Ill,>: CSRD report
1144 |
Schlagworte: | |
Zusammenfassung: | Abstract: "Superscalar and superpipelined processors provide hardware that has the ability to execute many instructions in parallel. In order for this potential to be translated into the speedup of real programs, the compiler must be able to schedule instructions so that they can be overlapped without interlock delays and resource conflicts. Previous work has shown that prepass code scheduling helps to produce a better schedule for scientific programs. But the importance of prescheduing has never been demonstrated for control-intensive non- numerical programs. These programs are significantly different from the scientific programs because they contain frequent branches and they require global scheduling in order to find enough independent instructions In this paper, the code scheduler of the IMPACT-I C compiler is described and used to study the importance of prepass code scheduling for a set of production C programs. It is shown that, in contrast to the results previously obtained for scientific programs, prescheduling is not important for compiling control-intensive programs to the current generation of superscalar and superpipelined processors. However, if some of the current restrictions on upward code motion are removed in future architectures, prescheduling substantially improves the execution time of this class of programs on both superscalar and superpipelined processors. |
Beschreibung: | 47 S. |
Internformat
MARC
LEADER | 00000nam a2200000 cb4500 | ||
---|---|---|---|
001 | BV008992765 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | t | ||
008 | 940206s1991 |||| 00||| eng d | ||
035 | |a (OCoLC)25415449 | ||
035 | |a (DE-599)BVBBV008992765 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a eng | |
049 | |a DE-29T | ||
100 | 1 | |a Chang, Pohua P. |e Verfasser |4 aut | |
245 | 1 | 0 | |a The importance of prepass code scheduling for superscalar and superpipelined processors |c Pohua P. Chang, Daniel M. Lavery, and Wen-mei W. Hwu |
264 | 1 | |a Urbana, Ill. |c 1991 | |
300 | |a 47 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 1 | |a Center for Supercomputing Research and Development <Urbana, Ill,>: CSRD report |v 1144 | |
520 | 3 | |a Abstract: "Superscalar and superpipelined processors provide hardware that has the ability to execute many instructions in parallel. In order for this potential to be translated into the speedup of real programs, the compiler must be able to schedule instructions so that they can be overlapped without interlock delays and resource conflicts. Previous work has shown that prepass code scheduling helps to produce a better schedule for scientific programs. But the importance of prescheduing has never been demonstrated for control-intensive non- numerical programs. These programs are significantly different from the scientific programs because they contain frequent branches and they require global scheduling in order to find enough independent instructions | |
520 | 3 | |a In this paper, the code scheduler of the IMPACT-I C compiler is described and used to study the importance of prepass code scheduling for a set of production C programs. It is shown that, in contrast to the results previously obtained for scientific programs, prescheduling is not important for compiling control-intensive programs to the current generation of superscalar and superpipelined processors. However, if some of the current restrictions on upward code motion are removed in future architectures, prescheduling substantially improves the execution time of this class of programs on both superscalar and superpipelined processors. | |
650 | 4 | |a Compilers (Computer programs) | |
650 | 4 | |a Parallel processing (Electronic computers) | |
700 | 1 | |a Lavery, Daniel M. |e Verfasser |4 aut | |
700 | 1 | |a Hwu, Wen-mei W. |e Verfasser |0 (DE-588)1016974647 |4 aut | |
830 | 0 | |a Center for Supercomputing Research and Development <Urbana, Ill,>: CSRD report |v 1144 |w (DE-604)BV008930033 |9 1144 | |
999 | |a oai:aleph.bib-bvb.de:BVB01-005941684 |
Datensatz im Suchindex
_version_ | 1804123335256178688 |
---|---|
any_adam_object | |
author | Chang, Pohua P. Lavery, Daniel M. Hwu, Wen-mei W. |
author_GND | (DE-588)1016974647 |
author_facet | Chang, Pohua P. Lavery, Daniel M. Hwu, Wen-mei W. |
author_role | aut aut aut |
author_sort | Chang, Pohua P. |
author_variant | p p c pp ppc d m l dm dml w m w h wmw wmwh |
building | Verbundindex |
bvnumber | BV008992765 |
ctrlnum | (OCoLC)25415449 (DE-599)BVBBV008992765 |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02613nam a2200337 cb4500</leader><controlfield tag="001">BV008992765</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">940206s1991 |||| 00||| eng d</controlfield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)25415449</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV008992765</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-29T</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Chang, Pohua P.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">The importance of prepass code scheduling for superscalar and superpipelined processors</subfield><subfield code="c">Pohua P. Chang, Daniel M. Lavery, and Wen-mei W. Hwu</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Urbana, Ill.</subfield><subfield code="c">1991</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">47 S.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="1" ind2=" "><subfield code="a">Center for Supercomputing Research and Development <Urbana, Ill,>: CSRD report</subfield><subfield code="v">1144</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">Abstract: "Superscalar and superpipelined processors provide hardware that has the ability to execute many instructions in parallel. In order for this potential to be translated into the speedup of real programs, the compiler must be able to schedule instructions so that they can be overlapped without interlock delays and resource conflicts. Previous work has shown that prepass code scheduling helps to produce a better schedule for scientific programs. But the importance of prescheduing has never been demonstrated for control-intensive non- numerical programs. These programs are significantly different from the scientific programs because they contain frequent branches and they require global scheduling in order to find enough independent instructions</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">In this paper, the code scheduler of the IMPACT-I C compiler is described and used to study the importance of prepass code scheduling for a set of production C programs. It is shown that, in contrast to the results previously obtained for scientific programs, prescheduling is not important for compiling control-intensive programs to the current generation of superscalar and superpipelined processors. However, if some of the current restrictions on upward code motion are removed in future architectures, prescheduling substantially improves the execution time of this class of programs on both superscalar and superpipelined processors.</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Compilers (Computer programs)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Parallel processing (Electronic computers)</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Lavery, Daniel M.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Hwu, Wen-mei W.</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1016974647</subfield><subfield code="4">aut</subfield></datafield><datafield tag="830" ind1=" " ind2="0"><subfield code="a">Center for Supercomputing Research and Development <Urbana, Ill,>: CSRD report</subfield><subfield code="v">1144</subfield><subfield code="w">(DE-604)BV008930033</subfield><subfield code="9">1144</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-005941684</subfield></datafield></record></collection> |
id | DE-604.BV008992765 |
illustrated | Not Illustrated |
indexdate | 2024-07-09T17:28:08Z |
institution | BVB |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-005941684 |
oclc_num | 25415449 |
open_access_boolean | |
owner | DE-29T |
owner_facet | DE-29T |
physical | 47 S. |
publishDate | 1991 |
publishDateSearch | 1991 |
publishDateSort | 1991 |
record_format | marc |
series | Center for Supercomputing Research and Development <Urbana, Ill,>: CSRD report |
series2 | Center for Supercomputing Research and Development <Urbana, Ill,>: CSRD report |
spelling | Chang, Pohua P. Verfasser aut The importance of prepass code scheduling for superscalar and superpipelined processors Pohua P. Chang, Daniel M. Lavery, and Wen-mei W. Hwu Urbana, Ill. 1991 47 S. txt rdacontent n rdamedia nc rdacarrier Center for Supercomputing Research and Development <Urbana, Ill,>: CSRD report 1144 Abstract: "Superscalar and superpipelined processors provide hardware that has the ability to execute many instructions in parallel. In order for this potential to be translated into the speedup of real programs, the compiler must be able to schedule instructions so that they can be overlapped without interlock delays and resource conflicts. Previous work has shown that prepass code scheduling helps to produce a better schedule for scientific programs. But the importance of prescheduing has never been demonstrated for control-intensive non- numerical programs. These programs are significantly different from the scientific programs because they contain frequent branches and they require global scheduling in order to find enough independent instructions In this paper, the code scheduler of the IMPACT-I C compiler is described and used to study the importance of prepass code scheduling for a set of production C programs. It is shown that, in contrast to the results previously obtained for scientific programs, prescheduling is not important for compiling control-intensive programs to the current generation of superscalar and superpipelined processors. However, if some of the current restrictions on upward code motion are removed in future architectures, prescheduling substantially improves the execution time of this class of programs on both superscalar and superpipelined processors. Compilers (Computer programs) Parallel processing (Electronic computers) Lavery, Daniel M. Verfasser aut Hwu, Wen-mei W. Verfasser (DE-588)1016974647 aut Center for Supercomputing Research and Development <Urbana, Ill,>: CSRD report 1144 (DE-604)BV008930033 1144 |
spellingShingle | Chang, Pohua P. Lavery, Daniel M. Hwu, Wen-mei W. The importance of prepass code scheduling for superscalar and superpipelined processors Center for Supercomputing Research and Development <Urbana, Ill,>: CSRD report Compilers (Computer programs) Parallel processing (Electronic computers) |
title | The importance of prepass code scheduling for superscalar and superpipelined processors |
title_auth | The importance of prepass code scheduling for superscalar and superpipelined processors |
title_exact_search | The importance of prepass code scheduling for superscalar and superpipelined processors |
title_full | The importance of prepass code scheduling for superscalar and superpipelined processors Pohua P. Chang, Daniel M. Lavery, and Wen-mei W. Hwu |
title_fullStr | The importance of prepass code scheduling for superscalar and superpipelined processors Pohua P. Chang, Daniel M. Lavery, and Wen-mei W. Hwu |
title_full_unstemmed | The importance of prepass code scheduling for superscalar and superpipelined processors Pohua P. Chang, Daniel M. Lavery, and Wen-mei W. Hwu |
title_short | The importance of prepass code scheduling for superscalar and superpipelined processors |
title_sort | the importance of prepass code scheduling for superscalar and superpipelined processors |
topic | Compilers (Computer programs) Parallel processing (Electronic computers) |
topic_facet | Compilers (Computer programs) Parallel processing (Electronic computers) |
volume_link | (DE-604)BV008930033 |
work_keys_str_mv | AT changpohuap theimportanceofprepasscodeschedulingforsuperscalarandsuperpipelinedprocessors AT laverydanielm theimportanceofprepasscodeschedulingforsuperscalarandsuperpipelinedprocessors AT hwuwenmeiw theimportanceofprepasscodeschedulingforsuperscalarandsuperpipelinedprocessors |