Optimizing Transfers of Control in the Static Pipeline Architecture
Statically pipelined processors offer a new way to improve the performance beyond that of a traditional in-order pipeline while simultaneously reducing energy usage by enabling the compiler to control more fine-grained details of the program execution. This paper describes how a compiler can exploit...
Gespeichert in:
Veröffentlicht in: | SIGPLAN notices 2015-07, Vol.50 (5), p.1-10 |
---|---|
Hauptverfasser: | , , , , |
Format: | Artikel |
Sprache: | eng |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 10 |
---|---|
container_issue | 5 |
container_start_page | 1 |
container_title | SIGPLAN notices |
container_volume | 50 |
creator | Baird, Ryan Gavin, Peter Själander, Magnus Whalley, David Uh, Gang-Ryung |
description | Statically pipelined processors offer a new way to improve the performance beyond that of a traditional in-order pipeline while simultaneously reducing energy usage by enabling the compiler to control more fine-grained details of the program execution. This paper describes how a compiler can exploit the features of the static pipeline architecture to apply optimizations on transfers of control that are not possible on a conventional architecture. The optimizations presented in this paper include hoisting the target address calculations for branches, jumps, and calls out of loops, performing branch chaining between calls and jumps, hoisting the setting of return addresses out of loops, and exploiting conditional calls and returns. The benefits of performing these transfer of control optimizations include a 6.8% reduction in execution time and a 3.6% decrease in estimated energy usage. |
doi_str_mv | 10.1145/2808704.2754952 |
format | Article |
fullrecord | <record><control><sourceid>crossref</sourceid><recordid>TN_cdi_crossref_primary_10_1145_2808704_2754952</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>10_1145_2808704_2754952</sourcerecordid><originalsourceid>FETCH-LOGICAL-c812-a71ca18ef49082f14f46689ef309c84045efe7dcb4d16204cb58c866716a2ae93</originalsourceid><addsrcrecordid>eNot0L1OwzAUQGELgUQozKx-gbT3OrbjjFXET6VKRSJ75LrX1ChNItsM8PQIkelsZ_gYe0RYI0q1EQZMDXItaiUbJa5YgUqZElHDNSug0qLESsItu0vpEwAqEKZg7WHO4RJ-wvjBu2jH5CkmPnneTmOO08DDyPOZ-Hu2OTj-FmYawkh8G905ZHL5K9I9u_F2SPSwdMW656eufS33h5ddu92XzqAobY3OoiEvGzDCo_RSa9OQr6BxRoJU5Kk-uaM8oRYg3VEZZ7SuUVthqalWbPO_dXFKKZLv5xguNn73CP0fQb8Q9AtB9QvPrE37</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Optimizing Transfers of Control in the Static Pipeline Architecture</title><source>ACM Digital Library Complete</source><creator>Baird, Ryan ; Gavin, Peter ; Själander, Magnus ; Whalley, David ; Uh, Gang-Ryung</creator><creatorcontrib>Baird, Ryan ; Gavin, Peter ; Själander, Magnus ; Whalley, David ; Uh, Gang-Ryung</creatorcontrib><description>Statically pipelined processors offer a new way to improve the performance beyond that of a traditional in-order pipeline while simultaneously reducing energy usage by enabling the compiler to control more fine-grained details of the program execution. This paper describes how a compiler can exploit the features of the static pipeline architecture to apply optimizations on transfers of control that are not possible on a conventional architecture. The optimizations presented in this paper include hoisting the target address calculations for branches, jumps, and calls out of loops, performing branch chaining between calls and jumps, hoisting the setting of return addresses out of loops, and exploiting conditional calls and returns. The benefits of performing these transfer of control optimizations include a 6.8% reduction in execution time and a 3.6% decrease in estimated energy usage.</description><identifier>ISSN: 0362-1340</identifier><identifier>EISSN: 1558-1160</identifier><identifier>DOI: 10.1145/2808704.2754952</identifier><language>eng</language><ispartof>SIGPLAN notices, 2015-07, Vol.50 (5), p.1-10</ispartof><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c812-a71ca18ef49082f14f46689ef309c84045efe7dcb4d16204cb58c866716a2ae93</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,778,782,27911,27912</link.rule.ids></links><search><creatorcontrib>Baird, Ryan</creatorcontrib><creatorcontrib>Gavin, Peter</creatorcontrib><creatorcontrib>Själander, Magnus</creatorcontrib><creatorcontrib>Whalley, David</creatorcontrib><creatorcontrib>Uh, Gang-Ryung</creatorcontrib><title>Optimizing Transfers of Control in the Static Pipeline Architecture</title><title>SIGPLAN notices</title><description>Statically pipelined processors offer a new way to improve the performance beyond that of a traditional in-order pipeline while simultaneously reducing energy usage by enabling the compiler to control more fine-grained details of the program execution. This paper describes how a compiler can exploit the features of the static pipeline architecture to apply optimizations on transfers of control that are not possible on a conventional architecture. The optimizations presented in this paper include hoisting the target address calculations for branches, jumps, and calls out of loops, performing branch chaining between calls and jumps, hoisting the setting of return addresses out of loops, and exploiting conditional calls and returns. The benefits of performing these transfer of control optimizations include a 6.8% reduction in execution time and a 3.6% decrease in estimated energy usage.</description><issn>0362-1340</issn><issn>1558-1160</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2015</creationdate><recordtype>article</recordtype><recordid>eNot0L1OwzAUQGELgUQozKx-gbT3OrbjjFXET6VKRSJ75LrX1ChNItsM8PQIkelsZ_gYe0RYI0q1EQZMDXItaiUbJa5YgUqZElHDNSug0qLESsItu0vpEwAqEKZg7WHO4RJ-wvjBu2jH5CkmPnneTmOO08DDyPOZ-Hu2OTj-FmYawkh8G905ZHL5K9I9u_F2SPSwdMW656eufS33h5ddu92XzqAobY3OoiEvGzDCo_RSa9OQr6BxRoJU5Kk-uaM8oRYg3VEZZ7SuUVthqalWbPO_dXFKKZLv5xguNn73CP0fQb8Q9AtB9QvPrE37</recordid><startdate>20150722</startdate><enddate>20150722</enddate><creator>Baird, Ryan</creator><creator>Gavin, Peter</creator><creator>Själander, Magnus</creator><creator>Whalley, David</creator><creator>Uh, Gang-Ryung</creator><scope>AAYXX</scope><scope>CITATION</scope></search><sort><creationdate>20150722</creationdate><title>Optimizing Transfers of Control in the Static Pipeline Architecture</title><author>Baird, Ryan ; Gavin, Peter ; Själander, Magnus ; Whalley, David ; Uh, Gang-Ryung</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c812-a71ca18ef49082f14f46689ef309c84045efe7dcb4d16204cb58c866716a2ae93</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2015</creationdate><toplevel>online_resources</toplevel><creatorcontrib>Baird, Ryan</creatorcontrib><creatorcontrib>Gavin, Peter</creatorcontrib><creatorcontrib>Själander, Magnus</creatorcontrib><creatorcontrib>Whalley, David</creatorcontrib><creatorcontrib>Uh, Gang-Ryung</creatorcontrib><collection>CrossRef</collection><jtitle>SIGPLAN notices</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Baird, Ryan</au><au>Gavin, Peter</au><au>Själander, Magnus</au><au>Whalley, David</au><au>Uh, Gang-Ryung</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Optimizing Transfers of Control in the Static Pipeline Architecture</atitle><jtitle>SIGPLAN notices</jtitle><date>2015-07-22</date><risdate>2015</risdate><volume>50</volume><issue>5</issue><spage>1</spage><epage>10</epage><pages>1-10</pages><issn>0362-1340</issn><eissn>1558-1160</eissn><abstract>Statically pipelined processors offer a new way to improve the performance beyond that of a traditional in-order pipeline while simultaneously reducing energy usage by enabling the compiler to control more fine-grained details of the program execution. This paper describes how a compiler can exploit the features of the static pipeline architecture to apply optimizations on transfers of control that are not possible on a conventional architecture. The optimizations presented in this paper include hoisting the target address calculations for branches, jumps, and calls out of loops, performing branch chaining between calls and jumps, hoisting the setting of return addresses out of loops, and exploiting conditional calls and returns. The benefits of performing these transfer of control optimizations include a 6.8% reduction in execution time and a 3.6% decrease in estimated energy usage.</abstract><doi>10.1145/2808704.2754952</doi><tpages>10</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0362-1340 |
ispartof | SIGPLAN notices, 2015-07, Vol.50 (5), p.1-10 |
issn | 0362-1340 1558-1160 |
language | eng |
recordid | cdi_crossref_primary_10_1145_2808704_2754952 |
source | ACM Digital Library Complete |
title | Optimizing Transfers of Control in the Static Pipeline Architecture |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-15T11%3A32%3A47IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-crossref&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Optimizing%20Transfers%20of%20Control%20in%20the%20Static%20Pipeline%20Architecture&rft.jtitle=SIGPLAN%20notices&rft.au=Baird,%20Ryan&rft.date=2015-07-22&rft.volume=50&rft.issue=5&rft.spage=1&rft.epage=10&rft.pages=1-10&rft.issn=0362-1340&rft.eissn=1558-1160&rft_id=info:doi/10.1145/2808704.2754952&rft_dat=%3Ccrossref%3E10_1145_2808704_2754952%3C/crossref%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true |