Browse Prior Art Database

Prefetch Deconfirmation Based on BHT Error

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

Publishing Venue

IBM

Related People

Emma, PG: AUTHOR [+5]

Abstract

This invention improves the performance of confirmed sequential prefetching schemes by using the occurrence of Branch History Table (BHT) errors as an indication of a change in program behavior. Sequential prefetching relies on sequential behavior of programs and any additional sequentiality of instruction (I) fetching introduced by machine organization. It is of interest to note that the sequentiality introduced by machine organization is also historically repetitious for some machine organizations but not for others. BHT driven I-fetching is an example of the latter, and as such the dynamic action of a BHT and the methods used to confirm prefetching can be antagonistic in some cases.

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

Page 1 of 1

Prefetch Deconfirmation Based on BHT Error

This invention improves the performance of confirmed sequential prefetching schemes by using the occurrence of Branch History Table (BHT) errors as an indication of a change in program behavior. Sequential prefetching relies on sequential behavior of programs and any additional sequentiality of instruction (I) fetching introduced by machine organization. It is of interest to note that the sequentiality introduced by machine organization is also historically repetitious for some machine organizations but not for others. BHT driven I-fetching is an example of the latter, and as such the dynamic action of a BHT and the methods used to confirm prefetching can be antagonistic in some cases. Confirmed sequential prefetching schemes employ some method to detect program behavior for which sequential prefetching will produce a performance gain, and a method to confirm that the prefetches performed are actually used. The essence of this technique is to detect instruction reference patterns that, in combination with the cache size and organization, would make sequential prefetching an effective strategy. The assumption is that past behavior is an indicator of future behavior. In a similar manner, the confirmation mechanism of the prefetching scheme detects when this pattern has changed, by noting an error in prefetching, and uses this to "turn off" sequential prefetching. In implementations with a BHT, there is an additional indication of a change in the referencing pattern available that will allow the more timely cessation of sequential prefetching and thereby improve the accuracy of the prefetching mechanism. In particular, when the program behavior changes, it must be the result o...