Software hint to improve the branch target prediction accuracy

The present invention relates in general to methods for predicting branch target addresses in speculative instruction execution. A field is defined in branch instructions which is interpreted by software as "Hint" bits and these bits are used to signal the processor of special circumstance...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Hay, Robert William, Sinharoy, Balaram
Format: Patent
Sprache:eng
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator Hay, Robert William
Sinharoy, Balaram
description The present invention relates in general to methods for predicting branch target addresses in speculative instruction execution. A field is defined in branch instructions which is interpreted by software as "Hint" bits and these bits are used to signal the processor of special circumstances that may arise when doing speculative branch instruction execution to enable better branch address prediction accuracy and a reduction in link stack corruption which improves overall execution times. A programmer or compiler determines if a branch instruction usage fits in the context for a Hint action. If so, the compiler or programmer, using assembly/machine language, sets Hint bits in the branch instruction when it is compiled. If the branch is later speculatively executed, the processor decodes the Hint bits and executes and a hardware action corresponding the decode of the Hint bits. These Hints include four specific Hint actions, however, the field reserved for Hint bits is five bit wide reserving up to thirty-two specific Hint cases may be specified. These Hint cases (or Hint bits) may be interpreted differently for each type of branch instruction supported.
format Patent
fullrecord <record><control><sourceid>uspatents_EFH</sourceid><recordid>TN_cdi_uspatents_grants_06823447</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>06823447</sourcerecordid><originalsourceid>FETCH-uspatents_grants_068234473</originalsourceid><addsrcrecordid>eNrjZLALzk8rKU8sSlXIyMwrUSjJV8jMLSjKL0tVKMlIVUgqSsxLzlAoSSxKTy1RKChKTclMLsnMz1NITE4uLUpMruRhYE1LzClO5YXS3AwKbq4hzh66pcUFiSWpeSXF8elAM4CUgZmFkbGJibkxEUoAN3sxrA</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>patent</recordtype></control><display><type>patent</type><title>Software hint to improve the branch target prediction accuracy</title><source>USPTO Issued Patents</source><creator>Hay, Robert William ; Sinharoy, Balaram</creator><creatorcontrib>Hay, Robert William ; Sinharoy, Balaram ; International Business Machines Corporation</creatorcontrib><description>The present invention relates in general to methods for predicting branch target addresses in speculative instruction execution. A field is defined in branch instructions which is interpreted by software as "Hint" bits and these bits are used to signal the processor of special circumstances that may arise when doing speculative branch instruction execution to enable better branch address prediction accuracy and a reduction in link stack corruption which improves overall execution times. A programmer or compiler determines if a branch instruction usage fits in the context for a Hint action. If so, the compiler or programmer, using assembly/machine language, sets Hint bits in the branch instruction when it is compiled. If the branch is later speculatively executed, the processor decodes the Hint bits and executes and a hardware action corresponding the decode of the Hint bits. These Hints include four specific Hint actions, however, the field reserved for Hint bits is five bit wide reserving up to thirty-two specific Hint cases may be specified. These Hint cases (or Hint bits) may be interpreted differently for each type of branch instruction supported.</description><language>eng</language><creationdate>2004</creationdate><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://image-ppubs.uspto.gov/dirsearch-public/print/downloadPdf/6823447$$EPDF$$P50$$Guspatents$$Hfree_for_read</linktopdf><link.rule.ids>230,308,780,802,885,64039</link.rule.ids><linktorsrc>$$Uhttps://image-ppubs.uspto.gov/dirsearch-public/print/downloadPdf/6823447$$EView_record_in_USPTO$$FView_record_in_$$GUSPTO$$Hfree_for_read</linktorsrc></links><search><creatorcontrib>Hay, Robert William</creatorcontrib><creatorcontrib>Sinharoy, Balaram</creatorcontrib><creatorcontrib>International Business Machines Corporation</creatorcontrib><title>Software hint to improve the branch target prediction accuracy</title><description>The present invention relates in general to methods for predicting branch target addresses in speculative instruction execution. A field is defined in branch instructions which is interpreted by software as "Hint" bits and these bits are used to signal the processor of special circumstances that may arise when doing speculative branch instruction execution to enable better branch address prediction accuracy and a reduction in link stack corruption which improves overall execution times. A programmer or compiler determines if a branch instruction usage fits in the context for a Hint action. If so, the compiler or programmer, using assembly/machine language, sets Hint bits in the branch instruction when it is compiled. If the branch is later speculatively executed, the processor decodes the Hint bits and executes and a hardware action corresponding the decode of the Hint bits. These Hints include four specific Hint actions, however, the field reserved for Hint bits is five bit wide reserving up to thirty-two specific Hint cases may be specified. These Hint cases (or Hint bits) may be interpreted differently for each type of branch instruction supported.</description><fulltext>true</fulltext><rsrctype>patent</rsrctype><creationdate>2004</creationdate><recordtype>patent</recordtype><sourceid>EFH</sourceid><recordid>eNrjZLALzk8rKU8sSlXIyMwrUSjJV8jMLSjKL0tVKMlIVUgqSsxLzlAoSSxKTy1RKChKTclMLsnMz1NITE4uLUpMruRhYE1LzClO5YXS3AwKbq4hzh66pcUFiSWpeSXF8elAM4CUgZmFkbGJibkxEUoAN3sxrA</recordid><startdate>20041123</startdate><enddate>20041123</enddate><creator>Hay, Robert William</creator><creator>Sinharoy, Balaram</creator><scope>EFH</scope></search><sort><creationdate>20041123</creationdate><title>Software hint to improve the branch target prediction accuracy</title><author>Hay, Robert William ; Sinharoy, Balaram</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-uspatents_grants_068234473</frbrgroupid><rsrctype>patents</rsrctype><prefilter>patents</prefilter><language>eng</language><creationdate>2004</creationdate><toplevel>online_resources</toplevel><creatorcontrib>Hay, Robert William</creatorcontrib><creatorcontrib>Sinharoy, Balaram</creatorcontrib><creatorcontrib>International Business Machines Corporation</creatorcontrib><collection>USPTO Issued Patents</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Hay, Robert William</au><au>Sinharoy, Balaram</au><aucorp>International Business Machines Corporation</aucorp><format>patent</format><genre>patent</genre><ristype>GEN</ristype><title>Software hint to improve the branch target prediction accuracy</title><date>2004-11-23</date><risdate>2004</risdate><abstract>The present invention relates in general to methods for predicting branch target addresses in speculative instruction execution. A field is defined in branch instructions which is interpreted by software as "Hint" bits and these bits are used to signal the processor of special circumstances that may arise when doing speculative branch instruction execution to enable better branch address prediction accuracy and a reduction in link stack corruption which improves overall execution times. A programmer or compiler determines if a branch instruction usage fits in the context for a Hint action. If so, the compiler or programmer, using assembly/machine language, sets Hint bits in the branch instruction when it is compiled. If the branch is later speculatively executed, the processor decodes the Hint bits and executes and a hardware action corresponding the decode of the Hint bits. These Hints include four specific Hint actions, however, the field reserved for Hint bits is five bit wide reserving up to thirty-two specific Hint cases may be specified. These Hint cases (or Hint bits) may be interpreted differently for each type of branch instruction supported.</abstract><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier
ispartof
issn
language eng
recordid cdi_uspatents_grants_06823447
source USPTO Issued Patents
title Software hint to improve the branch target prediction accuracy
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-19T09%3A09%3A22IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-uspatents_EFH&rft_val_fmt=info:ofi/fmt:kev:mtx:patent&rft.genre=patent&rft.au=Hay,%20Robert%20William&rft.aucorp=International%20Business%20Machines%20Corporation&rft.date=2004-11-23&rft_id=info:doi/&rft_dat=%3Cuspatents_EFH%3E06823447%3C/uspatents_EFH%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