Browse Prior Art Database

Producer Consumer Synchronization Registers as Lookasides for the Memory

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

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 39% of the total text.

Producer Consumer Synchronization Registers as Lookasides for the Memory

       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.

      In Producer Consumer Synchronization (PCS) the format of the
instruction specifies the instructions that it depends on.  Thus,
there is no need for registers to act as intermediates at the
architecture level and for MSIS to discover the relation one
dependency at a time.  Further, the need to recover the values of
registers vanishes with such instructions.

      The point of PCS is that operations exist between instructions
that are supported by registers within a branch group but all these
operations only harden in the memory hierarchy.  In the absence of
registers, the dependencies between separate segments of the
computation are only through memory locations and, as such, the
recovery from a Branch Wrong Guess is merely the canceling of the
STORE operations that have not yet committed.

      PCS offers the advantages of parallelism without the need to
concern itself with sequential order constraints or branch recovery.

      PCS is defined as a new language which has many of the
characteristics of the Z-CODE in MSIS.  For each instruction it has
identified the producer of the inputs for that instruction and for
each instruction it identifies the consumers for that instruction.
When these instructions are executed, a synchronization between
producer and consumer is required and such a synchronization removes
the requirement for maintenance of conceptual sequence.  The meaning
of branches within the PCS code and the manner in which the E-MODE of
the MSIS-PCS processor will handle the branches is intimately related
to the informati...