Browse Prior Art Database

Scalable Compound Instruction Set Machine - Three-Way Instruction Compounding Unit

IP.com Disclosure Number: IPCOM000105682D
Original Publication Date: 1993-Aug-01
Included in the Prior Art Database: 2005-Mar-20
Document File: 4 page(s) / 140K

Publishing Venue

IBM

Related People

Eickemeyer, RJ: AUTHOR

Abstract

As instruction-level parallelism increases there are more instructions executed at one time. Scheduling these instructions becomes more complex as there are more to be scheduled at once. This complexity is present in both the hardware, where circuit and cycle time constrains are present, and in the design, where rule generation and testing are concerns. To compound two instructions for parallel execution requires an N X N rule set, where N is the number of instructions or instruction categories. Compounding more than two instructions adds an order-of-magnitude more complexity, e.g., there are N3 combinations for three-way parallelism. Dependency collapsing hardware allows parallel execution of interlocked instructions. The execution hardware design, including collapsing hardware, is incorporated into the compounding rules.

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

Scalable Compound Instruction Set Machine - Three-Way Instruction Compounding Unit

      As instruction-level parallelism increases there are more
instructions executed at one time.  Scheduling these instructions
becomes more complex as there are more to be scheduled at once.  This
complexity is present in both the hardware, where circuit and cycle
time constrains are present, and in the design, where rule generation
and testing are concerns.  To compound two instructions for parallel
execution requires an N X N rule set, where N is the number of
instructions or instruction categories.  Compounding more than two
instructions adds an order-of-magnitude more complexity, e.g., there
are N3 combinations for three-way parallelism.  Dependency collapsing
hardware allows parallel execution of interlocked instructions.  The
execution hardware design, including collapsing hardware, is
incorporated into the compounding rules.  Disclosed is a design for a
three-way instruction compounder that is based on using a two-way
compounder.  By using two-way compounders, the complexity is not
increased by a factor of N.  The three-way compounder is a
hierarchical design with two-way compounders at the first level.

      Fig. 1 shows the basic structure of a three-way compounder.
Three adjacent instructions are compounded by first examining all
three possible pairs; (i[1],i[2]),(i[1],i(3)), (i[2],i[3]).  The
two-way compounder output indicates if the two instructions are
compoundable according to the execution rules for the hardware based
on N2 instruction combinations.  The three-way compounder uses the
output of the three two-way compounders, as well as limited amount of
other information.  The output is the number of instructions
compounded from the three that are examined.  As illustrated in Fig.
1, a sequence of instructions can be examined with a separate
three-way compounder starting at each instruction.  Alternatively,
fewer compounders can be used, resulting in more time to compound a
given set of instructions.  The two-way compounder for the second and
third instructions is shared with the next three-way compounder.  If
the first compounder determines that the first two instructions
cannot be compounded, the output is zero.  Instructions two and
three, together with instruction four, are examined in the next
three-way compounder.  Alternatively, instructions one and two may be
compoundable as a pair but not with instruction three.  The three-way
compounder output in this case is one.  Finally, all three may be
compoundable, in which case the three-way compounder output is two.
By starting a potential three-way sequence at every instruction, all
possible instruction starting points are examined and all pairs and
triples are found.

      Fig. 2 shows the detail of the three-way compounder.  The
inputs are the pair-wise compounding results from the three two-way
compounders, and the type of dependency, if any, that exist...