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...
Main Authors: | , |
---|---|
Other Authors: | |
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 |