×

High-performance, superscalar-based computer system with out-of-order instruction execution

  • US 6,941,447 B2
  • Filed: 11/05/2003
  • Issued: 09/06/2005
  • Est. Priority Date: 07/08/1991
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer system, comprising:

  • a memory;

    a superscalar microprocessor for processing instructions; and

    a bus coupled between the memory and the microprocessor;

    wherein the microprocessor includes;

    an instruction fetch unit configured to fetch instructions from an instruction store according to a sequential program order;

    an instruction buffer coupled to receive and buffer fetched instructions from the instruction fetch unit;

    a plurality of functional units configured to execute instructions, thereby generating result data;

    a register file including a plurality of entries configured to store data including result data generated by the plurality of functional units, wherein each of the plurality of entries is accessible by reference to a respective location in the register file;

    a resource identifying circuit configured to concurrently identify execution resources for more than one of a plurality of buffered instructions, the identified execution resources for each of the buffered instructions including a functional unit capable of executing the instruction and a register file entry corresponding to a source of an operand for the instruction, thereby making a plurality of instructions concurrently available for execution;

    an issue control circuit coupled to the resource identifying circuit and configured to concurrently issue more than one of a plurality of available instructions to the functional units for execution, based on availability of the execution resources identified by the resource identifying circuit and without regard to the sequential program order;

    a plurality of data routing paths coupled between the plurality of functional units and the register file and configured to concurrently transfer result data from more than one of the plurality of functional units to the register file; and

    bypass control logic coupled to the plurality of data routing paths and configured to distribute result data from a first one of the plurality of functional units as operand data for another one or more of the plurality of functional units via an alternate data path that bypasses the register file, wherein distributing result data via the alternate data path occurs concurrently with transferring result data to the register file.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×