Browse Prior Art Database

Speculation on Type-B Branches

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

Publishing Venue

IBM

Related People

Ekanadham, K: AUTHOR [+3]

Abstract

Consider a simple processor organization in which we have sufficient I-Bandwidth so that both paths at a branch are available as required. To be more specific, assume that branches are predicted by a Branch History Table (BHT) that identifies the branches as TYPE-A, fixed action/target branches, and TYPE-B, variable action/target branches. For TYPE-B branches the processor is prompted to access both paths at prefetch time.

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

Speculation on Type-B Branches

      Consider a simple processor organization in which we have
sufficient I-Bandwidth so that both paths at a branch are available
as required.  To be more specific, assume that branches are predicted
by a Branch History Table (BHT) that identifies the branches as
TYPE-A, fixed action/target branches, and TYPE-B, variable
action/target branches.  For TYPE-B branches the processor is
prompted to access both paths at prefetch time.

      HANDLING CONDITIONAL TYPE-B BRANCHES - Since the frequency of
accuracy of a BHT on a TYPE-B branch is 50 percent, it would seem
that a performance equivalent to following the prediction of such a
branch with the guessed stream would be to alternate instructions
from both streams until the branch is resolved.  As instructions are
processed in sequence the instructions from the wrong stream are
never executed and thus there is not effect of these instructions on
the machine state.  The entire process could be accomplished by
decoding instructions from alternate I-Registers.

      ADVANTAGE OF THE ALTERNATING STREAM APPROACH - Within the
processor design just described, alternating instructions from both
streams following a conditional branch can be superior to guessing on
a single path because of the decoder delays in the paths.  If either
stream has a delay, such as an Address Generate Interlock (AGI), the
cycles of delay in one stream can be used by the alternate stream.
If the non-delayed st...