Browse Prior Art Database

Context Oriented Branch Prediction

IP.com Disclosure Number: IPCOM000106687D
Original Publication Date: 1993-Dec-01
Included in the Prior Art Database: 2005-Mar-21
Document File: 4 page(s) / 136K

Publishing Venue

IBM

Related People

Ekanadham, K: AUTHOR [+2]

Abstract

Consider a branch that has variable action, called a TYPE B branch, and allow the machine to have a register called the BRANCH CONTEXT REGISTER (BCR) that maintains as a binary bit string the actions of the last m TYPE B branches that the machine has executed. The value of the BCR as a binary number can be used to index within a bit string maintained within the TYPE-B branch history table for any branch. This bit string will specify the action of the branch which has been accessed with the context given by the last m-branch actions given.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 39% of the total text.

Context Oriented Branch Prediction

      Consider a branch that has variable action, called a TYPE B
branch, and allow the machine to have a register called the BRANCH
CONTEXT REGISTER (BCR) that maintains as a binary bit string the
actions of the last m TYPE B branches that the machine has executed.
The value of the BCR as a binary number can be used to index within a
bit string maintained within the TYPE-B branch history table for any
branch.  This bit string will specify the action of the branch which
has been accessed with the context given by the last m-branch actions
given.

      Such a branch prediction mechanism is a marginal predictor as
it depends exclusively on the branch that is being accessed.  It
differs from other marginal predictors in that it can use the context
created by prior branches though the use of the contents of the BCR.
Other marginal predictors that ignore the context are branch
predictors that consider the pattern of action of a given branch and
predict the next action based on the pattern as well as the standard
BHT predictor that predicts the next action  based on the repetition
of the prior action.

DIFFERENCE FROM A JRBP - A joint recursive branch predictor (JRBP)
also predicts on the context in which a branch occurs and operates in
the following fashion.

      A Joint Recursive Branch Predictor, JRBP, has the following set
of properties:

o   It should continue with the prediction scheme if the prior
    prediction is correct.

o   It should wrap around so that a finite length predictor can
    continue to predict indefinitely as long as it is correct.

o   It need not synch with addresses of the branches, except at a
    error, because

    -   A recursive predictor of a branch is defined as a sequence of
        the actions of branches and can be used to predict the next
        action of the next branch in conjunction with a BHT which
        will supply the related target address.

        The ability to operate within a joint target set of a set of
        branches with the same predictor format used for a single
        branch is a result of the observation that each branch will
        specify a target that dictates the next branch that is
        encountered if the target is correct.  Just as joint
        distributions contain additional information than marginal
        distributions, the use of the joint recursive predictors of
        prespecified length can be superior to the operation of
        individual recursive predictors on the marginal sequences of
        individual branch actions.

o   The predictor needs to have at least one occurrence of each
    action of each branch within the loop so that the recovery
    mechanism can recover to the position specified by the correct
    action following an error.

      The three major differences between contex...