EP0709769A2

Apparatus and method for the analysis and resolution of operand dependencies

Abstract

An apparatus performs source operand dependency analysis, perform register renaming and provide rapid pipeline recovery for a microprocessor capable of issuing and executing multiple instructions out-of-order in a single machine cycle. The apparatus first provides an enhanced means for rapid pipeline recovery due to a mispredicted branch or other store/load conflict or unsupported store/load forward circumstances. Second, the apparatus provides an improved instruction scheduling means wherein the oldest instructions that have all of their dependencies resolved are executed first. Third, the apparatus provides a means for enabling any execution or memory access instruction to execute out-of-order. Fourth, the apparatus provides a means for handling precise recovery of interrupts when processing instructions in out-of-order sequence.

EP0709769A2, drawing sheet 1
Sheet 1 of 18

Term

Term ended

Projected expiry passed 22 September 2015, 11 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

6 claims: 2 independent, 4 dependent

  1. 1
    A pipelined microprocessor capable of issuing and executing instructions out-of-order in a single processor cycle comprising:an instruction cache for temporarily storing instructions to be executed and a data cache for temporarily storing program data;an instruction fetch and dispatch unit receiving instructions from said instruction cache;a plurality of execution units receiving operands from said data cache and operating on said operands according to instructions issued to the execution units, a register file, a completion buffer and a writeback unit, the completion buffer receiving operand results from the execution units and supplying the register file with operand results during a last stage of a pipeline stage, and the writeback unit receiving operand results from the completion buffer for writing data to memory;and a rename unit controlling dispatch of instructions from the instruction fetch and dispatch unit, issuing instructions to the execution units, and writeback of instructions from the completion buffer, said rename unit performing source operand dependency analysis, providing instruction scheduling wherein oldest instructions are executed first, enabling any execution or memory access instruction to execute out-of-order, and rapid pipeline recovery due to a mispredicted branch or a store load conflict.
  2. 6
    A method of performing register renaming and rapid pipeline recover in a pipelined microprocessor capable of issuing and executing instructions out-of-order in a single processor cycle comprising the steps of:temporarily storing program data and instructions to be executed;performing source operand dependency analysis;providing instruction scheduling wherein oldest instructions are executed first by a plurality of execution units;dispatching instructions to a plurality of execution units and supplying the execution units with operands from the stored program data;enabling any execution or memory access instruction to execute out-of-order;temporarily storing operand results from the execution units;and providing rapid pipeline recovery due to a mispredicted branch or a store load conflict.