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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:SIGPLAN notices 2015-07, Vol.50 (5), p.1-10
Hauptverfasser: Baird, Ryan, Gavin, Peter, Själander, Magnus, Whalley, David, Uh, Gang-Ryung
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