发明名称 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