Nova Patents
EP0600611B1

Super scalar computer system

Abstract

This record has no abstract on file.

EP0600611B1, drawing sheet 1
Sheet 1 of 37

Term

Term ended

Expired 1 November 2013, 12.9 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

12 claims: 4 independent, 8 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 (9) for forming 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;a collision vector table (11) for storing control word execution status and for providing recycled register addresses to the means for forming control words;and means (18) for using the collision vector table (11) to recycle general purpose register addresses responsive to the execution of ordered control words in the execution units, said recycling of register addresses being in a sequential order corresponding to the order of the respective input instructions.
  2. 6
    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. 7
    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 instruction.
  4. 8
    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 recycled addresses from a collision vector table storing control word execution status;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, wherein the recycling of addresses is in an order corresponding to the order of the input instructions.
  5. 11
    A method according to any one of claims 8 to 10, 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.
  6. 12
    A method according to any one of claims 8 to 11, 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.