Browse Prior Art Database

Parallelizing Renaming in K Decoder Processors

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

Publishing Venue

IBM

Related People

Ekanadham, K: AUTHOR [+3]

Abstract

One of the problems associated with a {k-decoder, renaming} processor is that the renaming within the concurrently decoded group cannot be done in parallel. If one member of the group renames a register that is used by another member of the group or if two or more instructions in a group rename the same register the parallel decode will be incorrect.

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

Parallelizing Renaming in K Decoder Processors

       One of the problems associated with a {k-decoder,
renaming} processor is that the renaming within the concurrently
decoded group cannot be done in parallel.  If one member of the group
renames a register that is used by another member of the group or if
two or more instructions in a group rename the same register the
parallel decode will be incorrect.

      The solution to this problem must consider the potential for a
branch entry to any instruction of a group.  Such a branch entry will
create new sets of k-decode groups.  The solution must also consider
the means of handling the decode of a group in parallel, once the
group has been certified as being subject to concurrent decode.

      The basic structure of the approach is outlined by the
following set of points:
1.  For each instruction a set of k - 1 tags, {Ti : i =
1,2,3, ... , k-1} is established for the purpose of designating the
dependency of the registers used by this instruction on the registers
set by the prior {1,2,3,....,k-1} instructions.  The tag, Ti is used
if the instruction is decoded by the {i + 1}-th decoder.
2.  Instructions that are subject to concurrent decode are
consecutive instructions without intervening taken branches.
3.  The target of a taken branch is always decoded by DECODER 1.
4.  The contents of the tag is appended to the register name in the
instruction and sent to the renaming controls.  This will cause the
register new-name renamed b...