Loading…

Skipper: a microarchitecture for exploiting control-flow independence

Although modern superscalar processors achieve, high branch prediction accuracy, certain branches either are inherently difficult to predict or incur destructive interference in prediction tables, causing significant performance loss due to mispredictions. We propose a novel microarchitecture, calle...

Full description

Saved in:
Bibliographic Details
Main Authors: Chen-Yong Cher, Vijaykumar, T.N.
Format: Conference Proceeding
Language:English
Subjects:
Citations: Items that cite this one
Online Access:Request full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-c251t-a5aff560fa118681c11374d6adc248ee09b34f9f56a5585e5ff9bac25e3fb55e3
cites
container_end_page 15
container_issue
container_start_page 4
container_title
container_volume
creator Chen-Yong Cher
Vijaykumar, T.N.
description Although modern superscalar processors achieve, high branch prediction accuracy, certain branches either are inherently difficult to predict or incur destructive interference in prediction tables, causing significant performance loss due to mispredictions. We propose a novel microarchitecture, called Skipper, to handle such difficult branches by exploiting control-flow independence. Previous approaches to handling difficult branches, one way or another, amount to executing incorrect instructions, squandering cycles and resources such as the i-cache bandwidth. Skipper, altogether avoids incorrect instructions by skipping over, without even fetching, the control-flow dependent computation conditioned by a difficult branch. Instead, Skipper fetches and executes the control-flow independent instructions, which are past the point where the branch's taken and not-taken paths reconverge, and which need to be executed irrespective of the branch outcome. Because Skipper executes the correct control-flow dependent instructions after the difficult branch is resolved, it conserves the valuable resources. Skipper is the first proposal to exploit control-flow independence by skipping over control-flow dependent computation in a superscalar pipeline. Skipper fetches the skipped control-flow dependent instructions after the post-reconvergent instructions, out of program order. We describe key mechanisms to implement Skipper without unduly complicating the pipeline despite out-of-order fetch. SPECint95 simulations show that Skipper performs 10% and 8% better than superscalar and the previously-proposed Polypath, respectively, when all three microarchitectures have equal i-cache bandwidth and hardware resources.
doi_str_mv 10.1109/MICRO.2001.991101
format conference_proceeding
fullrecord <record><control><sourceid>proquest_CHZPO</sourceid><recordid>TN_cdi_proquest_miscellaneous_26930286</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>991101</ieee_id><sourcerecordid>26930286</sourcerecordid><originalsourceid>FETCH-LOGICAL-c251t-a5aff560fa118681c11374d6adc248ee09b34f9f56a5585e5ff9bac25e3fb55e3</originalsourceid><addsrcrecordid>eNotkE1PhDAYhJuoiburP0BPnLyBfYEW6s2QVTdZs4kfZ1LKW60CxVKi_nub4GUmmTwzhyHkAmgCQMX14656OiQppZAIERI4ImtaCM4g46I4JiugRRrnOYNTsp6mD0ppyQVbke3zpxlHdDeRjHqjnJVOvRuPys8OI21dhD9jZ403w1uk7OCd7WLd2e_IDC2OGGRQeEZOtOwmPP_3DXm9275UD_H-cL-rbvexShn4WDKpNeNUS4CSl6AAsiJvuWxVmpeIVDRZrkVAJGMlQ6a1aGToYqYbFnRDrpbd0dmvGSdf92ZS2HVyQDtPdcpFRtOSB_ByAQ0i1qMzvXS_9XJN9ge1ZVlC</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype><pqid>26930286</pqid></control><display><type>conference_proceeding</type><title>Skipper: a microarchitecture for exploiting control-flow independence</title><source>IEEE Xplore All Conference Series</source><creator>Chen-Yong Cher ; Vijaykumar, T.N.</creator><creatorcontrib>Chen-Yong Cher ; Vijaykumar, T.N.</creatorcontrib><description>Although modern superscalar processors achieve, high branch prediction accuracy, certain branches either are inherently difficult to predict or incur destructive interference in prediction tables, causing significant performance loss due to mispredictions. We propose a novel microarchitecture, called Skipper, to handle such difficult branches by exploiting control-flow independence. Previous approaches to handling difficult branches, one way or another, amount to executing incorrect instructions, squandering cycles and resources such as the i-cache bandwidth. Skipper, altogether avoids incorrect instructions by skipping over, without even fetching, the control-flow dependent computation conditioned by a difficult branch. Instead, Skipper fetches and executes the control-flow independent instructions, which are past the point where the branch's taken and not-taken paths reconverge, and which need to be executed irrespective of the branch outcome. Because Skipper executes the correct control-flow dependent instructions after the difficult branch is resolved, it conserves the valuable resources. Skipper is the first proposal to exploit control-flow independence by skipping over control-flow dependent computation in a superscalar pipeline. Skipper fetches the skipped control-flow dependent instructions after the post-reconvergent instructions, out of program order. We describe key mechanisms to implement Skipper without unduly complicating the pipeline despite out-of-order fetch. SPECint95 simulations show that Skipper performs 10% and 8% better than superscalar and the previously-proposed Polypath, respectively, when all three microarchitectures have equal i-cache bandwidth and hardware resources.</description><identifier>ISSN: 1072-4451</identifier><identifier>ISBN: 0796513697</identifier><identifier>DOI: 10.1109/MICRO.2001.991101</identifier><language>eng</language><publisher>IEEE</publisher><subject>Accuracy ; Bandwidth ; Computational modeling ; Computer aided instruction ; Interference ; Microarchitecture ; Out of order ; Performance loss ; Pipelines ; Proposals</subject><ispartof>Proceedings of the annual International Symposium on Microarchitecture, 2001, p.4-15</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c251t-a5aff560fa118681c11374d6adc248ee09b34f9f56a5585e5ff9bac25e3fb55e3</citedby></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/991101$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,314,780,784,789,790,4050,4051,23930,23931,25140,27924,27925,54555,54932</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/991101$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Chen-Yong Cher</creatorcontrib><creatorcontrib>Vijaykumar, T.N.</creatorcontrib><title>Skipper: a microarchitecture for exploiting control-flow independence</title><title>Proceedings of the annual International Symposium on Microarchitecture</title><addtitle>MICRO</addtitle><description>Although modern superscalar processors achieve, high branch prediction accuracy, certain branches either are inherently difficult to predict or incur destructive interference in prediction tables, causing significant performance loss due to mispredictions. We propose a novel microarchitecture, called Skipper, to handle such difficult branches by exploiting control-flow independence. Previous approaches to handling difficult branches, one way or another, amount to executing incorrect instructions, squandering cycles and resources such as the i-cache bandwidth. Skipper, altogether avoids incorrect instructions by skipping over, without even fetching, the control-flow dependent computation conditioned by a difficult branch. Instead, Skipper fetches and executes the control-flow independent instructions, which are past the point where the branch's taken and not-taken paths reconverge, and which need to be executed irrespective of the branch outcome. Because Skipper executes the correct control-flow dependent instructions after the difficult branch is resolved, it conserves the valuable resources. Skipper is the first proposal to exploit control-flow independence by skipping over control-flow dependent computation in a superscalar pipeline. Skipper fetches the skipped control-flow dependent instructions after the post-reconvergent instructions, out of program order. We describe key mechanisms to implement Skipper without unduly complicating the pipeline despite out-of-order fetch. SPECint95 simulations show that Skipper performs 10% and 8% better than superscalar and the previously-proposed Polypath, respectively, when all three microarchitectures have equal i-cache bandwidth and hardware resources.</description><subject>Accuracy</subject><subject>Bandwidth</subject><subject>Computational modeling</subject><subject>Computer aided instruction</subject><subject>Interference</subject><subject>Microarchitecture</subject><subject>Out of order</subject><subject>Performance loss</subject><subject>Pipelines</subject><subject>Proposals</subject><issn>1072-4451</issn><isbn>0796513697</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2001</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><recordid>eNotkE1PhDAYhJuoiburP0BPnLyBfYEW6s2QVTdZs4kfZ1LKW60CxVKi_nub4GUmmTwzhyHkAmgCQMX14656OiQppZAIERI4ImtaCM4g46I4JiugRRrnOYNTsp6mD0ppyQVbke3zpxlHdDeRjHqjnJVOvRuPys8OI21dhD9jZ403w1uk7OCd7WLd2e_IDC2OGGRQeEZOtOwmPP_3DXm9275UD_H-cL-rbvexShn4WDKpNeNUS4CSl6AAsiJvuWxVmpeIVDRZrkVAJGMlQ6a1aGToYqYbFnRDrpbd0dmvGSdf92ZS2HVyQDtPdcpFRtOSB_ByAQ0i1qMzvXS_9XJN9ge1ZVlC</recordid><startdate>2001</startdate><enddate>2001</enddate><creator>Chen-Yong Cher</creator><creator>Vijaykumar, T.N.</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>2001</creationdate><title>Skipper: a microarchitecture for exploiting control-flow independence</title><author>Chen-Yong Cher ; Vijaykumar, T.N.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c251t-a5aff560fa118681c11374d6adc248ee09b34f9f56a5585e5ff9bac25e3fb55e3</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2001</creationdate><topic>Accuracy</topic><topic>Bandwidth</topic><topic>Computational modeling</topic><topic>Computer aided instruction</topic><topic>Interference</topic><topic>Microarchitecture</topic><topic>Out of order</topic><topic>Performance loss</topic><topic>Pipelines</topic><topic>Proposals</topic><toplevel>online_resources</toplevel><creatorcontrib>Chen-Yong Cher</creatorcontrib><creatorcontrib>Vijaykumar, T.N.</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</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>Chen-Yong Cher</au><au>Vijaykumar, T.N.</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Skipper: a microarchitecture for exploiting control-flow independence</atitle><btitle>Proceedings of the annual International Symposium on Microarchitecture</btitle><stitle>MICRO</stitle><date>2001</date><risdate>2001</risdate><spage>4</spage><epage>15</epage><pages>4-15</pages><issn>1072-4451</issn><isbn>0796513697</isbn><abstract>Although modern superscalar processors achieve, high branch prediction accuracy, certain branches either are inherently difficult to predict or incur destructive interference in prediction tables, causing significant performance loss due to mispredictions. We propose a novel microarchitecture, called Skipper, to handle such difficult branches by exploiting control-flow independence. Previous approaches to handling difficult branches, one way or another, amount to executing incorrect instructions, squandering cycles and resources such as the i-cache bandwidth. Skipper, altogether avoids incorrect instructions by skipping over, without even fetching, the control-flow dependent computation conditioned by a difficult branch. Instead, Skipper fetches and executes the control-flow independent instructions, which are past the point where the branch's taken and not-taken paths reconverge, and which need to be executed irrespective of the branch outcome. Because Skipper executes the correct control-flow dependent instructions after the difficult branch is resolved, it conserves the valuable resources. Skipper is the first proposal to exploit control-flow independence by skipping over control-flow dependent computation in a superscalar pipeline. Skipper fetches the skipped control-flow dependent instructions after the post-reconvergent instructions, out of program order. We describe key mechanisms to implement Skipper without unduly complicating the pipeline despite out-of-order fetch. SPECint95 simulations show that Skipper performs 10% and 8% better than superscalar and the previously-proposed Polypath, respectively, when all three microarchitectures have equal i-cache bandwidth and hardware resources.</abstract><pub>IEEE</pub><doi>10.1109/MICRO.2001.991101</doi><tpages>12</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 1072-4451
ispartof Proceedings of the annual International Symposium on Microarchitecture, 2001, p.4-15
issn 1072-4451
language eng
recordid cdi_proquest_miscellaneous_26930286
source IEEE Xplore All Conference Series
subjects Accuracy
Bandwidth
Computational modeling
Computer aided instruction
Interference
Microarchitecture
Out of order
Performance loss
Pipelines
Proposals
title Skipper: a microarchitecture for exploiting control-flow independence
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-04T19%3A47%3A22IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_CHZPO&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Skipper:%20a%20microarchitecture%20for%20exploiting%20control-flow%20independence&rft.btitle=Proceedings%20of%20the%20annual%20International%20Symposium%20on%20Microarchitecture&rft.au=Chen-Yong%20Cher&rft.date=2001&rft.spage=4&rft.epage=15&rft.pages=4-15&rft.issn=1072-4451&rft.isbn=0796513697&rft_id=info:doi/10.1109/MICRO.2001.991101&rft_dat=%3Cproquest_CHZPO%3E26930286%3C/proquest_CHZPO%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c251t-a5aff560fa118681c11374d6adc248ee09b34f9f56a5585e5ff9bac25e3fb55e3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=26930286&rft_id=info:pmid/&rft_ieee_id=991101&rfr_iscdi=true