Browse Prior Art Database

Preferred Block Encoding for Truncated BHT Entries

IP.com Disclosure Number: IPCOM000060008D
Original Publication Date: 1986-Feb-01
Included in the Prior Art Database: 2005-Mar-08
Document File: 2 page(s) / 13K

Publishing Venue

IBM

Related People

Emma, PG: AUTHOR [+5]

Abstract

A Branch History Table (BHT) is a table that contains entries of target addresses for taken branches. Since the distance between a branch and its target does not tend to span the entire address space for most branches, it is possible to store a truncated version of the target address (for economical reasons) without losing an appreciable number of branches. However, for the small number of branches that are affected by this truncation, the penalty associated with the next encounter of the branch is the penalty encountered for branch wrong guess. What can be done in this case is to mark the entry with a bit that signifies "bad target", so that on subsequent encounters the penalty is reduced to that associated with a correct Decode History Table (DHT) guess.

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

Page 1 of 2

Preferred Block Encoding for Truncated BHT Entries

A Branch History Table (BHT) is a table that contains entries of target addresses for taken branches. Since the distance between a branch and its target does not tend to span the entire address space for most branches, it is possible to store a truncated version of the target address (for economical reasons) without losing an appreciable number of branches. However, for the small number of branches that are affected by this truncation, the penalty associated with the next encounter of the branch is the penalty encountered for branch wrong guess. What can be done in this case is to mark the entry with a bit that signifies "bad target", so that on subsequent encounters the penalty is reduced to that associated with a correct Decode History Table (DHT) guess. When truncating an address prior to insertion into the BHT, a comparison can be made between the high-order truncated bits of the target address and the corresponding high-order bits of the branch address. If these are not equal, the "bad target" bit should be set immediately, i.e., it is known at this point that the branch in question is affected by truncation. Doing this precludes taking a full branch wrong guess penalty on the next encounter of the branch, and full advantage of correct DHT action can be realized immediately. Note that, as an alternative to including a "bad target" bit, a bad target can be signalled merely by setting all bits of the target address field to zero. This would cause only those branches that branch to location 0 in a segment to display DHT action rather than reap the full benefit of the BHT, and it would require a small number of circuits to test for zero address. However, if this encoding were used without removing the former "bad target" bit, this bit can be used to signal a branch to another known segment with the non-zero offset given by the target address field. This is richer than increasing the target address field by one bit, since the designated segment need not be a contiguous segment. It has been determined that for lar...