Browse Prior Art Database

Unencountered Branch Indication

IP.com Disclosure Number: IPCOM000060544D
Original Publication Date: 1986-Apr-01
Included in the Prior Art Database: 2005-Mar-08
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Emma, PG: AUTHOR [+5]

Abstract

A method is set forth for reducing the branch penalty when processing branch instructions in a computer. A Branch History Table (BHT) contains entries that are comprised of the pair for addresses of branches that were last observed to have been taken. During prefetching, the BHT is searched to see if an entry exists for which is the same as the fetch address. A "BHT hit" is the event in which such an entry is found, and the consequence of a hit is to redirect prefetching down the path specified by and to notify the instruction decoder that the instruction at is a taken branch.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 1

Unencountered Branch Indication

A method is set forth for reducing the branch penalty when processing branch instructions in a computer. A Branch History Table (BHT) contains entries that are comprised of the pair <Branch Address, Target Address> for addresses of branches that were last observed to have been taken. During prefetching, the BHT is searched to see if an entry exists for which <Branch Address> is the same as the fetch address. A "BHT hit" is the event in which such an entry is found, and the consequence of a hit is to redirect prefetching down the path specified by <Target Address> and to notify the instruction decoder that the instruction at <Branch Address> is a taken branch. Thus, if the instruction decoder encounters a branch that did not cause a BHT hit, the decoder assumes that the branch is not taken, and it continues decoding down the sequential path. The address of any branch instruction will either hit or miss in the BHT. As previously mentioned, the address hits for exactly one reason, namely, the branch has been previously encountered and was taken when it was last encountered. However, a miss can occur for one of two reasons: either the branch has been previously encountered and was not taken when it was last encountered, or the branch has never been previously encountered. The later of these reasons is a major cause of branch wrong guess. This is sometimes erroneously referred to as "cold start", when in fact this effect persists in steady state. To alle...