IP Library › Granted Patent US 9,513,909
Granted Patent B2
US 9,513,909 · App. 15/073,685 · Granted Dec 6, 2016

Variable updates of branch prediction states

Inventors: Narasimha R. Adiga (Bangalore, IN); James J. Bonanno (Wappingers Falls, NY); Ashutosh Misra (Lucknow, IN); Anthony Saporito (Highland, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/30061G06F9/30058G06F9/30145G06F9/3806G06F9/3844G06F9/3848
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,513,909
App. No.
15/073,685
Granted
Dec 6, 2016
Kind
B2
Abstract

Embodiments relate to variable branch prediction. An aspect includes determining a branch selection of an execution unit of a processor and determining whether a present prediction state of the state machine correctly predicted the branch selection by the execution unit. The aspect includes determining whether a predetermined condition is met for performing an alternative state transition and, based on determining that the predetermined condition is met, changing the present prediction state of the branch prediction state machine from the one state to another state according to an alternative state transition process based on the branch selection of the execution unit and the determination whether the present prediction state of the state machine correctly predicted the branch selection by the execution unit.

Claims (10)

1. A computer system for variable updates of branch prediction states, the system comprising:

a memory for storing instructions; and

a processor, communicatively coupled to the memory, the processor including an execution unit for executing instructions and a prediction unit for predicting a branch selection of the execution unit, the prediction unit having stored therein a four-state state machine made up of a plurality of branch predictors for encoding a present prediction state, the state machine including a plurality of “taken” states and a plurality of “not-taken” states, the computer system configured to perform a method comprising:

determining, by the prediction unit of the processor, that a present state of the state machine is one of the plurality of “not-taken” states or one of the plurality of “taken” states;

determining, by the prediction unit of the processor, the branch selection of the execution unit corresponding to a selection to take a branch of a branch instruction or to not take the branch of the branch instruction;

determining whether the present prediction state of the state machine correctly predicted the branch selection by the execution unit;

determining, by the prediction unit of the processor, whether a predetermined condition is met for performing an alternative state transition, wherein the predetermined condition is a predetermined number of incorrect predictions;

based on determining that the predetermined condition is not met, changing, by the prediction unit of the processor, the present prediction state of the state machine from a first state to a second state according to a default state transition process based on the branch selection of the execution unit and the determination whether the present prediction state of the state machine correctly predicted the branch selection by the execution unit, the second state having a consecutive prediction strength level with the first state;

based on determining that the predetermined condition is met, changing the present prediction state of the state machine from the first state to a fourth state according to an alternative state transition process based on the branch selection of the execution unit and the determination whether the present prediction state of the state machine correctly predicted the branch selection by the execution unit, the fourth state having a non-consecutive prediction strength level with the first state, wherein changing from the first state to the fourth state includes skipping from a “strong taken” state to a “strong not-taken” state when the branch selection is not taken, or from a “strong not-taken” state to a “strong taken” state when the branch selection is taken; and

repeating the alternative state transition process a predetermined plurality of times after one first time based on a determination that the alternative state transition process was performed the one first time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2016
From: ADIGA, NARASIMHA R.; BONANNO, JAMES J.; MISRA, ASHUTOSH; SAPORITO, ANTHONY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038174/0959 →
Continuity (2)
Continuation 14247813 · Apr 8, 2014
Related Publication 20160188339A1 · Jun 30, 2016