Browse Prior Art Database

Partial Address Recording in Branch History Tables

IP.com Disclosure Number: IPCOM000105137D
Original Publication Date: 1993-Jun-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 2 page(s) / 55K

Publishing Venue

IBM

Related People

Langston, KN: AUTHOR [+2]

Abstract

Disclosed are techniques for recording partial address bits in Branch and Target fields in Branch History Table. The benefit is significant reduction of directory circuits, which can be critical for Branch History Tables with large number of entries or for architecture with large number of address bits.

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

Partial Address Recording in Branch History Tables

      Disclosed are techniques for recording partial address bits in
Branch and Target fields in Branch History Table.  The benefit is
significant reduction of directory circuits, which can be critical
for Branch History Tables with large number of entries or for
architecture with large number of address bits.

      A Branch History Table (BHT) is used for early resolutions of
branch outcomes and target instruction addresses.  In a typical BHT
design, each history entry consists of [BRC,TRG], where BRC is the
address of a branch and TRG is the target instruction address the
branch was leading to previously.  As table size grows the amount of
directory circuits required to record such addresses will become
significant, especially when more (e.g., 64) bits of addressing are
used.  One known technique for reducing BHT table circuits is to
record only partial address bits in BRC fields.  That is, the
prediction of outcome for a branch instruction may be determined by
partial address match with the BRC of a BHT entry.

      A technique was also proposed.  the reduction of address bits
recorded at TRG.  The proposal was based on the observation that
majority of the taken branches are short.  That is, the distance (in
terms of logical address difference) between a taken branch and its
target tends to be short (e.g., <=4K and <=-256).  Therefore the BHT
may be partitioned into multiple tables, each covering certain range
of branch distance.  The circu...