发明名称 |
Auxiliary perceptron branch predictor with magnitude usage limit |
摘要 |
According to an aspect, branch prediction in a processing system that includes a primary branch predictor and an auxiliary perceptron branch predictor is provided. The primary branch predictor and the auxiliary perceptron branch predictor are searched to make a branch prediction. A perceptron magnitude of a perceptron branch predictor from the auxiliary perceptron branch predictor is compared to a magnitude usage limit. An auxiliary predictor result from the auxiliary perceptron branch predictor is selected as the branch prediction based on the perceptron magnitude exceeding the magnitude usage limit. A primary predictor result from the primary branch predictor is selected as the branch prediction based on the perceptron magnitude not exceeding the magnitude usage limit. |
申请公布号 |
US9471314(B1) |
申请公布日期 |
2016.10.18 |
申请号 |
US201514969535 |
申请日期 |
2015.12.15 |
申请人 |
INTERNATIONAL BUSINESS MACHINES CORPORATION |
发明人 |
Bonanno James J.;Cadigan, Jr. Michael J.;Collura Adam B.;Lipetz Daniel |
分类号 |
G06F9/00;G06F9/52;G06F9/30;G06F9/38 |
主分类号 |
G06F9/00 |
代理机构 |
Cantor Colburn LLP |
代理人 |
Cantor Colburn LLP ;McNamara Margaret |
主权项 |
1. A method for branch prediction in a processing system comprising a primary branch predictor and an auxiliary perceptron branch predictor, the method comprising:
searching the primary branch predictor and the auxiliary perceptron branch predictor to make a branch prediction, wherein the auxiliary perceptron branch predictor is an artificial neural network that predicts branch direction by learning correlations between values in a history vector and branch outcomes; computing a plurality of modified weights based on a plurality of perceptron weights and the values in the history vector, wherein the history vector tracks a sequence of branch direction predictions; summing the modified weights to produce a perceptron magnitude; comparing the perceptron magnitude of a perceptron branch predictor from the auxiliary perceptron branch predictor to a magnitude usage limit, wherein the magnitude usage limit is dynamically adjusted during a learning limit process that learns at what value the auxiliary perceptron branch predictor is more often correct and the primary branch predictor is more often incorrect; selecting an auxiliary predictor result from the auxiliary perceptron branch predictor as the branch prediction based on the perceptron magnitude exceeding the magnitude usage limit; and selecting a primary predictor result from the primary branch predictor as the branch prediction based on the perceptron magnitude not exceeding the magnitude usage limit. |
地址 |
Armonk NY US |