Patents by Inventor Larry Widigen
Larry Widigen 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: 6671798Abstract: In a first aspect of the invention, branch prediction hardware, comprising logic and interconnect, is configurable via a control line to alter the manner in which the branch prediction is generated. The configuration can be done programmatically in software. Or, the configuration can be done by hardware in response to processor events. Such processor events include the loading of the CS register and changes in the instruction workload. In a second aspect of the invention, related to speculative execution, the directions of a plurality of branches are predicted based partly on resolved branch history information. Tentative branch history information is then stored for each of the predicted branches. When a predicted branch is resolved, the resolved branch history information is updated based on the stored tentative branch history information for the branch most recently resolved. Additionally, the predictions may be partly based on preceding unresolved branch predictions if any are outstanding.Type: GrantFiled: November 16, 2001Date of Patent: December 30, 2003Assignee: Advanced Micro Devices, Inc.Inventors: David L. Puziol, Korbin S. Van Dyke, Larry Widigen, Len Shar, Walstein Bennett Smith, III
-
Publication number: 20020144091Abstract: A method for mapping a plurality of virtual registers to a plurality of physical registers is provided. Generally, a plurality of virtual registers are provided where each virtual register comprises physical register address bits. A status indicator for indicating the status of each virtual register is also provided.Type: ApplicationFiled: April 3, 2001Publication date: October 3, 2002Inventor: Larry Widigen
-
Patent number: 6360318Abstract: In a first aspect of the invention, branch prediction hardware, comprising logic and interconnect, is configurable via a control line to alter the manner in which the branch prediction is generated. The configuration can be done programmatically In software. Or, the configuration can be done by hardware in response to processor events. Such processor events include the loading of the CS register and changes in the instruction workload. In a second aspect of the invention, related to speculative execution, the directions of a plurality of branches are predicted based partly on resolved branch history information. Tentative branch history information is then stored for each of the predicted branches. When a predicted branch is resolved, the resolved branch history information is updated based on the stored tentative branch history information for the branch most recently resolved. Additionally, the predictions may be partly based on preceding unresolved branch predictions if any are outstanding.Type: GrantFiled: June 29, 2000Date of Patent: March 19, 2002Assignee: Advanced Micro Devices, Inc.Inventors: David L. Puziol, Korbin S. Van Dyke, Larry Widigen, Len Shar, Walstein Bennett Smith, III
-
Patent number: 6282639Abstract: In a first aspect of the invention, branch prediction hardware, comprising logic and interconnect, is configurable via a control line to alter the manner in which the branch prediction is generated. The configuration can be done programmatically in software. Or, the configuration can be done by hardware in response to processor events. Such processor events include the loading of the CS register and changes in the instruction workload. In a second aspect of the invention, related to speculative execution, the directions of a plurality of branches are predicted based partly on resolved branch history information. Tentative branch history information is then stored for each of the predicted branches. When a predicted branch is resolved, the resolved branch history information is updated based on the stored tentative branch history information for the branch most recently resolved. Additionally, the predictions may be partly based on preceding unresolved branch predictions if any are outstanding.Type: GrantFiled: June 29, 2000Date of Patent: August 28, 2001Assignee: Advanced Micro Devices, Inc.Inventors: David L. Puziol, Korbin S. Van Dyke, Larry Widigen, Len Shar, Walstein Bennett Smith, III
-
Patent number: 6195745Abstract: The existing execution units of a high-performance processor are augmented by tile addition of a supplemental integer execution unit, termed the Add/Move Unit (AMU), which performs select adds and moves in parallel and out-of-order with respect to the other execution units. At small incremental cost, AMU enables better use of the expensive limited resources of an existing Address Preparation unit (AP), which handles linear and physical address generation for memory operand references, control transfers, and page crosses. AMU removes data dependencies and thereby increases the available instruction level parallelism. The increased instruction level parallelism is readily exploited by the processor's ability to perform out-of-order and speculative execution, and performance is enhanced as a result.Type: GrantFiled: May 18, 1998Date of Patent: February 27, 2001Assignee: Advanced Micro Devices, Inc.Inventors: Elliot A. Sowadsky, Larry Widigen, David L. Puziol, Korbin S. Van Dyke
-
Patent number: 6108777Abstract: In a first aspect of the invention, branch prediction hardware, comprising logic and interconnect, is configurable via a control line to alter the manner in which the branch prediction is generated. The configuration can be done programmatically in software. Or, the configuration can be done by hardware in response to processor events. Such processor events include the loading of the CS register and changes in the instruction workload. In a second aspect of the invention, related to speculative execution, the directions of a plurality of branches are predicted based partly on resolved branch history information. Tentative branch history information is then stored for each of the predicted branches. When a predicted branch is resolved, the resolved branch history information is updated based on the stored tentative branch history information for the branch most recently resolved. Additionally, the predictions may be partly based on preceding unresolved branch predictions if any are outstanding.Type: GrantFiled: May 6, 1998Date of Patent: August 22, 2000Assignee: Advanced Micro Devices, Inc.Inventors: David L. Puziol, Korbin S. Van Dyke, Larry Widigen, Len Shar, Walstein Bennett Smith, III
-
Patent number: 6041396Abstract: A structure for, and a method of operating, a descriptor cache to store segment descriptors retrieved from memory. In one embodiment, the descriptor cache is direct-mapped and addressed by a first part of the physical address in memory at which a desired descriptor is stored. If the desired descriptor is not stored in the addressed entry of the descriptor cache then the descriptor is retrieved from a descriptor table held in memory and loaded into the addressed entry of the descriptor cache (which will then be able to satisfy future requests for the same descriptor). At the same time, a second part of the descriptor's physical address is loaded into an entry of a physical address cache corresponding to the addressed entry of the descriptor cache.Type: GrantFiled: March 14, 1996Date of Patent: March 21, 2000Assignee: Advanced Micro Devices, Inc.Inventor: Larry Widigen
-
Patent number: 5923579Abstract: A three-input comparator, where one of the inputs is an implicit constant, is formed with a special carry-save adder (CSA) followed by carry propagation circuitry. The special CSA uses two different bit cells depending upon whether that bit position in the constant input is a one or a zero. The three-input comparator can be modified to be a three-input adder by using a full carry-propagate adder (CPA). By taking into account a priori restrictions on the possible input operands, these arithmetic circuits are smaller and more efficient than conventional adders and comparators, which must be designed to deal with all possible input operands.Type: GrantFiled: February 22, 1995Date of Patent: July 13, 1999Assignee: Advanced Micro Devices, Inc.Inventors: Larry Widigen, Elliot A. Sowadsky
-
Patent number: 5919256Abstract: A structure for, and a method of operating, an operand cache to store operands retrieved from a memory. An instruction requiring an operand stored in the memory, is allowed to speculatively execute in an execution unit of a processor using an operand stored in an entry (corresponding to the address of the instruction) of the operand cache. When the actual operand is later retrieved from the memory it is compared to the cached operand used for speculative execution. If the cached and actual operands are unequal then the speculatively executed instruction and all subsequent instructions are aborted and the processor resumes execution at the address of the instruction that was speculatively executed.Type: GrantFiled: March 26, 1996Date of Patent: July 6, 1999Assignee: Advanced Micro Devices, Inc.Inventors: Larry Widigen, Elliot A. Sowadsky
-
Patent number: 5822786Abstract: Dedicated parallel comparators perform expand up or expand down segment limit checks for memory accesses. A first three-input comparator has as inputs the complement of the segment limit, the effective address of the first byte of the access, and an configurable third input. For expand up segments, the configurable third input is set to one less than the memory access size. A carry out of the first comparator is generated, and thereby a limit fault indicated, if the address of the last byte of the access exceeds the segment limit. For expand down segments, the configurable third input is set to zero. In this case, the lack of a carry out of the first comparator indicates that the address of the first byte of the access exceeds the segment limit. For expand down segments a parallel second two-input comparator is also used. The second comparator has as inputs the effective address and a hybrid second input. A least significant portion of the hybrid input is set to one less than the memory access size.Type: GrantFiled: November 14, 1994Date of Patent: October 13, 1998Assignee: Advanced Micro Devices, Inc.Inventors: Larry Widigen, Elliot A. Sowadsky
-
Patent number: 5815699Abstract: In a first aspect of the invention, branch prediction hardware, comprising logic and interconnect, is configurable via a control line to alter the manner in which the branch prediction is generated. The configuration can be done programmatically in software. Or, the configuration can be done by hardware in response to processor events. Such processor events include the loading of the CS register and changes in the instruction workload. In a second aspect of the invention, related to speculative execution, the directions of a plurality of branches are predicted based partly on resolved branch history information. Tentative branch history information is then stored for each of the predicted branches. When a predicted branch is resolved, the resolved branch history information is updated based on the stored tentative branch history information for the branch most recently resolved. Additionally, the predictions may be partly based on preceding unresolved branch predictions if any are outstanding.Type: GrantFiled: June 6, 1995Date of Patent: September 29, 1998Assignee: Advanced Micro Devices, Inc.Inventors: David L. Puziol, Korbin S. Van Dyke, Larry Widigen, Len Shar, Walstein Bennett Smith, III
-
Patent number: 5802339Abstract: The existing execution units of a high-performance processor are augmented by the addition of a supplemental integer execution unit, termed the Add/Move Unit (AMU), which performs select adds and moves in parallel and out-of-order with respect to the other execution units. At small incremental cost, AMU enables better use of the expensive limited resources of an existing Address Preparation unit (AP), which handles linear and physical address generation for memory operand references, control transfers, and page crosses. AMU removes data dependencies and thereby increases the available instruction level parallelism. The increased instruction level parallelism is readily exploited by the processor's ability to perform out-of-order and speculative execution, and performance is enhanced as a result.Type: GrantFiled: February 14, 1997Date of Patent: September 1, 1998Assignee: Advanced Micro DevicesInventors: Elliot A. Sowadsky, Larry Widigen, David L. Puziol, Korbin S. Van Dyke
-
Patent number: 5699279Abstract: A first two-input adder computes the sum of one wider and one narrower input by combining a conventional adder for the low-order bits with an incrementer and selection logic for the high-order bits. A second three-input adder computes the sum of one wider and two narrower inputs in a similar way: the low-order bits are computed with a conventional carry save adder (CSA) followed by a carry propagate adder (CPA), while the high-order bits are computed with an incrementer and selection logic. The first and second circuits are combined to form a third arithmetic circuit that takes four input operands, the first of which is wider than the other three, and speculatively computes two results: (1) the sum of the first and second input operands; and (2) the sum of the first, third, and fourth input operands. This combined circuit contains all of the elements of the first two circuits, but shares a single incrementer. A degenerate case of the third circuit occurs when the second and third inputs are common.Type: GrantFiled: May 13, 1996Date of Patent: December 16, 1997Assignee: Advanced Micro Devices, Inc.Inventors: Larry Widigen, Elliot A. Sowadsky
-
Patent number: 5675758Abstract: The existing execution units of a high-performance processor are augmented by the addition of a supplemental integer execution unit, termed the Add/Move Unit (AMU), which performs select adds and moves in parallel and out-of-order with respect to the other execution units. At small incremental cost, AMU enables better use of the expensive limited resources of an existing Address Preparation unit (AP), which handles linear and physical address generation for memory operand references, control transfers, and page crosses. AMU removes data dependencies and thereby increases the available instruction level parallelism. The increased instruction level parallelism is readily exploited by the processor's ability to perform out-of-order and speculative execution, and performance is enhanced as a result.Type: GrantFiled: November 15, 1994Date of Patent: October 7, 1997Assignee: Advanced Micro Devices, Inc.Inventors: Elliot A. Sowadsky, Larry Widigen, David L. Puziol, Korbin S. Van Dyke
-
Patent number: 5623614Abstract: A Branch Prediction Cache (BPC) selects from among multiple branch address entries for a single return-type instruction that returns to multiple callers. The BPC has a branch address associative memory, a return address associative memory, and word line logic used to validate and qualify entries. The branch address associative memory monitors program addresses for previously stored branch addresses. The return address stack (RtnStack) stores the return addresses for the most recent call-type instructions. The top of the stack is input to the return address associative memory. When a program address has multiple matches in the branch address associative memory, the return address associative memory enables only the entry that has an associated return address matching the top of the RtnStack. In an alternate embodiment, the return address associative memory is combined with a branch address cache and target address associative memory.Type: GrantFiled: September 17, 1993Date of Patent: April 22, 1997Assignee: Advanced Micro Devices, Inc.Inventors: Korbin S. Van Dyke, Larry Widigen, David L. Puziol
-
Patent number: 5590351Abstract: An execution unit performs multiple sequential instruction pointer updates and segment limit checks within a cycle. The updates and checks are carried out in a high-performance pipelined processor that speculatively executes variable length instructions. A disclosed embodiment of the execution unit includes Next EIP (Extended Instruction Pointer) selection logic, Current EIP selection logic, an EIP History RAM, a Dual EIP Adder, a CS Limit check adder, limit checking combinational logic, and a limit fault History RAM.Type: GrantFiled: January 21, 1994Date of Patent: December 31, 1996Assignee: Advanced Micro Devices, Inc.Inventors: Elliot A. Sowadsky, Larry Widigen, David L. Puziol, Korbin S. Van Dyke
-
Patent number: 5583806Abstract: Carry-save adder techniques are used to concurrently generate Effective and Intermediate (also known as Relocation or Linear) Addresses with only a single carry propagation for each Address. Base, Scaled Index, and Displacement components are input to a first carry-save adder, which is common to both address calculations. A first sum vector and a first left-shifted carry vector are inputs to a first carry-propagate adder for generating the Effective Address. A second carry-save adder has as inputs a Segment Base Address, said first sum vector, and said first left-shifted carry vector. A second sum vector and a second left-shifted carry vector are inputs to a second carry-propagate adder for generating the Intermediate Address.Type: GrantFiled: March 10, 1995Date of Patent: December 10, 1996Assignee: Advanced Micro Devices, Inc.Inventors: Larry Widigen, William A. Stutz
-
Patent number: 5517440Abstract: A first two-input adder computes the sum of one wider and one narrower input by combining a conventional adder for the low-order bits with an incrementer and selection logic for the high-order bits. A second three-input adder computes the sum of one wider and two narrower inputs in a similar way: the low-order bits are computed with a conventional carry save adder (CSA) followed by a carry propagate adder (CPA), while the high-order bits are computed with an incrementer and selection logic. The first and second circuits are combined to form a third arithmetic circuit that takes four input operands, the first of which is wider than the other three, and speculatively computes two results: (1) the sum of the first and second input operands; and (2) the sum of the first, third, and fourth input operands. This combined circuit contains all of the elements of the first two circuits, but shares a single incrementer. A degenerate case of the third circuit occurs when the second and third inputs are common.Type: GrantFiled: May 2, 1995Date of Patent: May 14, 1996Assignee: NexGen, Inc.Inventors: Larry Widigen, Elliot A. Sowadsky
-
Patent number: 5454117Abstract: In a first aspect of the invention, branch prediction hardware, comprising logic and interconnect, is configurable via a control line to alter the manner in which the branch prediction is generated. The configuration can be done programmatically in software. Or, the configuration can be done by hardware in response to processor events. Such processor events include the loading of the CS register and changes in the instruction workload. In a second aspect of the invention, related to speculative execution, the directions of a plurality of branches are predicted based partly on resolved branch history information. Tentative branch history information is then stored for each of the predicted branches. When a predicted branch is resolved, the resolved branch history information is updated based on the stored tentative branch history information for the branch most recently resolved. Additionally, the predictions may be partly based on preceding unresolved branch predictions if any are outstanding.Type: GrantFiled: August 25, 1993Date of Patent: September 26, 1995Assignee: NexGen, Inc.Inventors: David L. Puziol, Korbin S. Van Dyke, Larry Widigen, Len Shar, Walstein B. Smith, III
-
Patent number: 5418736Abstract: A first two-input adder computes the sum of one wider and one narrower input by combining a conventional adder for the low-order bits with an incrementer and selection logic for the high-order bits. A second three-input adder computes the sum of one wider and two narrower inputs in a similar way: the low-order bits are computed with a conventional carry save adder (CSA) followed by a carry propagate adder (CPA), while the high-order bits are computed with an incrementer and selection logic. The first and second circuits are combined to form a third arithmetic circuit that takes four input operands, the first of which is wider than the other three, and speculatively computes two results: (1) the sum of the first and second input operands; and (2) the sum of the first, third, and fourth input operands. This combined circuit contains all of the elements of the first two circuits, but shares a single incrementer. A degenerate case of the third circuit occurs when the second and third inputs are common.Type: GrantFiled: March 11, 1994Date of Patent: May 23, 1995Assignee: NexGen, Inc.Inventors: Larry Widigen, Elliot A. Sowadsky