Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

MSIS Compactification of Z-segments

IP.com Disclosure Number: IPCOM000103645D
Original Publication Date: 1993-Jan-01
Included in the Prior Art Database: 2005-Mar-18
Document File: 3 page(s) / 124K

Publishing Venue

IBM

Related People

Ekanadham, K: AUTHOR [+4]

Abstract

MSIS (Multisequencing a Single Instruction Stream) is a uniprocessor organization in which a set of processing elements (PEs) working in concert execute Segments of the instruction stream. The Segments are either P-Segments, normal uniprocessor instruction stream portions, that are processed in the E-MODE of MSIS and produce Z-Segments, or the Z-Segments that are processed in Z-MODE by MSIS. The main difference between E-MODE and Z-MODE is that during E-MODE each PE sees all instructions in the Segment and executes the ones that are assigned to it, but during Z-MODE, a PE only sees the instructions assigned to it.

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

MSIS Compactification of Z-segments

       MSIS (Multisequencing a Single Instruction Stream) is a
uniprocessor organization in which a set of processing elements (PEs)
working in concert execute Segments of the instruction stream.  The
Segments are either P-Segments, normal uniprocessor instruction
stream portions, that are processed in the E-MODE of MSIS and produce
Z-Segments, or the Z-Segments that are processed in Z-MODE by MSIS.
The main difference between E-MODE and Z-MODE is that during E-MODE
each PE sees all instructions in the Segment and executes the ones
that are assigned to it, but during Z-MODE, a PE only sees the
instructions assigned to it.

      As all PEs see all instructions in E-MODE, each PE can create
the Z-CODE it will require to re-execute the Segment as a Z-Segment,
the Z-CODE being stored in the Z-CACHE, and associated with
instructions in the Z-CODE are S-LISTS and D-LISTS as appropriate.
An S-LIST instructs the PE, in the Z-MODE, that one or more of the
source registers in an instruction assigned to it is set by another
instruction that is executed on another PE, an S-LIST is a receiving
obligation.  The D-LIST instructs the PE in the Z-MODE as to the
names of PEs that require the values of the register(s) that are
being set by an instruction that is assigned to it.  A D-LIST entry
is a sending obligation.

      The frequency of STORE instructions within code necessitates
that an efficient way be devised to determine if SIIS (Store Into the
Instruction Stream) has occurred.  The most direct way is to have an
SIIS directory supporting the backing store Z-CODE and to use
compacting operations (OR) subtraction operations (XOR) as a means of
maintaining a record of usage within lines.  A new form of directory
that can be efficiently used for SIIS detection is proposed and three
operations are defined for this directory: STORE ACCESS, COMPACTION,
and SUBTRACTION.  The ranges of I-TEXT that determine a Z-CODE are
transformed into  COMPACTION and SUBTRACTION ACCESSES that modify the
contents of directory bit maps which are searched by the STORE
ACCESSES to determine if SIIS has occurred.

      The Z-CODE can be used to determine the ranges, that is,
initial addresses and offsets, of Instruction addresses, that were
used to create it.  This information is derived from the extensions
of the branch instruction which must have putative and fall through
addresses for all branches so as to perform branch guess verification
and branch recovery.  These ranges properly sorted can be used to
filter STORE instructions so as to determine if SIIS has occurred to
a Z-CODE.  SIIS is the act of a program modify itself by storing into
the instruction stream.  Certain computer arch...