IP Library Granted Patent US 8,037,288
Granted Patent B2
US 8,037,288 · App. 11/931,203 · Granted Oct 11, 2011

Hybrid branch predictor having negative ovedrride signals

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 8,037,288
App. No.
11/931,203
Granted
Oct 11, 2011
Kind
B2
Abstract

Various embodiments are described relating to processors, branch predictors, branch prediction systems, and computing systems.

Claims (32)

1. A processor comprising:

a plurality of three or more branch predictors, wherein each branch predictor is adapted to provide a prediction and an override signal, each override signal being produced using an independent override logic associated with each branch predictor; and

a branch prediction control circuit to generate a branch prediction based on the prediction and override signal from each predictor, the branch prediction control circuit being operable to:

determine if a negative override signal has been asserted from one of the plurality of three or more branch predictors;

if a negative override signal has been asserted from one of the plurality of three or more branch predictors, then select a branch prediction from a predictor having a highest confidence level that did not assert the negative override; and

otherwise, if a negative override signal has not been asserted from one of the plurality of three or more branch predictors, then select a branch prediction from a predictor having a highest confidence level from among the plurality of three or more branch predictors.

2. The processor of claim 1 wherein each branch predictor is adapted to provide a prediction, an override signal and a confidence level.

3. The processor of claim 1 wherein each branch predictor is adapted to provide a prediction and an override signal, the override signal to include a positive override signal to indicate when the predictor asserting the positive override signal should be trusted.

4. The processor of claim 1 wherein each branch predictor is adapted to provide a prediction and an override signal, the override signal to include a negative override signal to indicate when the predictor asserting the negative override signal should not be trusted.

5. The processor of claim 1 wherein the override signal provided by at least one branch predictor of the plurality of three or more branch predictors comprises:

an override signal output by a corresponding branch predictor of the plurality of three or more branch predictors, the override signal configured to result in either a selection or a non-selection of the prediction of the corresponding branch predictor regardless of a short term history of the plurality of three or more branch predictors.

6. The processor of claim 1 wherein each override signal provided by each branch predictor of the plurality of three or more branch predictors comprises an independent override signal produced using data kept local to each branch predictor.

7. A method comprising:

determining if a negative override signal has been asserted from one of a plurality of three or more predictors, each override signal being produced using an independent override logic associated with each branch predictor;

if a negative override signal is determined as being asserted from one of the predictors, then selecting a branch prediction from a branch predictor having a highest confidence level that did not assert the negative override signal; and

otherwise, if a negative override signal is not determined as being asserted, then selecting a branch prediction from a branch predictor having a highest confidence level from among the plurality of three or more predictors.

8. A method comprising:

providing a plurality of three or more override signals from a corresponding plurality of predictors, each override signal being produced using an independent override logic associated with each predictor;

determining if a negative override signal has been asserted from one of the plurality of predictors;

if a negative override signal has been asserted from one of the plurality of predictors, then selecting a branch prediction from a predictor having a highest confidence level that did not assert the negative override; and

otherwise, if a negative override signal has not been asserted from one of the plurality of predictors, then selecting a branch prediction from a predictor having a highest confidence level.

9. A branch prediction system, comprising:

determination means for determining if a negative override signal has been asserted from one of a plurality of three or more predictors; and

selection means for selecting:

a branch prediction from a predictor having a highest confidence level that did not assert the negative override signal if the negative override signal has been asserted from one of the plurality of three or more predictors, or

a branch prediction from a predictor having a highest confidence level if the negative override signal has not been asserted from one of the plurality of three or more predictors.

10. A branch prediction system, comprising:

prediction means for providing a plurality of three or more override signals from a corresponding plurality of predictors, each override signal being produced using an independent override logic associated with each predictor;

determination means for determining if a negative override signal has been asserted from one of a plurality of predictors; and

selection means for selecting:

a branch prediction from a predictor having a highest confidence level that did not assert the negative override signal if the negative override signal has been asserted from one of the plurality of three or more predictors, or

a branch prediction from a predictor having a highest confidence level if the negative override signal has not been asserted from one of the plurality of three or more predictors.

Assignments (9)
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: THE INVENTION SCIENCE FUND I, LLC
To: RPX CORPORATION
Reel/Frame 044919/0258 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2014
From: CENTAURUS DATA LLC
To: THE INVENTION SCIENCE FUND I, LLC
Reel/Frame 032658/0602 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2011
From: SEARETE LLC
To: THE INVENTION SCIENCE FUND I, LLC
Reel/Frame 026770/0855 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2009
From: GLEW, ANDREW FORSYTH
To: CENTAURUS DATA LLC
Reel/Frame 022671/0378 →