Branch Direction Prediction with Vote Predictor

碩士 === 國立交通大學 === 資訊工程系 === 88 === As modern microprocessors employ deeper pipelines and issue multiple instructions per cycle, they are becoming increasingly dependent on accurate branch prediction. Up to now, various branch prediction strategies have been proposed. There are two branch predictors...

Full description

Bibliographic Details
Main Authors: Hung-Ching Lin, 林宏慶
Other Authors: Chang-Jiu Chen
Format: Others
Language:en_US
Published: 2000
Online Access:http://ndltd.ncl.edu.tw/handle/20484087392933033545
id ndltd-TW-088NCTU0392063
record_format oai_dc
spelling ndltd-TW-088NCTU03920632015-10-13T10:59:52Z http://ndltd.ncl.edu.tw/handle/20484087392933033545 Branch Direction Prediction with Vote Predictor 具投票預測器之分支方向預測 Hung-Ching Lin 林宏慶 碩士 國立交通大學 資訊工程系 88 As modern microprocessors employ deeper pipelines and issue multiple instructions per cycle, they are becoming increasingly dependent on accurate branch prediction. Up to now, various branch prediction strategies have been proposed. There are two branch predictors are widely used today. The first is bimod predictor, using 2-bit saturation counters to record the history outcomes of every branch instruction. So bimod predictor is good to predict those branches which are bias taken or non-taken. The second is two-level adaptive branch predictor, which using two-level architecture to trace the correlation of nearby branch outcomes. So if one branch have correlation with nearby branches, the two-level branch predictor can make the correct predictor. These two branch predictors can gain benefits on their way individually. However, we find that there is no one branch predictor is good for all benchmarks. With the factor above, we propose a branch prediction machine, called “vote predictor”, to make the more accurate prediction. In the vote predictor, we combine three different branch predictors to make prediction and use a vote circuit to select the final output. Every time when one branch is encountered, three branch predictors make prediction concurrently. If two or more branch predictors make the same output (taken or non-taken), the vote circuit will select it as the final output. So the vote circuit just work like the majority rule. In order to find the best combination, we select four well-known branch predictors, which are bimod, gshare, PAg and path-based branch predictor, and combine three of them arbitrarily. We simulate our design by using the SimpleScalar tools set, and compare with its component predictor models on eight of the SPEC95 benchmarks. From the simulation results, it shows that the vote predictor outperforms its component predictors that make prediction alone. With 4K entries of pattern history table, the vote predictor increases the prediction accuracy with one of its most accurate component predictor from 1% to 2%. Finally, we also compare our vote predictor with the famous combining predictor, and the result shows that our vote predictor is slight better than the combining predictor as the PHT entry is increased to 8K. Chang-Jiu Chen 陳昌居 2000 學位論文 ; thesis 64 en_US
collection NDLTD
language en_US
format Others
sources NDLTD
description 碩士 === 國立交通大學 === 資訊工程系 === 88 === As modern microprocessors employ deeper pipelines and issue multiple instructions per cycle, they are becoming increasingly dependent on accurate branch prediction. Up to now, various branch prediction strategies have been proposed. There are two branch predictors are widely used today. The first is bimod predictor, using 2-bit saturation counters to record the history outcomes of every branch instruction. So bimod predictor is good to predict those branches which are bias taken or non-taken. The second is two-level adaptive branch predictor, which using two-level architecture to trace the correlation of nearby branch outcomes. So if one branch have correlation with nearby branches, the two-level branch predictor can make the correct predictor. These two branch predictors can gain benefits on their way individually. However, we find that there is no one branch predictor is good for all benchmarks. With the factor above, we propose a branch prediction machine, called “vote predictor”, to make the more accurate prediction. In the vote predictor, we combine three different branch predictors to make prediction and use a vote circuit to select the final output. Every time when one branch is encountered, three branch predictors make prediction concurrently. If two or more branch predictors make the same output (taken or non-taken), the vote circuit will select it as the final output. So the vote circuit just work like the majority rule. In order to find the best combination, we select four well-known branch predictors, which are bimod, gshare, PAg and path-based branch predictor, and combine three of them arbitrarily. We simulate our design by using the SimpleScalar tools set, and compare with its component predictor models on eight of the SPEC95 benchmarks. From the simulation results, it shows that the vote predictor outperforms its component predictors that make prediction alone. With 4K entries of pattern history table, the vote predictor increases the prediction accuracy with one of its most accurate component predictor from 1% to 2%. Finally, we also compare our vote predictor with the famous combining predictor, and the result shows that our vote predictor is slight better than the combining predictor as the PHT entry is increased to 8K.
author2 Chang-Jiu Chen
author_facet Chang-Jiu Chen
Hung-Ching Lin
林宏慶
author Hung-Ching Lin
林宏慶
spellingShingle Hung-Ching Lin
林宏慶
Branch Direction Prediction with Vote Predictor
author_sort Hung-Ching Lin
title Branch Direction Prediction with Vote Predictor
title_short Branch Direction Prediction with Vote Predictor
title_full Branch Direction Prediction with Vote Predictor
title_fullStr Branch Direction Prediction with Vote Predictor
title_full_unstemmed Branch Direction Prediction with Vote Predictor
title_sort branch direction prediction with vote predictor
publishDate 2000
url http://ndltd.ncl.edu.tw/handle/20484087392933033545
work_keys_str_mv AT hungchinglin branchdirectionpredictionwithvotepredictor
AT línhóngqìng branchdirectionpredictionwithvotepredictor
AT hungchinglin jùtóupiàoyùcèqìzhīfēnzhīfāngxiàngyùcè
AT línhóngqìng jùtóupiàoyùcèqìzhīfēnzhīfāngxiàngyùcè
_version_ 1716835371049811968