Browse Prior Art Database

Simplifying the Template Association Function

IP.com Disclosure Number: IPCOM000106727D
Original Publication Date: 1993-Dec-01
Included in the Prior Art Database: 2005-Mar-21
Document File: 6 page(s) / 217K

Publishing Venue

IBM

Related People

Rechtschaffen, R: AUTHOR

Abstract

Part of the complexity of the prefetching mechanism that allows for the modification of source register values and the modification of locations from which registers are loaded is associated with the TEMPLATE matching criteria. A simplification that involves the extension of the GLT and the prefetching command is disclosed.

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

Simplifying the Template Association Function

      Part of the complexity of the prefetching mechanism that allows
for the modification of source register values and the modification
of locations from which registers are loaded is associated with the
TEMPLATE matching criteria.  A simplification that involves the
extension of the GLT and the prefetching command is disclosed.

      The process of adjustment for the change in locations of
register values that will be used in prefetching D-CACHE within the
framework of I x D -> D prefetching involves the notion of a
template.  The mechanism that manages the template is disclosed.

      The underlying principle in I x D -> D prefetching is that a
location can be a surrogate for a value.  Further, a piece of data
can be accessed in different ways depending on the program.  If the
elements of a matrix are accessed in column order by one algorithm
and in row order by another algorithm the ordinary D - > D
prefetching strategy will fail but a mechanism that maintains a form
of D -> D  as subordinate to an I-LINE is better.  Such a mechanism
is called I X D -> D.  A superior prefetching strategy for D-CACHE
lines is to use I sub VALUE x D sub VALUE -> D sub LOC as opposed to
I sub LOC x D sub LOC -> D sub LOC because the former mimics the
Address Generation (AGEN) Process while the latter works only when
values and locations which are the source of GPR's do not change.  It
is the nature of a program to use the value of a register to gain
addressability to data.  Some of the data that is now addressable is
now used to gain addressability to other data.  The prefetching
mechanism can detect when the target-D sub LOC of one access, with a
proper offset becomes the source-D sub LOC of another access.  This
relationship is called templating and can be used determine the new
source-D sub LOC when they are changed.

      IMPROVEMENTS IN I x D -> D PREFETCHING - The manner of
improvement in the D prefetching is to incorporate the value changes
and location changes in the prefetch mechanism.  We realize that I x
D -> D is a way of expressing I sub LOC x source-D sub LOC ->
target-D sub LOC which is intended to be a surrogate for the actual
Address Generate (AGEN) Process:
I sub VALUE x source-D sub VALUE -> target-D sub LOC
as these represent:

o   I sub VALUE - the instruction which makes the access,

o   source-D sub VALUE - the value of the GPR, and

o   target-D sub LOC - the line that will be accessed,
respectively.  Now instructions do not change but data can easily be
modified.  The corrected form of the prefetching is
I sub LOC x source-D sub VALUE -> target-D sub LOC
and the prefetching mechanism is organized around the I-LINE, and for
each I-LINE, has a table of triads:
{source-D sub LOC, source-D sub VALUE, target-D sub LOC} Such a triad
is supplied by the processor at the point of a D-CACHE MISS that has
not been prefetched and derived from a special register b...