Nova Patents
EP0600611A2

Super scalar computer system.

Abstract

A super scalar computer architecture and method of operation for executing instructions out-of-order while managing for data dependencies, data anti-dependencies, and integrity of sequentiality for precise interrupts, restarts and hranch deletions. Multiple registers (12, 18) and tables (11) are used to rename and recycle source and destination addresses referenced to a general purpose register (16). Access to destination data in the general purpose register (16) is locked until the instruction associated with the data is fully executed. Renaming of both the source and destination registers avoids anti-dependency problems while integrity of sequentiality is maintained by ordered retirement of instruction results consistent with the order of the input instructions. The system and method operate with multiple input instructions and multiple execution units. The control words generated by the renaming of the source and destination registers differ insignificantly from the original instructions, obviating the practice of adding status and sequence information to processor control words.

EP0600611A2, drawing sheet 1
Sheet 1 of 41

Term

Term ended

Projected expiry passed 1 November 2013, 12.9 years ago.

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

15 claims: 4 independent, 11 dependent

  1. 1
    A data processing system for executing instructions concurrently and out-of-order, comprising:a plurality of execution units (14) for executing control words;one or more general purpose registers (16) for storing control word data by address;means for forming (9) control words in response to input instructions, for transmission to available execution units (14), and storing the control words for transmission using renamed and recycled register addresses referenced to the one or more general purpose registers;and    means for recycling (11, 18) general purpose register addresses responsive to the execution of ordered control words in the execution units.
  2. 8
    A data processing system according to any one of the preceding claims, wherein the means for recycling general purpose register addresses distinguishes by tags control words derived from speculative instructions.
  3. 9
    A data processing system according to any one of the preceding claims, wherein the means for recycling general purpose register addresses distinguishes by tags control words derived from instructions corresponding to different paths after a branch instructions.
  4. 10
    A method of data processing in a super scalar computer system suitable for concurrent out-of-order execution of input instructions, comprising the steps of:generating control words in correspondence to input instructions;storing first source register addresses and first destination register addresses for the control words;processing the control words using a plurality of execution units;and, following said execution:    renaming source register addresses of multiple input instructions using a first rename table;renaming destination register addresses of multiple input instructions using a collision vector table;processing control words composed of renamed source register addresses, renamed destination register addresses, and collision vector table addresses using available execution units;and    recycling addresses upon completed execution of the instructions.
  5. 13
    A method according to any one of claims 10 to 12 further comprising the step of:upon entry of register related data, unlocking access to the corresponding destination register and setting a finish flag in a corresponding entry of the collision vector table.
  6. 14
    A method according to any one of claims 10 to 13, further comprising the step of:recycling addresses between the collision vector table and a second rename table in sequence with the completion of instructions in the order of their input.
  7. 15
    A method according to any one of claims 10 to 14, including the steps of:distinguishing, by tags related to control word addresses, the control word addresses attributed to speculative instructions;and    selectively delaying the recycling of tagged addresses until the branch associated with the speculative instructions is resolved.