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).
-
Publication number: 20090071784Abstract: A torque converter-mounted generator is provided that, along with power electronics, offers at least two types of electrical power output and may be attached to a transmission without impacting the axial length of a powertrain in comparison to a powertrain with an identical transmission and a torque converter not having a generator mounted thereto. Different torque-converter mounted generators and power electronics configurations providing different combinations of electrical power voltages may be offered for use with a given transmission type, thus allowing flexibility in meeting customer needs without unduly impacting assembly of the powertrains. A method of assembling transmissions is also provided.Type: ApplicationFiled: September 18, 2007Publication date: March 19, 2009Applicant: GENERAL MOTORS CORPORATIONInventors: Robert Franklin Combs, David J. Sagers, Leroy K. Johnson
-
Publication number: 20090070562Abstract: In a multi-threaded processor, thread priority variables are set up in memory. The actual assignment of thread priority is based on the expiration of a thread precedence counter. To further augment, the effectiveness of the thread precedence counters, starting counters are associated with each thread that serve as a multiplier for the value to be used in the thread precedence counter. The value in the starting counters are manipulated so as to prevent one thread from getting undue priority to the resources of the multi-threaded processor.Type: ApplicationFiled: November 7, 2008Publication date: March 12, 2009Applicant: INTEL CORPORATIONInventors: David W. BURNS, James D. ALLEN, Michael D. UPTON, Darrell D. BOGGS, David J. SAGER
-
Patent number: 7454600Abstract: In a multi-threaded processor, thread priority variables are set up in memory. The actual assignment of thread priority is based on the expiration of a thread precedence counter. To further augment, the effectiveness of the thread precedence counters, starting counters are associated with each thread that serve as a multiplier for the value to be used in the thread precedence counter. The value in the starting counters are manipulated so as to prevent one thread from getting undue priority to the resources of the multi-threaded processor.Type: GrantFiled: June 22, 2001Date of Patent: November 18, 2008Assignee: Intel CorporationInventors: David W. Burns, James D. Allen, Michael D. Upton, Darrell D. Boggs, David J. Sager
-
Patent number: 7398372Abstract: Fusing a load micro-operation (uop) together with an arithmetic uop. Intra-instruction fusing can increase cache memory storage efficiency and computer instruction processing bandwidth within a microprocessor without incurring significant computer system cost. Uops are fused, stored in a cache memory, un-fused, executed in parallel, and retired in order to optimized cost and performance.Type: GrantFiled: June 25, 2002Date of Patent: July 8, 2008Assignee: Intel CorporationInventors: Nicholas G. Samra, Stephan J. Jourdan, David J. Sager, Glenn J. Hinton
-
Patent number: 7219349Abstract: A processor is provided that includes an execution unit for executing instructions and a replay system for replaying instructions which have not executed properly. The replay system is coupled to the execution unit and includes a checker for determining whether each instruction has executed properly and a plurality of replay queues or replay queue sections coupled to the checker for temporarily storing one or more instructions for replay. In one embodiment, thread-specific replay queue sections may each be used to store a long latency instruction for each thread until the long latency instruction is ready to be executed (e.g., data for a load instruction has been retrieved from external memory). By storing the long latency instruction and its dependents in a replay queue section for one thread which has stalled, execution resources are made available for improving the speed of execution of other threads which have not stalled.Type: GrantFiled: March 2, 2004Date of Patent: May 15, 2007Assignee: Intel CorporationInventors: Amit A. Merchant, Darrell D. Boggs, David J. Sager
-
Patent number: 7200737Abstract: A processor is provided that includes an execution unit for executing instructions and a replay system for replaying instructions which have not executed properly. The replay system is coupled to the execution unit and includes a checker for determining whether each instruction has executed properly and a replay queue coupled to the checker for temporarily storing one or more instructions for replay. The replay queue may be used to store a long latency instruction, such as a load in which data must be retrieved from an external memory device. The long latency instruction and possibly one or more dependent instruction are stored in the replay queue until the long latency instruction is ready to be executed (e.g., data for the load instruction has been retrieved from external memory). Once the long latency instruction is ready to be executed, (e.g., the data is available), the long latency instruction may then be unloaded from the replay queue for re-execution.Type: GrantFiled: December 29, 1999Date of Patent: April 3, 2007Assignee: Intel CorporationInventors: Amit A. Merchant, Darrell D. Boggs, David J. Sager
-
Patent number: 7100012Abstract: A processor includes a cache memory with a data storage unit operating at a first clock frequency, and a tag unit and hit/miss logic operating at a second clock frequency different than the first clock frequency. The data storage unit may advantageously be clocked faster than the tag unit and hit/miss logic, such as two times (2×) faster. The processor may also include a replay mechanism for recovering from data speculation when the hit/miss logic or the tag unit signals that speculated data from the higher clocked data storage unit is, in fact, invalid.Type: GrantFiled: July 28, 2003Date of Patent: August 29, 2006Assignee: Intel CorporationInventor: David J. Sager
-
Patent number: 7089409Abstract: A processor includes a memory execution unit for executing load and store instructions and a replay system for replaying instructions which have not executed properly. The memory execution unit including an invalid store flag that is set for a store instruction if the replay system detects that the store instruction has not executed properly and is cleared if the store instruction has executed properly. If an invalid store flag is set for a store instruction, the replay system replays load instructions which are programmatically younger than the invalid store instruction until the store instruction executes properly.Type: GrantFiled: October 23, 2003Date of Patent: August 8, 2006Assignee: Intel CorporationInventors: Amit A. Merchant, Darrell D. Boggs, David J. Sager
-
Patent number: 6981129Abstract: Breaking replay dependency loops in a processor using a rescheduled replay queue. The processor comprises a replay queue to receive a plurality of instructions, and an execution unit to execute the plurality of instructions. A scheduler is coupled between the replay queue and the execution unit. The scheduler speculatively schedules instructions for execution and increments a counter for each of the plurality of instructions to reflect the number of times each of the plurality of instructions has been executed. The scheduler also dispatches each instruction to the execution unit either when the counter does not exceed a maximum number of replays or, if the counter exceeds the maximum number of replays, when the instruction is safe to execute. A checker is coupled to the execution unit to determine whether each instruction has executed successfully. The checker is also coupled to the replay queue to communicate to the replay queue each instruction that has not executed successfully.Type: GrantFiled: November 2, 2000Date of Patent: December 27, 2005Assignee: Intel CorporationInventors: Darrell D. Boggs, Douglas M. Carmean, Per H. Hammarlund, Francis X. McKeen, David J. Sager, Ronak Singhal
-
Patent number: 6952764Abstract: A method for stopping replay tornadoes in a processor. The method of one embodiment comprises scheduling an instruction for execution speculatively. A determination is made whether the instruction executed correctly. The instruction is routed to a replay mechanism if the instruction did not execute correctly. A determination is made whether a replay tornado exists. The instruction is routed for re-execution if the instruction executed incorrectly and no replay tornado exists. Breaking the replay tornado if the replay tornado exists. Replay safe instructions in the pipeline are retired. Non-replay safe instructions in the pipeline are marked for re-execution. The non-replay safe instructions are rescheduled for re-execution.Type: GrantFiled: December 31, 2001Date of Patent: October 4, 2005Assignee: Intel CorporationInventors: David J. Sager, Stephan Jourdan, Per Hammarlund
-
Patent number: 6928647Abstract: The present invention provides a method and apparatus for controlling a processing priority assigned alternately to a first thread and a second thread in a multithreaded processor to prevent deadlock and livelock problems between the first thread and the second thread. In one embodiment, the processing priority is initially assigned to the first thread for a first duration. It is then determined whether the first duration has expired in a given processing cycle. If the first duration has expired, the processing priority is assigned to the second thread for a second duration.Type: GrantFiled: February 13, 2003Date of Patent: August 9, 2005Assignee: Intel CorporationInventor: David J. Sager
-
Patent number: 6925550Abstract: A method and apparatus to execute data speculative instructions in a processor comprising at least one source register, each source register comprising a bit to indicate validity of data in the at least one source register. A data validity circuit coupled to the one or more source registers to determine the validity of the data in the source registers, and to indicate the validity of the data in a destination register based upon the validity bit in the at least one source register. The processor optionally comprising a checker unit to retire those instructions from the execution unit which write valid data to the destination register, and to re-schedules those instructions for execution which write invalid data to the destination register.Type: GrantFiled: January 2, 2002Date of Patent: August 2, 2005Assignee: Intel CorporationInventors: Eric Sprangle, Michael J. Haertel, David J. Sager
-
Patent number: 6880069Abstract: Replay instruction morphing. One disclosed apparatus includes an execution unit to execute an instruction. A replay system replays an altered instruction if the execution unit executes the instruction erroneously.Type: GrantFiled: June 30, 2000Date of Patent: April 12, 2005Assignee: Intel CorporationInventors: Douglas M. Carmean, David J. Sager, Thomas F. Toll, Karol F. Menezes
-
Patent number: 6877086Abstract: Rescheduling multiple micro-operations in a processor using a replay queue. The processor comprises a replay queue to receive a plurality of instructions and an execution unit to execute the plurality of instructions. A scheduler is coupled between the replay queue and the execution unit. The scheduler speculatively schedules instructions for execution and dispatches each instruction to the execution unit. A checker is coupled to the execution unit to determine whether each instruction has executed successfully. The checker is also coupled to the replay queue to communicate to the replay queue each instruction that has not executed successfully.Type: GrantFiled: November 2, 2000Date of Patent: April 5, 2005Assignee: Intel CorporationInventors: Darrell D. Boggs, Douglas M. Carmean, Per H. Hammarlund, Francis X. McKeen, David J. Sager, Ronak Singhal
-
Patent number: 6792446Abstract: A processor is provided that includes an execution unit for executing instructions and a replay system for replaying instructions which have not executed properly. The replay system is coupled to the execution unit and includes a checker for determining whether each instruction has executed properly and a plurality of replay queues or replay queue sections coupled to the checker for temporarily storing one or more instructions for replay. In one embodiment, thread-specific replay queue sections may each be used to store a long latency instruction for each thread until the long latency instruction is ready to be executed (e.g., data for a load instruction has been retrieved from external memory). By storing the long latency instruction and its dependents in a replay queue section for one thread which has stalled, execution resources are made available for improving the speed of execution of other threads which have not stalled.Type: GrantFiled: February 1, 2002Date of Patent: September 14, 2004Assignee: Intel CorporationInventors: Amit A. Merchant, Darrell D. Buggs, David J. Sager
-
Publication number: 20040177239Abstract: A mechanism is provided for allowing a processor to recover from a failure of a predicted path of instructions (e.g., from a mispredicted branch or other event). The mechanism includes a plurality of physical registers, each physical register can store either architectural data or speculative data. The apparatus also includes a primary array to store a mapping from logical registers to physical registers, the primary array storing a speculative state of the processor. The apparatus also includes a buffer coupled to the primary array to store information identifying which physical registers store architectural data and which physical registers store speculative data. According to another embodiment, a history buffer is coupled to the secondary array and stores historical physical register to logical register mappings performed for each of a plurality of instructions part of a predicted path.Type: ApplicationFiled: July 2, 2003Publication date: September 9, 2004Inventors: David W. Clift, Darrell D. Boggs, David J. Sager
-
Publication number: 20040172523Abstract: A processor is provided that includes an execution unit for executing instructions and a replay system for replaying instructions which have not executed properly. The replay system is coupled to the execution unit and includes a checker for determining whether each instruction has executed properly and a plurality of replay queues or replay queue sections coupled to the checker for temporarily storing one or more instructions for replay. In one embodiment, thread-specific replay queue sections may each be used to store a long latency instruction for each thread until the long latency instruction is ready to be executed (e.g., data for a load instruction has been retrieved from external memory). By storing the long latency instruction and its dependents in a replay queue section for one thread which has stalled, execution resources are made available for improving the speed of execution of other threads which have not stalled.Type: ApplicationFiled: March 2, 2004Publication date: September 2, 2004Inventors: Amit A. Merchant, Darrell D. Buggs, David J. Sager
-
Patent number: 6785803Abstract: A technique is provided for breaking a stalled condition or livelock in a processor having a replay queue. A livelock or stalled condition is detected. One or more instructions are temporarily stored in a replay queue. A release or break in the livelock or stalled condition is detected, and the instructions are then unloaded from the replay queue for replay or re-execution. For a multi-threaded processor, a stall is detected in one of the threads. Instructions of the stalled thread are temporarily stored in a replay queue, except the oldest instruction of the stalled thread which is allowed to replay or re-execute. This allows other threads to have access to execution and replay resources. Eventually, the oldest instruction will execute and retire, which breaks or releases the stalled thread. The instructions stored in the replay queue are then unloaded from the replay queue.Type: GrantFiled: September 22, 2000Date of Patent: August 31, 2004Assignee: Intel CorporationInventors: Amit A. Merchant, David J. Sager, James D. Allen
-
Patent number: 6735682Abstract: A dual-cycle address generation unit is described to generate linear addresses. The dual-cycle address generation unit includes a first adder to add a product of an index and a scaling factor to an offset and a segment base during a first clock cycle and a second adder to add output of the first adder with a base during a second clock cycle.Type: GrantFiled: March 28, 2002Date of Patent: May 11, 2004Assignee: Intel CorporationInventors: Ross A. Segelken, Feng Chen, David J. Sager
-
Patent number: 6735688Abstract: According to one aspect of the invention, a microprocessor is provided that includes an execution core, a first replay mechanism and a second replay mechanism. The execution core performs data speculation in executing a first instruction. The first replay mechanism is used to replay the first instruction via a first replay path if an error of a first type is detected which indicates that the data speculation is erroneous. The second replay mechanism is used to replay the first instruction via a second replay path if an error of a second type is detected which indicates that the data speculation is erroneous.Type: GrantFiled: February 14, 2000Date of Patent: May 11, 2004Assignee: Intel CorporationInventors: Michael D. Upton, David J. Sager, Darrell Boggs, Glenn J. Hinton