Splitting a floating-point stack-exchange instruction for merging into surrounding instructions by operand translation
AssigneeExponential Technology, Inc.
InventorJames S. Blomgren
Life of this patent
Estimating the term…
Loading patent…
AssigneeExponential Technology, Inc.
InventorJames S. Blomgren
Estimating the term…
A stack-register swap or exchange instruction is executed by splitting the exchange into two halves, and then each half is absorbed into a surrounding instruction by translating its source or destination operands. If one or both surrounding instructions are absent, then one or both halves of the exchange instruction are inserted into the pipeline as separate pipeline flows. When the surrounding instructions are stack-based, the stack operands are first converted to a destination and two source operands that specify a register by absolute number. A translation circuit then translates one of the operands of a surrounding instruction so the surrounding instruction's source is read from the exchange instruction's source, or so that the surrounding instruction's destination is written to the exchange instruction's destination, eliminating the need for processing a separate exchange instruction. Pipelining avoids the need for a temporary register to hold the swap data, since both the register are read early in the pipeline before either instruction over-writes the register.
A processor for processing instructions including an exchange instruction, the exchange instruction for exchanging the contents of an exchange-destination register with the contents of an exchange-source register, the processor comprising:
A method for processing an exchange instruction, the exchange instruction for exchanging the contents of an exchange-destination register with the contents of an exchange-source register, the method comprising:
A translator circuit for a processor, the translator circuit for translating stack-based instructions into random-access-register-based instructions, the translator circuit for further translating stack-based instructions to process a portion of a register-exchange instruction, the translator circuit comprising:
Dependencies are inferred from the claim text.