Patents by Inventor David J. Sager

David J. Sager has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 6334182
    Abstract: A method and apparatus for scheduling operations using a dependency matrix. A child operation, such as a micro-operation, is received for scheduling. The child operation is dependent on the completion of a parent operation, such as when one of the child operation's sources is the parent operations's destination. An entry corresponding to the child operation is placed in a scheduling queue and the child operation is compared with other entries in the scheduling queue. The result of this comparison is stored in a dependency matrix. Each row in the dependency matrix corresponds to an entry in the scheduling queue, and each column corresponds to a dependency on an entry in the scheduling queue. Entries in the scheduling queue can then be scheduled based on the information in the dependency matrix, such as when the entire row associated with an entry is clear.
    Type: Grant
    Filed: August 18, 1998
    Date of Patent: December 25, 2001
    Assignee: Intel Corporation
    Inventors: Amit A. Merchant, David J. Sager
  • Patent number: 6304953
    Abstract: One embodiment of the present invention is a computer processor that includes a first scheduler adapted to dispatch a first type of computer instructions, and a second scheduler coupled to the first scheduler and adapted to dispatch a second type of computer instructions. The first type of instructions all have a first latency and the second type of instructions all have a second latency. The first scheduler is skewed relative to the second scheduler so that when the first scheduler dispatches one of the first type of computer instructions having a first latency, the second scheduler will dispatch one of the second type of computer instructions that is dependent on the first type of computer instruction at a time equal to the first latency.
    Type: Grant
    Filed: July 31, 1998
    Date of Patent: October 16, 2001
    Assignee: Intel Corporation
    Inventors: Alexander Paul Henstrom, David J. Sager
  • Publication number: 20010029590
    Abstract: A processor including a first execution core section clocked to perform execution operations at a first clock frequency, and a second execution core section clocked to perform execution operations at a second clock frequency which is different than the first clock frequency. The second execution core section runs faster and includes a data cache and critical ALU functions, while the first execution core section includes latency-tolerant functions such as instruction fetch and decode units and non-critical ALU functions. The processor may further include an I/O ring which may be still slower than the first execution core section. Optionally, the first execution core section may include a third execution core section whose clock rate is between that of the first and second execution core sections. Clock multipliers/dividers may be used between the various sections to derive their clocks from a single source, such as the I/O clock.
    Type: Application
    Filed: February 2, 2001
    Publication date: October 11, 2001
    Applicant: Intel Corporation
    Inventors: David J. Sager, Thomas D. Fletcher, Glenn J. Hinton, Michael D. Upton
  • Patent number: 6282629
    Abstract: A pipelined processor includes an instruction box including a register mapper, to map register operand fields of a set of instructions and an instruction scheduler, fed by said set of instructions, to reorder the issuance of said set of instructions from said instruction processor. The mapped register operand fields are associated with the corresponding instructions of said reordered set of instructions prior to issuance of the instructions. The processor further includes a branch prediction table which maps a stored pattern of past histories associated with a branch instruction to a more likely prediction direction of the branch instruction. The processor further includes a memory reference tagging store associated with the instruction scheduler so that the scheduler can reorder memory reference instructions without knowing the actual memory location addressed by the memory reference instruction.
    Type: Grant
    Filed: March 30, 1999
    Date of Patent: August 28, 2001
    Assignee: Compaq Computer Corporation
    Inventor: David J. Sager
  • Patent number: 6256745
    Abstract: A processor including a first execution core section clocked to perform execution operations at a first clock frequency, and a second execution core section clocked to perform execution operations at a second clock frequency which is different than the first clock frequency. The second execution core section runs faster and includes a data cache and critical ALU functions, while the first execution core section includes latency-tolerant functions such as instruction fetch and decode units and non-critical ALU functions. The processor may further include an I/O ring which may be still slower than the first execution core section optionally, the first execution core section may include a third execution core section whose clock rate is between that of the first and second execution core sections. Clock multipliers/dividers may be used between the various sections to derive their clocks from a single source, such as the I/O clock.
    Type: Grant
    Filed: March 16, 2000
    Date of Patent: July 3, 2001
    Assignee: Intel Corporation
    Inventors: David J. Sager, Thomas D. Fletcher, Glenn J. Hinton, Michael D. Upton
  • Patent number: 6216234
    Abstract: A processor including a first execution core section clocked to perform execution operations at a first clock frequency, and a second execution core section clocked to perform execution operations at a second clock frequency which is different than the first clock frequency. The second execution core section runs faster and includes a data cache and critical ALU functions, while the first execution core section includes latency-tolerant functions such as instruction fetch and decode units and non-critical ALU functions. The processor may further include an I/O ring which may be still slower than the first execution core section. Optionally, the first execution core section may include a third execution core section whose clock rate is between that of the first and second execution core sections. Clock multipliers/dividers may be used between the various sections to derive their clocks from a single source, such as the I/O clock.
    Type: Grant
    Filed: June 5, 1998
    Date of Patent: April 10, 2001
    Assignee: Intel Corporation
    Inventors: David J. Sager, Thomas D. Fletcher, Glenn J. Hinton, Michael D. Upton
  • Patent number: 6212626
    Abstract: A computer processor that has a checker for receiving an instruction. The checker includes a scoreboard, an input for receiving an external replay signal, and decision logic coupled to the scoreboard and the input. The decision logic determines whether the instruction executed correctly based on both the scoreboard and the external replay signal.
    Type: Grant
    Filed: December 30, 1998
    Date of Patent: April 3, 2001
    Assignee: Intel Corporation
    Inventors: Amit A. Merchant, David J. Sager
  • Patent number: 6172933
    Abstract: The present invention provides a memory system that retrieves data based upon redundant form address data. The memory system includes a memory having a plurality of memory lines and an address decoder that enables one of the memory lines in response to a redundant form address signal. A redundant form decoder decodes redundant form data into a differential pair of decoded address lines for each bit position of a memory address. One of the two differential pairs carries correct address data. The one address line to be used is determined on a memory line by memory line basis, using the address of the memory lines themselves. The redundant form address decoder avoids a completion add that would otherwise be required, yielding very fast access to memory.
    Type: Grant
    Filed: September 4, 1998
    Date of Patent: January 9, 2001
    Assignee: Intel Corporation
    Inventor: David J. Sager
  • Patent number: 6170038
    Abstract: A cache memory is constituted with a data array and control logic. The data array includes a number of data lines, and the control logic operates to store a number of trace segments of instructions in the data lines, including trace segments that span multiple data lines. In one embodiment, each trace segment includes one or more trace segment members having one or more instructions, with each trace segment member occupying one data line, and the data lines of a multi-line trace segment being sequentially associated (logically). Retrieval of the trace segment members of a multi-line trace segment is accomplished by first locating the data line storing the first trace segment member of the trace segment, and then successively locating the remaining data lines storing the remaining trace segment members based on the data lines' logical sequential associations.
    Type: Grant
    Filed: November 22, 1999
    Date of Patent: January 2, 2001
    Assignee: Intel Corporation
    Inventors: Robert F. Krick, Glenn J. Hinton, Michael D. Upton, David J. Sager, Chan W. Lee
  • Patent number: 6163838
    Abstract: A computer processor includes a multiplexer having a first input, a second input, and an output, and a scheduler coupled to the multiplexer first input. The processor further includes an execution unit coupled to the multiplexer output. The execution unit is adapted to receive a plurality of instructions from the multiplexer. The processor further includes a replay system coupled to the second multiplexer input and the scheduler. The replay system replays an instruction that has not correctly executed by sending a stop scheduler signal to the scheduler and sending the instruction to the multiplexer.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: December 19, 2000
    Assignee: Intel Corporation
    Inventors: Amit A. Merchant, David J. Sager, Darrell D. Boggs
  • Patent number: 6094717
    Abstract: A computer processor includes a multiplexer having a first input, a second input, a third input, and an output. The processor further includes a scheduler coupled to the multiplexer first input, an execution unit coupled to the multiplexer output, and a replay system that has an input coupled to the multiplexer output. The replay system includes a first checker coupled to the replay system input and the second multiplexer input, and a second checker coupled to the first checker and the third multiplexer input.
    Type: Grant
    Filed: July 31, 1998
    Date of Patent: July 25, 2000
    Assignee: Intel Corp.
    Inventors: Amit A. Merchant, David J. Sager, Darrell D. Boggs, Michael D. Upton
  • Patent number: 6018786
    Abstract: A cache memory is constituted with a data array and control logic. The data array includes a number of data lines, and the control logic operates to store a number of trace segments of instructions in the data lines, including trace segments that span multiple data lines. In one embodiment, each trace segment includes one or more trace segment members having one or more instructions, with each trace segment member occupying one data line, and the data lines of a multi-line trace segment being sequentially associated (logically). Retrieval of the trace segment members of a multi-line trace segment is accomplished by first locating the data line storing the first trace segment member of the trace segment, and then successively locating the remaining data lines storing the remaining trace segment members based on the data lines' logical sequential associations.
    Type: Grant
    Filed: October 23, 1997
    Date of Patent: January 25, 2000
    Assignee: Intel Corporation
    Inventors: Robert F. Krick, Glenn J. Hinton, Michael D. Upton, David J. Sager, Chan W. Lee
  • Patent number: 5966544
    Abstract: A microprocessor having a replay architecture with an execution core for performing data speculation in executing an instruction, a delay unit for making a copy of the instruction and holding the copy for as long as the instruction takes to execute, and a checker for determining whether the data speculation was bogus. If the data speculation was bogus, the delay unit and its buffer send the copy of the instruction back to the execution core for re-execution. A multiplexor coupled to the input of the execution core selects for execution among original instructions from the instruction cache, replay instructions from the delay unit, and manufactured instructions from various other units such as the TLB or tag units, according to a priority scheme.
    Type: Grant
    Filed: November 13, 1996
    Date of Patent: October 12, 1999
    Assignee: Intel Corporation
    Inventor: David J. Sager
  • Patent number: 5835745
    Abstract: A pipelined processor includes an instruction box including a register mapper, to map register operand fields of a set of instructions and an instruction scheduler, fed by the set of instructions, to reorder the issuance of the set of instructions from the instruction processor. The mapped register operand fields are associated with the corresponding instructions of the reordered set of instructions prior to issuance of the instructions. The processor further includes a branch prediction table which maps a stored pattern of past histories associated with a branch instruction to a more likely prediction direction of the branch instruction. The processor further includes a memory reference tagging store associated with the instruction scheduler so that the scheduler can reorder memory reference instructions without knowing the actual memory location addressed by the memory reference instruction.
    Type: Grant
    Filed: March 7, 1996
    Date of Patent: November 10, 1998
    Inventors: David J. Sager, James Benjamin Saxe
  • Patent number: 5828868
    Abstract: A processor including a first execution core section clocked to perform execution operations at a first clock frequency, and a second execution core section clocked to perform execution operations at a second clock frequency which is different than the first clock frequency. The second execution core section runs faster and includes a data cache and critical ALU functions, while the first execution core section includes latency-tolerant functions such as instruction fetch and decode units and non-critical ALU functions. The processor may further include an I/O ring which may be still slower than the first execution core section. Optionally, the first execution core section may include a third execution core section whose clock rate is between that of the first and second execution core sections. Clock multipliers/dividers may be used between the various sections to derive their clocks from a single source, such as the I/O clock.
    Type: Grant
    Filed: November 13, 1996
    Date of Patent: October 27, 1998
    Assignee: Intel Corporation
    Inventors: David J. Sager, Thomas D. Fletcher, Glenn J. Hinton, Michael D. Upton
  • Patent number: 5828874
    Abstract: A branch prediction apparatus includes a predicted past history device, and a a branch prediction device. The predicted past history device is operable to receive an indication of a branch instruction and to output a pattern of past predictions of branch directions for the indicated branch instruction. The pattern of past predictions includes at least one prediction of a branch direction for which the correctness of the prediction has not been determined The branch prediction device is operable to receive the pattern of past predictions of branch directions for the indicated branch instruction and to output a predicted branch direction for the indicated branch instruction based on the received pattern of past predictions.
    Type: Grant
    Filed: June 5, 1996
    Date of Patent: October 27, 1998
    Assignee: Digital Equipment Corporation
    Inventors: Simon C. Steely, Jr., David J. Sager
  • Patent number: 5812810
    Abstract: A computer system with multiple execution boxes operates by assigning serial numbers to each instruction in a set of linearly dependent computer instructions and then rearranging those instructions into a set of instructions which are no longer linearly dependent. The original serial numbers assigned to each instruction are retained with the instructions after rearrangement. The serial numbers allow reconstruction of the original set of instructions from the rearranged set of instructions. Once rearranged, additional information is added to subsets of the rearranged set of instructions. The additional information allows several instructions to be executed in parallel while producing the same results as would have been produce had the instructions been executed one at a time by a sequential processor.
    Type: Grant
    Filed: July 1, 1994
    Date of Patent: September 22, 1998
    Assignee: Digital Equipment Corporation
    Inventor: David J. Sager
  • Patent number: 5717883
    Abstract: A computer system with multiple execution units operates by treating a logical program as a tree structure with segments which include several computer instructions. Segments of the tree structure are connected by nodes which represent decisional instructions in the logical program. Serial numbers are assigned to each instruction within each of the tree structure. The instructions and then rearranged into a set of instructions which are no longer linearly dependent. The original serial numbers assigned to each instruction are retained with the instructions after rearrangement. During rearrangement, path information is added to each instruction to indicate its commit point. The serial numbers and path information allow reconstruction of the original set of instructions from the rearranged set of instructions. The path codes represent a path through the tree structure to a particular one of the segments in which all of the instructions in the associated subset will be committed in logical terms.
    Type: Grant
    Filed: June 28, 1995
    Date of Patent: February 10, 1998
    Assignee: Digital Equipment Corporation
    Inventor: David J. Sager
  • Patent number: 5680644
    Abstract: The present invention makes use of synchronizers in transmitting the data from the transmitting system to the receiving system, but in a way so that the synchronizer can be provided with as long a settling time as the designer chooses, in order to provide for as low a rate of synchronizer failure as the designer chooses, and at the same time allowing a low delay from the time when the transmitting system knows it is to transmit a word of data until when that data word is usable within the receiving system. In the present invention the delay in the data path is not related to the settling time provided for the synchronizers, so there is no trade off situation between low failure rate and short delay, as there is in the prior art. This leaves the designer free to design for extremely low error rate due to synchronizer failure, and a big safety margin in the settling time, with no ill effect on performance.
    Type: Grant
    Filed: October 31, 1994
    Date of Patent: October 21, 1997
    Assignee: Digital Equipment Corporation
    Inventor: David J. Sager
  • Patent number: 5619662
    Abstract: A pipelined processor includes an instruction box including a register mapper, to map register operand fields of a set of instructions and an instruction scheduler, fed by the set of instructions, to reorder the issuance of the set of instructions from the instruction processor. The mapped register operand fields are associated with the corresponding instructions of the reordered set of instructions prior to issuance of the instructions. The processor further includes a branch prediction table which maps a stored pattern of past histories associated with a branch instruction to a more likely prediction direction of the branch instruction. The processor further includes a memory reference tagging store associated with the instruction scheduler so that the scheduler can reorder memory reference instructions without knowing the actual memory location addressed by the memory reference instruction.
    Type: Grant
    Filed: August 12, 1994
    Date of Patent: April 8, 1997
    Assignee: Digital Equipment Corporation
    Inventors: Simon C. Steely, Jr., David J. Sager, David B. Fite, Jr.