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: 6334182Abstract: 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: GrantFiled: August 18, 1998Date of Patent: December 25, 2001Assignee: Intel CorporationInventors: Amit A. Merchant, David J. Sager
-
Patent number: 6304953Abstract: 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: GrantFiled: July 31, 1998Date of Patent: October 16, 2001Assignee: Intel CorporationInventors: Alexander Paul Henstrom, David J. Sager
-
Publication number: 20010029590Abstract: 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: ApplicationFiled: February 2, 2001Publication date: October 11, 2001Applicant: Intel CorporationInventors: David J. Sager, Thomas D. Fletcher, Glenn J. Hinton, Michael D. Upton
-
Patent number: 6282629Abstract: 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: GrantFiled: March 30, 1999Date of Patent: August 28, 2001Assignee: Compaq Computer CorporationInventor: David J. Sager
-
Patent number: 6256745Abstract: 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: GrantFiled: March 16, 2000Date of Patent: July 3, 2001Assignee: Intel CorporationInventors: David J. Sager, Thomas D. Fletcher, Glenn J. Hinton, Michael D. Upton
-
Patent number: 6216234Abstract: 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: GrantFiled: June 5, 1998Date of Patent: April 10, 2001Assignee: Intel CorporationInventors: David J. Sager, Thomas D. Fletcher, Glenn J. Hinton, Michael D. Upton
-
Patent number: 6212626Abstract: 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: GrantFiled: December 30, 1998Date of Patent: April 3, 2001Assignee: Intel CorporationInventors: Amit A. Merchant, David J. Sager
-
Patent number: 6172933Abstract: 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: GrantFiled: September 4, 1998Date of Patent: January 9, 2001Assignee: Intel CorporationInventor: David J. Sager
-
Patent number: 6170038Abstract: 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: GrantFiled: November 22, 1999Date of Patent: January 2, 2001Assignee: Intel CorporationInventors: Robert F. Krick, Glenn J. Hinton, Michael D. Upton, David J. Sager, Chan W. Lee
-
Patent number: 6163838Abstract: 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: GrantFiled: June 30, 1998Date of Patent: December 19, 2000Assignee: Intel CorporationInventors: Amit A. Merchant, David J. Sager, Darrell D. Boggs
-
Patent number: 6094717Abstract: 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: GrantFiled: July 31, 1998Date of Patent: July 25, 2000Assignee: Intel Corp.Inventors: Amit A. Merchant, David J. Sager, Darrell D. Boggs, Michael D. Upton
-
Patent number: 6018786Abstract: 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: GrantFiled: October 23, 1997Date of Patent: January 25, 2000Assignee: Intel CorporationInventors: Robert F. Krick, Glenn J. Hinton, Michael D. Upton, David J. Sager, Chan W. Lee
-
Patent number: 5966544Abstract: 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: GrantFiled: November 13, 1996Date of Patent: October 12, 1999Assignee: Intel CorporationInventor: David J. Sager
-
Patent number: 5835745Abstract: 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: GrantFiled: March 7, 1996Date of Patent: November 10, 1998Inventors: David J. Sager, James Benjamin Saxe
-
Patent number: 5828868Abstract: 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: GrantFiled: November 13, 1996Date of Patent: October 27, 1998Assignee: Intel CorporationInventors: David J. Sager, Thomas D. Fletcher, Glenn J. Hinton, Michael D. Upton
-
Patent number: 5828874Abstract: 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: GrantFiled: June 5, 1996Date of Patent: October 27, 1998Assignee: Digital Equipment CorporationInventors: Simon C. Steely, Jr., David J. Sager
-
Patent number: 5812810Abstract: 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: GrantFiled: July 1, 1994Date of Patent: September 22, 1998Assignee: Digital Equipment CorporationInventor: David J. Sager
-
Patent number: 5717883Abstract: 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: GrantFiled: June 28, 1995Date of Patent: February 10, 1998Assignee: Digital Equipment CorporationInventor: David J. Sager
-
Patent number: 5680644Abstract: 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: GrantFiled: October 31, 1994Date of Patent: October 21, 1997Assignee: Digital Equipment CorporationInventor: David J. Sager
-
Patent number: 5619662Abstract: 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: GrantFiled: August 12, 1994Date of Patent: April 8, 1997Assignee: Digital Equipment CorporationInventors: Simon C. Steely, Jr., David J. Sager, David B. Fite, Jr.