Browse Prior Art Database

Dynamic Distinction of Distinguished Segments

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

Publishing Venue

IBM

Related People

Emma, PG: AUTHOR [+4]

Abstract

A scheme has been proposed for encoding truncated Branch History Table (BHT) target addresses in a manner that would cover more of the relevant address space than a pure truncation. This scheme involves truncating even more of the high-order address bits, and using these bit positions to designate distinguished segments, i.e., these positions constitute a hashing of the actual high-order bits. Thus, any truncated address would specify an offset within a segment, and the segment designator (remaining bit positions) would designate a specific segment which had been chosen at design time as a likely target segment.

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

Page 1 of 3

Dynamic Distinction of Distinguished Segments

A scheme has been proposed for encoding truncated Branch History Table (BHT) target addresses in a manner that would cover more of the relevant address space than a pure truncation. This scheme involves truncating even more of the high-order address bits, and using these bit positions to designate distinguished segments, i.e., these positions constitute a hashing of the actual high-order bits. Thus, any truncated address would specify an offset within a segment, and the segment designator (remaining bit positions) would designate a specific segment which had been chosen at design time as a likely target segment. For example, if two bits are used to designate a segment, one encoding (say, 00) specifies that the truncated target address designates an offset within the same segment as the relevant taken branch, and three other encodings are available to specify three distinct segments which are deemed the most likely target segments. These three segments need not be contiguous to each other, or to the segment containing the branch, but they must have been selected as the most likely segments by the designers of the machine. Thus, a hardwired table of three entries must perform a mapping for these three encodings. It has been discovered that good candidate distinguished segments are in the low address space of memory since many branches that branch outside of a segment are branches that call operating system utilities. Note however, that for each call to a utility, there is most probably a returning branch to some place in the user code. Thus, for any specific trace tape, there are good candidate distinguished segments both in the operating system and within user code space. Therefore, such measurement on a single trace is misleading, since the good candidate segments for a different trace would be comprised of the same subset of distinguished segments associated with the same operating system, and a new set of distinguished segments that correspond to wherever the new user code is executing. Thus, a good design choice for distinguished segments (in a hardwired table) is that subset of segments relevant to the operating system. This precludes roughly half of the branches (e.g., the operating system returns to user code). The following describes a means for maintaining a large selection of candidate distinguished segments, and to dynamically distinguish a subset of the segments (however, many are addressable by the BHT target encoding) based on use. This permits the set of distinguished segments to vary with time in whatever manner would provide the most target coverage. As mentioned previously, the encoding of a target address has a subset of i bits, called the segment designator. This field designates 2i - 1 distinguished segments, with one remaining encoding that is used to designate the segment containing the originating branch. A small table is kept with 2i - 1 entries that perform the...