Browse Prior Art Database

Making Z-Views using an Inverse Branch History Table

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

Publishing Venue

IBM

Related People

Ekanadham, K: AUTHOR [+2]

Abstract

In the case of a Multisequencing a Single Instruction Stream (MSIS), the generation of Z-Views requires a prompting and terminating criteria. The following is a simplistic approach to prompting and terminating the process of creating a Z-View:

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

Making Z-Views using an Inverse Branch History Table

      In the case of a Multisequencing a Single Instruction Stream
(MSIS), the generation of Z-Views requires a prompting and
terminating criteria.  The following is a simplistic approach to
prompting and terminating the process of creating a Z-View:

1.  The prompting event is a taken branch to an instruction that does
    not have an extant Z-View.

2.  At the time of the scheduling of an unconditional taken branch:

    o   The Z-View must terminate with the branch if its target
        already has a Z-View.

    o   The Z-View may terminate because of a length criteria.

Ideally, each segment of code starting from an entry point (with the
potential of being called from several places) must be a separate
Z-View.  The simplistic approach does not facilitate this objective
as it fails to properly identify the points within the program that
need Z-Views established for them because they are:

o   referenced by several other program segments, or

o   referenced multiple times within the same Z-View.

If the objective is to create acyclic Z-Views and to force the common
segments to have their own separate Z-Views then the simplistic
approach is inadequate.

      If the extreme position is taken that Z-Views should never
terminate unless they branched to an existing Z-View, then the
initial Z-View would never terminate.  It would repeat many copies of
a particular program segment without ever recognizing that the Z-View
for that program segment could more efficiently be handled from its
Z-Code running concurrently all the processors.  The termination of
Z-Views based on length, is a haphazard attempt at allowing the
common targets that terminate Z-Views to emerge.

      It is not merely the problem of repeated segments within the
single Z-View that must be addressed but the larger problem of
identifying the correct set of Z-Views which will allow all code that
calls them to execute efficiently.  The progression from no Z-Code to
all Z-Code can take several paths.  The way to distinguish these
paths is to consider how much Z-Code is executed in the process.  The
code executed in the creation of the Z-View will in conjunction with
the IBHT (Inverse Branch History Table) determine the termination
criteria for the Z-View.

      To fix our ideas let us imagine that the execution o...