Patents by Inventor Michael D. Goddard

Michael D. Goddard 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: 6351801
    Abstract: In a microprocessor system, a program counter circuit generates a program counter value that represents a retrieved instruction and that includes a more significant portion, a less significant portion, and a carry signal for use in determining a next program counter value. An execute program counter circuit generates an execute program counter value from the less significant program counter value and from the carry signal. The execute program counter value represents a program counter value of an executed instruction.
    Type: Grant
    Filed: January 14, 2000
    Date of Patent: February 26, 2002
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David S. Christie, Scott A. White, Michael D. Goddard
  • Patent number: 6189087
    Abstract: A superscalar complex instruction set computer (“CISC”) processor having a reduced instruction set computer (“RISC”) superscalar core includes an instruction cache which identifies and marks raw x86 instruction start and end points and encodes “pre-decode” information, a byte queue which is a queue of aligned instruction and pre-decode information of the “predicted executed” state, and an instruction decoder which generates type, opcode, and operand pointer values for RISC-like operations (ROPs) based on the aligned pre-decoded x86 instructions in the byte queue and determines the number of possible x86 instruction dispatch for shifting the byte que. The instruction decoder includes in each dispatch position a logic conversion path, a memory conversion path, and a common conversion path for converting CISC instructions to ROPs.
    Type: Grant
    Filed: August 5, 1997
    Date of Patent: February 13, 2001
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, Michael D. Goddard
  • Patent number: 6122721
    Abstract: A reservation station with format conversion logic enables the implementation of a superscalar computer processing system which incorporates both a floating point functional unit and non-floating point functional units. By converting operand data in a floating point reservation station from external formats to an internal floating point format, a system incorporating such a floating point reservation station enables the representation of operand data in uniform external formats outside floating point arithmetic units (e.g., in a reorder buffer, on operand and result busses, and within non-floating functional units) while also enabling the use of a specialized internal representation (internal floating point format) within floating point arithmetic units.
    Type: Grant
    Filed: March 1, 1999
    Date of Patent: September 19, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael D. Goddard, Kelvin D. Goveas, Norman Bujanos
  • Patent number: 6035386
    Abstract: A processor which includes a fetch program counter circuit and an execute program counter circuit is disclosed. The fetch program counter circuit provides less significant program counter value bits in addition to a fetch program counter value. The execute program counter circuit generates an execute program counter value using the less significant program counter value bits. The execute program counter circuit receives a plurality of less significant program counter bit values and selects a single less significant program counter bit value thus generating execute program counter values in a multiple pipeline processor.
    Type: Grant
    Filed: February 10, 1998
    Date of Patent: March 7, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David S. Christie, Scott A. White, Michael D. Goddard
  • Patent number: 5970235
    Abstract: An instruction cache for a superscalar processor having a variable byte-length instruction format, such as the X86 format, is organized as a 16K byte 4-way set-associative cache. An instruction store array is organized as 1024 blocks of 16 predecoded instruction bytes. The instruction bytes are prefetched and predecoded to facilitate the subsequent parallel decoding and mapping of up to four instructions into a sequence of one or more internal RISC-like operations (ROPs), and the parallel dispatch of up to 4 ROPs by an instruction decoder. Predecode bits are assigned to each instruction byte and are stored with the corresponding instruction byte in the instruction store array. The predecode bits include bits for identifying the starting, ending, and opcode bytes, and for specifying the number of ROPs that an instruction maps into.
    Type: Grant
    Filed: October 16, 1997
    Date of Patent: October 19, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, Michael D. Goddard
  • Patent number: 5903772
    Abstract: A processor core for supporting the concurrent execution of mixed integer and floating point operations includes integer functional units (110) utilizing 32-bit operand data and a floating point functional unit (22) utilizing up to 82-bit operand data. Eight operand busses (30, 31) connect to the functional units to furnish operand data, and five result busses (32) are connected to the functional units to return results. The width of the operand busses is 41 bits, which is sufficient to communicate either integer or floating point data. This is done using an instruction decoder (18) to apportion a floating point operation which operates on 82-bit floating point operand data into multiple suboperations each associated with a 41-bit suboperand. The operand busses and result busses have an expanded data-handling dimension from the standard integer data width of 32 bits to 41 bits for handling the floating point operands.
    Type: Grant
    Filed: August 15, 1997
    Date of Patent: May 11, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Scott A. White, Michael D. Goddard, William M. Johnson
  • Patent number: 5896518
    Abstract: A superscalar complex instruction set computer ("CISC") processor (100) having a reduced instruction set computer ("RISC") superscalar core (110) includes an instruction cache (104) which identifies and marks raw x86 instruction start and end points and encodes "pre-decode" information, a byte queue (106) which is a queue of aligned instruction and pre-decode information of the "predicted executed" state, and an instruction decoder (108) which generates type, opcode, and operand pointer values for RISC-like operations (ROPs) based on the aligned pre-decoded x86 instructions in the byte queue. The instruction decoder includes in each dispatch position a logic-based conversion path, a memory-based conversion path, and a common conversion path for converting CISC instructions to ROPs. An ROP multiplexer (400) directs x86 instructions from the byte queue to the conversion paths.
    Type: Grant
    Filed: February 4, 1997
    Date of Patent: April 20, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Nathan L. Yao, Michael D. Goddard
  • Patent number: 5878266
    Abstract: A reservation station with format conversion logic enables the implementation of a superscalar computer processing system which incorporates both a floating point functional unit and non-floating point functional units. By converting operand data in a floating point reservation station from external formats to an internal floating point format, a system incorporating such a floating point reservation station enables the representation of operand data in uniform external formats outside floating point arithmetic units (e.g., in a reorder buffer, on operand and result busses, and within non-floating functional units) while also enabling the use of a specialized internal representation (internal floating point format) within floating point arithmetic units.
    Type: Grant
    Filed: September 26, 1995
    Date of Patent: March 2, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael D. Goddard, Kelvin D. Goveas, Norman Bujanos
  • Patent number: 5857089
    Abstract: In a processor (110) that performs multiple instructions in a single cycle, predicts outcomes of branch conditions and speculatively executes instructions based on the branch predictions, a method and apparatus for operating a data stack utilize a remap array (674) to support a stack exchange capability. The remap array is used to correlate a stack pointer (672) to data elements (700) within the stack. A lookahead stack pointer (502) and remap array (504) are updated to preserve the processor's state of operation while speculative instructions are executed.
    Type: Grant
    Filed: November 12, 1997
    Date of Patent: January 5, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael D. Goddard, Scott A. White
  • Patent number: 5805853
    Abstract: A superscalar microprocessor is provided with a reorder buffer for storing the speculative state of the microprocessor and a register file for storing the real state of the microprocessor. A flags register stores the real state of flags that are updated by flag modifying instructions which are executed by the functional units of the microprocessor. To enhance the performance of the microprocessor with respect to conditional branching instructions, the reorder buffer includes a flag storage area for storing flags that are updated by flag modifying instructions. The flags are renamed to make possible the earlier execution of branch instructions which depend on flag modifying instructions. If a flag is not yet determined, then a flag tag is associated with the flag storage area in place of that flag until the actual flag value is determined.
    Type: Grant
    Filed: February 10, 1997
    Date of Patent: September 8, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Scott A. White, David S. Christie, Michael D. Goddard
  • Patent number: 5799162
    Abstract: A processor which includes a fetch program counter circuit and an execute program counter circuit is disclosed. The fetch program counter circuit provides less significant program counter value bits in addition to a fetch program counter value. The execute program counter circuit generates an execute program counter value using the less significant program counter value bits. The execute program counter circuit receives a plurality of less significant program counter bit values and selects a single less significant program counter bit value thus generating execute program counter values in a multiple pipeline processor.
    Type: Grant
    Filed: September 23, 1996
    Date of Patent: August 25, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David S. Christie, Scott A. White, Michael D. Goddard
  • Patent number: 5796974
    Abstract: A microcode patching method and apparatus provides for fetching of microcode from an external source which, under appropriate conditions, replaces direct reading of microcode from a microcode ROM. In a decoder having a capability to concurrently dispatch up to four instructions and each dispatch pathway having two alternative decoding pathways including a fastpath pathway and a microcode ROM pathway, a technique and apparatus for patching the microcode ROM is described. This technique and apparatus provides that execution codes from the microcode ROM are selectively replaced, during decoding, by codes taken from an external source, such as from an external memory via a byte queue.
    Type: Grant
    Filed: November 7, 1995
    Date of Patent: August 18, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael D. Goddard, David S. Christie
  • Patent number: 5796973
    Abstract: A superscalar complex instruction set computer ("CISC") processor having a reduced instruction set ("RISC") superscalar core includes an instruction cache which identifies and marks raw x86 instruction start and end points and encodes "predecode" information, a byte queue (BYTEQ) which is a queue of aligned instruction and predecode information of the "predicted executed" state, and an instruction decoder (IDECODE) which generates type, opcode, and operand pointer values for RISC-like operation based on the aligned predecoded x86 instructions in the BYTEQ and determines the number of possible x86 instruction dispatch for shifting the BYTEQ. The IDECODE includes in each dispatch position a logic conversion path, a memory conversion path, and a common conversion path for converting CISC instructions to ROPs. An ROP multiplexer directs x86 instructions from the BYTEQ to the conversion paths. A select circuit (ROPSELECTx) assembles ROP information from the appropriate conversion paths.
    Type: Grant
    Filed: August 6, 1997
    Date of Patent: August 18, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, Michael D. Goddard
  • Patent number: 5764938
    Abstract: Operations of a pipeline processor (110) are resynchronized under designated conditions. The processor updates a fetch program counter (210) and, as directed by the counter, fetches instructions from a memory (114). The processor concurrently dispatches, in the fetched order, multiple instructions to designated functional units (170, 171, 172, 173, 174 and 175). Dispatched instructions are queued in functional unit reservation stations. Result entries corresponding to the queued instructions are allocated in a reorder buffer 126 queue in their order of dispatch. Instructions are executed out of their fetched order and results are entered in the allocated result entries when execution is complete. Allocated result entries at the head of the reorder buffer queue are retired and an instruction pointer (620) is updated.
    Type: Grant
    Filed: February 10, 1997
    Date of Patent: June 9, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Scott A. White, Michael D. Goddard
  • Patent number: 5761105
    Abstract: A reservation station with an addressable constant store enables the provision of floating point constants to arithmetic units in a floating point unit of a superscalar processor. Floating point constant identifiers supplied with floating point instructions index into the addressable store and addressed constant are provided in an internal, extended-precision format which provides extra precision and/or range when compared with formats available external to the floating point unit. In this way, full internal, extended-precision constants can be provided for use in microcoded floating point instruction sequences. Additionally, internal extended-precision floating point constants may be rounded in accordance with a prevailing rounding mode and format to provide external format floating point constant values for use in implementing load constant instructions.
    Type: Grant
    Filed: May 13, 1997
    Date of Patent: June 2, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael D. Goddard, Kelvin D. Goveas
  • Patent number: 5748516
    Abstract: Logic for selectively forcing arithmetic results allows a floating point unit to bypass the normal flow through arithmetic units and pipelines depending on the particular floating point operation and operand conditions. Certain forced results (e.g., forced zeros, infinities, and those corresponding to certain invalid operand conditions) may bypass arithmetic units or pipelines and rounding circuitry entirely. On the other hand, other operand dependent results (e.g., the result of X+0 and results of operations involving a NaN operand or operands) may only partially bypass the normal flow. By providing logic for selectively forcing results, arithmetic pipelines may be freed for subsequent instructions in the instruction stream. Logic for selectively forcing arithmetic results may be particularly attractive in a superscalar processor.
    Type: Grant
    Filed: September 26, 1995
    Date of Patent: May 5, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael D. Goddard, Kelvin D. Goveas
  • Patent number: 5696955
    Abstract: In a processor (110) that performs multiple instructions in a single cycle, predicts outcomes of branch conditions and speculatively executes instructions based on the branch predictions, a method and apparatus for operating a data stack utilize a remap array (674) to support a stack exchange capability. The remap array is used to correlate a stack pointer (672) to data elements (700) within the stack. A lookahead stack pointer (502) and remap array (504) are updated to preserve the processor's state of operation while speculative instructions are executed.
    Type: Grant
    Filed: June 1, 1994
    Date of Patent: December 9, 1997
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael D. Goddard, Scott A. White
  • Patent number: 5689672
    Abstract: An instruction cache for a superscalar processor having a variable byte-length instruction format, such as the X86 format, is organized as a 16K byte 4-way set-associative cache. An instruction store array is organized as 1024 blocks of 16 predecoded instruction bytes. The instruction bytes are prefetched and predecoded to facilitate the subsequent parallel decoding and mapping of up to four instructions into a sequence of one or more internal RISC-like operations (ROPs), and the parallel dispatch of up to 4 ROPs by an instruction decoder. Predecode bits are assigned to each instruction byte and are stored with the corresponding instruction byte in the instruction store array. The predecode bits include bits for identifying the starting, ending, and opcode bytes, and for specifying the number of ROPs that an instruction maps into.
    Type: Grant
    Filed: October 29, 1993
    Date of Patent: November 18, 1997
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, Michael D. Goddard
  • Patent number: 5649225
    Abstract: Operations of a pipeline processor (110) are resynchronized under designated conditions. The processor updates a fetch program counter (210) and, as directed by the counter, fetches instructions from a memory (114). The processor concurrently dispatches, in the fetched order, multiple instructions to designated functional units (170, 171, 172, 173, 174 and 175). Dispatched instructions are queued in functional unit reservation stations. Result entries corresponding to the queued instructions are allocated in a reorder buffer 126 queue in their order of dispatch. Instructions are executed out of their fetched order and results are entered in the allocated result entries when execution is complete. Allocated result entries at the head of the reorder buffer queue are retired and an instruction pointer (620) is updated.
    Type: Grant
    Filed: June 1, 1994
    Date of Patent: July 15, 1997
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Scott A. White, Michael D. Goddard
  • Patent number: 5632023
    Abstract: A superscalar microprocessor is provided with a reorder buffer for storing the speculative state of the microprocessor and a register file for storing the real state of the microprocessor. A flags register stores the real state of flags that are updated by flag modifying instructions which are executed by the functional units of the microprocessor. To enhance the performance of the microprocessor with respect to conditional branching instructions, the reorder buffer includes a flag storage area for storing flags that are updated by flag modifying instructions. The flags are renamed to make possible the earlier execution of branch instructions which depend on flag modifying instructions. If a flag is not yet determined, then a flag tag is associated with the flag storage area in place of that flag until the actual flag value is determined.
    Type: Grant
    Filed: June 1, 1994
    Date of Patent: May 20, 1997
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Scott A. White, David S. Christie, Michael D. Goddard