Predicting indirect branches via data compression

Branch prediction is a key mechanism used to achieve high performance on multiple issue, deeply pipelined processors. By predicting the branch outcome at the instruction fetch stage of the pipeline, superscalar processors become able to exploit Instruction Level Parallelism (ILP) by providing a larg...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Kalamatianos, J., Kaeli, D.R.
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 281
container_issue
container_start_page 272
container_title
container_volume
creator Kalamatianos, J.
Kaeli, D.R.
description Branch prediction is a key mechanism used to achieve high performance on multiple issue, deeply pipelined processors. By predicting the branch outcome at the instruction fetch stage of the pipeline, superscalar processors become able to exploit Instruction Level Parallelism (ILP) by providing a larger window of instructions. However, when a branch is mispredicted, instructions from the mispredicted path must be discarded. Therefore, branch prediction accuracy is critical to achieve high performance. Existing branch prediction schemes can accurately predict the direction of conditional branches, but have difficulties predicting the correct targets of indirect branches. Indirect branches occur frequently in Object-Oriented Languages (OOL), as well as in Dynamically-Linked Libraries (DLLs), two programming environments rapidly increasing in popularity. In addition, certain language constructs such as multi-way control transfers (e.g., switches), and architectural features such as 64-bit address spaces, utilize indirect branching. In this paper, we describe a new algorithm for predicting unconditional indirect branches called Prediction by Partial Matching (PPM). We base our approach on techniques proven to work optimally in the field of data compression. We combine a viable implementation of the PPM algorithm with dynamic per-branch selection of path-based correlation and compare its prediction accuracy against a variety of predictors. Our results show that, for approximately the same hardware budget, the combined predictor can achieve a misprediction ratio of 9.47%, as compared to 11.48% for the previously published most accurate indirect branch predictor.
doi_str_mv 10.1109/MICRO.1998.742789
format Conference Proceeding
fullrecord <record><control><sourceid>proquest_6IE</sourceid><recordid>TN_cdi_ieee_primary_742789</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>742789</ieee_id><sourcerecordid>26715043</sourcerecordid><originalsourceid>FETCH-LOGICAL-i203t-a31fc85a6851e3bc5358e15aa85ae73e44f25216459187ceeb4004927fd27b0b3</originalsourceid><addsrcrecordid>eNotkEtLw0AURgdUsNb-AF1l5S713nnPUoKPQqUiug6TyY2OtEmcSQX_vYW6OvBx-BaHsSuEJSK42-dV9bpZonN2aSQ31p2whTMWLFptNTh-ymYIhpdSKjxnFzl_AYDVTs0YviRqY5hi_1HEvo2JwlQ0yffhk3LxE33R-skXYdiNiXKOQ3_Jzjq_zbT455y9P9y_VU_levO4qu7WZeQgptIL7IJVXluFJJqghLKEyvvDRkaQlB1XHLVUDq0JRI0EkI6bruWmgUbM2c3xd0zD957yVO9iDrTd-p6Gfa65NqhAioN4fRQjEdVjijuffutjCfEHGRVRLQ</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype><pqid>26715043</pqid></control><display><type>conference_proceeding</type><title>Predicting indirect branches via data compression</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Kalamatianos, J. ; Kaeli, D.R.</creator><creatorcontrib>Kalamatianos, J. ; Kaeli, D.R.</creatorcontrib><description>Branch prediction is a key mechanism used to achieve high performance on multiple issue, deeply pipelined processors. By predicting the branch outcome at the instruction fetch stage of the pipeline, superscalar processors become able to exploit Instruction Level Parallelism (ILP) by providing a larger window of instructions. However, when a branch is mispredicted, instructions from the mispredicted path must be discarded. Therefore, branch prediction accuracy is critical to achieve high performance. Existing branch prediction schemes can accurately predict the direction of conditional branches, but have difficulties predicting the correct targets of indirect branches. Indirect branches occur frequently in Object-Oriented Languages (OOL), as well as in Dynamically-Linked Libraries (DLLs), two programming environments rapidly increasing in popularity. In addition, certain language constructs such as multi-way control transfers (e.g., switches), and architectural features such as 64-bit address spaces, utilize indirect branching. In this paper, we describe a new algorithm for predicting unconditional indirect branches called Prediction by Partial Matching (PPM). We base our approach on techniques proven to work optimally in the field of data compression. We combine a viable implementation of the PPM algorithm with dynamic per-branch selection of path-based correlation and compare its prediction accuracy against a variety of predictors. Our results show that, for approximately the same hardware budget, the combined predictor can achieve a misprediction ratio of 9.47%, as compared to 11.48% for the previously published most accurate indirect branch predictor.</description><identifier>ISSN: 1072-4451</identifier><identifier>ISBN: 9780818686092</identifier><identifier>ISBN: 081868609X</identifier><identifier>DOI: 10.1109/MICRO.1998.742789</identifier><language>eng</language><publisher>IEEE</publisher><subject>Accuracy ; Data compression ; Electronic switching systems ; Heuristic algorithms ; Libraries ; Parallel processing ; Pipelines ; Prediction algorithms ; Programming environments ; Switches</subject><ispartof>Proceedings of the annual International Symposium on Microarchitecture, 1998, p.272-281</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/742789$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,780,784,789,790,2058,4050,4051,27925,54920</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/742789$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Kalamatianos, J.</creatorcontrib><creatorcontrib>Kaeli, D.R.</creatorcontrib><title>Predicting indirect branches via data compression</title><title>Proceedings of the annual International Symposium on Microarchitecture</title><addtitle>MICRO</addtitle><description>Branch prediction is a key mechanism used to achieve high performance on multiple issue, deeply pipelined processors. By predicting the branch outcome at the instruction fetch stage of the pipeline, superscalar processors become able to exploit Instruction Level Parallelism (ILP) by providing a larger window of instructions. However, when a branch is mispredicted, instructions from the mispredicted path must be discarded. Therefore, branch prediction accuracy is critical to achieve high performance. Existing branch prediction schemes can accurately predict the direction of conditional branches, but have difficulties predicting the correct targets of indirect branches. Indirect branches occur frequently in Object-Oriented Languages (OOL), as well as in Dynamically-Linked Libraries (DLLs), two programming environments rapidly increasing in popularity. In addition, certain language constructs such as multi-way control transfers (e.g., switches), and architectural features such as 64-bit address spaces, utilize indirect branching. In this paper, we describe a new algorithm for predicting unconditional indirect branches called Prediction by Partial Matching (PPM). We base our approach on techniques proven to work optimally in the field of data compression. We combine a viable implementation of the PPM algorithm with dynamic per-branch selection of path-based correlation and compare its prediction accuracy against a variety of predictors. Our results show that, for approximately the same hardware budget, the combined predictor can achieve a misprediction ratio of 9.47%, as compared to 11.48% for the previously published most accurate indirect branch predictor.</description><subject>Accuracy</subject><subject>Data compression</subject><subject>Electronic switching systems</subject><subject>Heuristic algorithms</subject><subject>Libraries</subject><subject>Parallel processing</subject><subject>Pipelines</subject><subject>Prediction algorithms</subject><subject>Programming environments</subject><subject>Switches</subject><issn>1072-4451</issn><isbn>9780818686092</isbn><isbn>081868609X</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>1998</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><sourceid>RIE</sourceid><recordid>eNotkEtLw0AURgdUsNb-AF1l5S713nnPUoKPQqUiug6TyY2OtEmcSQX_vYW6OvBx-BaHsSuEJSK42-dV9bpZonN2aSQ31p2whTMWLFptNTh-ymYIhpdSKjxnFzl_AYDVTs0YviRqY5hi_1HEvo2JwlQ0yffhk3LxE33R-skXYdiNiXKOQ3_Jzjq_zbT455y9P9y_VU_levO4qu7WZeQgptIL7IJVXluFJJqghLKEyvvDRkaQlB1XHLVUDq0JRI0EkI6bruWmgUbM2c3xd0zD957yVO9iDrTd-p6Gfa65NqhAioN4fRQjEdVjijuffutjCfEHGRVRLQ</recordid><startdate>1998</startdate><enddate>1998</enddate><creator>Kalamatianos, J.</creator><creator>Kaeli, D.R.</creator><general>IEEE</general><scope>6IE</scope><scope>6IL</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIL</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>1998</creationdate><title>Predicting indirect branches via data compression</title><author>Kalamatianos, J. ; Kaeli, D.R.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-i203t-a31fc85a6851e3bc5358e15aa85ae73e44f25216459187ceeb4004927fd27b0b3</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>1998</creationdate><topic>Accuracy</topic><topic>Data compression</topic><topic>Electronic switching systems</topic><topic>Heuristic algorithms</topic><topic>Libraries</topic><topic>Parallel processing</topic><topic>Pipelines</topic><topic>Prediction algorithms</topic><topic>Programming environments</topic><topic>Switches</topic><toplevel>online_resources</toplevel><creatorcontrib>Kalamatianos, J.</creatorcontrib><creatorcontrib>Kaeli, D.R.</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE Electronic Library (IEL)</collection><collection>IEEE Proceedings Order Plans (POP All) 1998-Present</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Kalamatianos, J.</au><au>Kaeli, D.R.</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Predicting indirect branches via data compression</atitle><btitle>Proceedings of the annual International Symposium on Microarchitecture</btitle><stitle>MICRO</stitle><date>1998</date><risdate>1998</risdate><spage>272</spage><epage>281</epage><pages>272-281</pages><issn>1072-4451</issn><isbn>9780818686092</isbn><isbn>081868609X</isbn><abstract>Branch prediction is a key mechanism used to achieve high performance on multiple issue, deeply pipelined processors. By predicting the branch outcome at the instruction fetch stage of the pipeline, superscalar processors become able to exploit Instruction Level Parallelism (ILP) by providing a larger window of instructions. However, when a branch is mispredicted, instructions from the mispredicted path must be discarded. Therefore, branch prediction accuracy is critical to achieve high performance. Existing branch prediction schemes can accurately predict the direction of conditional branches, but have difficulties predicting the correct targets of indirect branches. Indirect branches occur frequently in Object-Oriented Languages (OOL), as well as in Dynamically-Linked Libraries (DLLs), two programming environments rapidly increasing in popularity. In addition, certain language constructs such as multi-way control transfers (e.g., switches), and architectural features such as 64-bit address spaces, utilize indirect branching. In this paper, we describe a new algorithm for predicting unconditional indirect branches called Prediction by Partial Matching (PPM). We base our approach on techniques proven to work optimally in the field of data compression. We combine a viable implementation of the PPM algorithm with dynamic per-branch selection of path-based correlation and compare its prediction accuracy against a variety of predictors. Our results show that, for approximately the same hardware budget, the combined predictor can achieve a misprediction ratio of 9.47%, as compared to 11.48% for the previously published most accurate indirect branch predictor.</abstract><pub>IEEE</pub><doi>10.1109/MICRO.1998.742789</doi><tpages>10</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 1072-4451
ispartof Proceedings of the annual International Symposium on Microarchitecture, 1998, p.272-281
issn 1072-4451
language eng
recordid cdi_ieee_primary_742789
source IEEE Electronic Library (IEL) Conference Proceedings
subjects Accuracy
Data compression
Electronic switching systems
Heuristic algorithms
Libraries
Parallel processing
Pipelines
Prediction algorithms
Programming environments
Switches
title Predicting indirect branches via data compression
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-05T09%3A41%3A27IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_6IE&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Predicting%20indirect%20branches%20via%20data%20compression&rft.btitle=Proceedings%20of%20the%20annual%20International%20Symposium%20on%20Microarchitecture&rft.au=Kalamatianos,%20J.&rft.date=1998&rft.spage=272&rft.epage=281&rft.pages=272-281&rft.issn=1072-4451&rft.isbn=9780818686092&rft.isbn_list=081868609X&rft_id=info:doi/10.1109/MICRO.1998.742789&rft_dat=%3Cproquest_6IE%3E26715043%3C/proquest_6IE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=26715043&rft_id=info:pmid/&rft_ieee_id=742789&rfr_iscdi=true