Patent ID: 6981130
Filing Date: 2005-12-27
Classification: G06F

Abstract:
1. An execution unit executing a plurality of instructions, said execution unit comprising: a plurality of operation units each executing a corresponding one of said plurality of instructions to generate a corresponding one of a plurality of results on a corresponding one of a plurality of outputs; a first plurality of registers, wherein each of said plurality of instructions can be specified to store a corresponding result in any of said first plurality of registers, and wherein each of said first plurality of registers comprises an architecture register accessible to a programmer; a first multiplexor coupled between said plurality of operation units and a first one of said plurality of registers, said first multiplexor receiving said plurality of results on a corresponding plurality of inputs, said first multiplexor storing a result in said first one of said first plurality of registers as specified by a corresponding instruction; a second multiplexor receiving said plurality of results from between said plurality of outputs and said plurality of inputs, said second multiplexor being implemented to select and forward any one of said plurality of results as an operand for execution of a dependent instruction in a corresponding one of said plurality of operation units; and a control logic, said control logic controlling said second multiplexor and said first multiplexor, said control logic operable to: maintain a source record table having a column for each operand input for each of said plurality of operation units and a row for each operation unit execution cycle, each entry in said source record table storing an indicator of an architecture register scheduled to supply the corresponding operation unit operand input for the corresponding operation unit execution cycle, maintain a destination record table having a column for each of said plurality of operation units and a row for each operation unit execution cycle, each entry in said destination record table storing an indicator of an architecture register scheduled to store the result for the corresponding operation unit operand for the corresponding operation unit execution cycle, and control said second multiplexor to forward a result generated by one of said plurality of operation units to an operation unit if an indicator in said source record table associated with said operation unit is the same as said indicator in said destination record table for the same execution cycle.