Patents by Inventor David B. Witt

David B. Witt 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: 5832249
    Abstract: An instruction alignment unit is provided which is capable of routing variable byte length instructions simultaneously to a plurality of decode units which form fixed issue positions within a superscalar microprocessor. The instruction alignment unit may be implemented with a relatively small number of cascaded levels of logic gates, thus accomodating very high frequencies of operation. In none embodiment, the superscalar microprocessor includes an instruction cache for storing a plurality of variable byte-length instructions and a predecode unit for generating predecode tags which identify the location of the start byte of each variable byte-length instruction. An instruction alignment unit is configured to channel a plurality of the variable byte-length instructions simultaneously to predetermined issue positions depending upon the locations of their corresponding start bytes in a cache line.
    Type: Grant
    Filed: October 3, 1997
    Date of Patent: November 3, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Thang Tran, David B. Witt
  • Patent number: 5828869
    Abstract: A microprocessor is provided which is capable of executing synchronous accesses to an external memory whether the external memory is operating at the same frequency as the operating frequency of the microprocessor or whether the external memory is operating at a frequency which is one-half the microprocessor operating frequency. The microprocessor includes a rate control input for receiving a rate control signal having a first level indicative of the microprocessor frequency being equal to the external memory frequency or a second level indicative of the microprocessor frequency being twice the external memory frequency.
    Type: Grant
    Filed: June 19, 1997
    Date of Patent: October 27, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: William M. Johnson, David B. Witt
  • Patent number: 5826053
    Abstract: A speculative instruction queue for a superscalar processor of the type having a variable byte-length instruction format, such as the X86 format, is organized as a 16-byte FIFO. The head of the queue is always the beginning byte of an X86 instruction, and the queue always shifts by one or more X86 instruction boundaries as X86 instructions are decoded and dispatched. Each byte position within the queue includes a valid bit for indicating whether the byte position within the queue contains valid information, the raw X86 instruction byte as originally fetched from an instruction source and stored within a preceeding cache, and a group of predecode bits assigned to the raw X86 instruction byte when initially pre-fetched and cached, and which predecode bits indicate the starting byte, ending byte, and the opcode byte of an X86 instruction, as well as the number of internal RISC-like operations into which the corresponding X86 instruction is mapped.
    Type: Grant
    Filed: September 23, 1994
    Date of Patent: October 20, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David B. Witt
  • Patent number: 5819057
    Abstract: A high performance superscalar microprocessor including an instruction alignment unit is provided which is capable of routing variable byte length instructions simultaneously to a plurality of decode units which form fixed issue positions within the superscalar microprocessor. The instruction alignment unit may be implemented with a relatively small number of cascaded levels of logic gates, thus accommodating very high frequencies of operation. In one embodiment, the superscalar microprocessor includes an instruction cache for storing a plurality of variable byte-length instructions and a predecode unit for generating predecode tags which identify the location of the start byte of each variable byte-length instruction. An instruction alignment unit is configured to channel a plurality of the variable byte-length instructions simultaneously to predetermined issue positions depending upon the locations of their corresponding start bytes in a cache line.
    Type: Grant
    Filed: June 30, 1997
    Date of Patent: October 6, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, Thang Tran
  • Patent number: 5813045
    Abstract: An apparatus is provided, including one or more early address generation units which attempt to perform data address generation upon decode of an instruction which includes a memory operand. The early address generation units may be successful at generating the data address if the logical data address is formed from a displacement only. Additionally, the early address generation unit may be successful at generating the data address if the logical data address is formed from the displacement and register operands which are available upon decode of the instruction. Data address generation latency may be shortened. If register operands are employed for forming the address and the register operands are not available, the data address may be generated in a functional unit at the execute stage.
    Type: Grant
    Filed: July 24, 1996
    Date of Patent: September 22, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Rupaka Mahalingaiah, Thang M. Tran, David B. Witt
  • Patent number: 5805912
    Abstract: A microprocessor is provided which executes synchronous accesses to an external memory whether the external memory is operating at the same frequency as the operating frequency of the microprocessor or whether the external memory is operating at a frequency which is one-half the microprocessor operating frequency. The microprocessor includes a rate control input for receiving a rate control signal having a first level indicative of the microprocessor frequency being equal to the external memory frequency or a second level indicative of the microprocessor frequency being twice the external memory frequency. A memory access control is coupled to the rate control input and is responsive to the rate control signal, an internal microprocessor clock, and the external memory clock for causing the microprocessor to access the external memory in synchronism with the external memory clock when the external memory frequency is either equal to the microprocessor frequency or is one-half the microprocessor frequency.
    Type: Grant
    Filed: September 1, 1993
    Date of Patent: September 8, 1998
    Assignee: Advanced Micro Devices
    Inventors: William M. Johnson, David B. Witt
  • 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: 5768555
    Abstract: A reorder buffer is provided which stores a last in buffer (LIB) indication corresponding to each instruction. The last in buffer indication indicates whether or not the corresponding instruction is last, in program order, of the instructions within the buffer to update the storage location defined as the destination of that instruction. The LIB indication is included in the dependency checking comparisons. A dependency is indicated for a given source operand and a destination operand within the reorder buffer if the operand specifiers match and the corresponding LIB indication indicates that the instruction corresponding to the destination operand is last to update the corresponding storage location. At most one of the dependency comparisons for a given source operand can indicate dependency. According to one embodiment, the reorder buffer employs a line-oriented configuration.
    Type: Grant
    Filed: February 20, 1997
    Date of Patent: June 16, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Thang M. Tran, David B. Witt
  • Patent number: 5761691
    Abstract: A microprocessor conforming to the X86 architecture is disclosed which includes a linearly addressable cache, thus allowing the cache to be quickly accessed by an external bus while allowing fast translation to a logical address for operation with functional units of microprocessor. Also disclosed is a microprocessor which includes linear tag array and a physical tag array corresponding to the linear tag array, thus allowing the contents of a microprocessor cache to be advantageously monitored from an external bus without slowing the main instruction and data access processing paths.
    Type: Grant
    Filed: January 8, 1997
    Date of Patent: June 2, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David B. Witt
  • Patent number: 5758114
    Abstract: An instruction alignment unit is provided which transfers a fixed number of instructions from an instruction cache to each of a plurality of decode units. The instructions are selected from a quantity of bytes according to a predecode tag generated by a predecode unit. The predecode tag includes start-byte bits that indicate which bytes within the quantity of bytes are the first byte of an instruction. The instruction alignment unit independently scans a plurality of groups of instruction bytes, selecting start bytes and a plurality of contiguous bytes for each of a plurality of issue positions. Initially, the instruction alignment unit selects a group of issue positions for each of the plurality of groups of instructions. The instruction alignment unit then shifts and merges the independently produced issue positions to produce a final set of issue positions for transfer to a plurality of decode units.
    Type: Grant
    Filed: May 28, 1997
    Date of Patent: May 26, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: William M. Johnson, David B. Witt, Thang Tran
  • Patent number: 5751981
    Abstract: A superscalar microprocessor is provided which includes a integer functional unit and a floating point functional unit that share a high performance main data processing bus. The integer unit and the floating point unit also share a common reorder buffer, register file, branch prediction unit and load/store unit which all reside on the same main data processing bus. Instruction and data caches are coupled to a main memory via an internal address data bus which handles communications therebetween. An instruction decoder is coupled to the instruction cache and is capable of decoding multiple instructions per microprocessor cycle. Instructions are dispatched from the decoder in speculative order, issued out-of-order and completed out-of-order. Instructions are retired from the reorder buffer to the register file in-order. The functional units of the microprocessor desirably accommodate operands exhibiting multiple data widths.
    Type: Grant
    Filed: February 9, 1996
    Date of Patent: May 12, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, William M. Johnson
  • 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: 5684422
    Abstract: A pipelined microprocessor is provided including a latch circuit wherein a first transmission gate is electrically coupled in series with a second transmission gate between an output line of a first pipeline stage and an input stage of a subsequent pipeline stage. The latch circuit is controlled by a single clock signal wherein a delay element is employed to simultaneously enable both transmission gates upon an edge of the clock signal. The length of time during which both transmission gates are enabled is determined by an electrical delay associated with the delay element. When both transmission gates are enabled, the input line is electrically coupled to the output line. A keeper circuit at the output of the second transmission gate retains a logical value at the output of the latch after the input line is decoupled from the output line.
    Type: Grant
    Filed: September 27, 1996
    Date of Patent: November 4, 1997
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, Marty Pflum
  • Patent number: 5664136
    Abstract: A superscalar microprocessor is provided which includes a integer functional unit and a floating point functional unit that share a high performance main data processing bus. The integer unit and the floating point unit also share a common reorder buffer, register file, branch prediction unit and load/store unit which all reside on the same main data processing bus. Instruction and data caches are coupled to a main memory via an internal address data bus which handles communications therebetween. An instruction decoder is coupled to the instruction cache and is capable of decoding multiple instructions per microprocessor cycle. Instructions are dispatched from the decoder in speculative order, issued out-of-order and completed out-of-order. Instructions are retired from the reorder buffer to the register file in-order. The functional units of the microprocessor desirably accommodate operands exhibiting multiple data widths.
    Type: Grant
    Filed: February 9, 1996
    Date of Patent: September 2, 1997
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, William M. Johnson
  • Patent number: 5655097
    Abstract: A superscalar microprocessor is provided which includes a integer functional unit and a floating point functional unit that share a high performance main data processing bus. The integer unit and the floating point unit also share a common reorder buffer, register file, branch prediction unit and load/store unit which all reside on the same main data processing bus. Instruction and data caches are coupled to a main memory via an internal address data bus which handles communications therebetween. An instruction decoder is coupled to the instruction cache and is capable of decoding multiple instructions per microprocessor cycle. Instructions are dispatched from the decoder in speculative order, issued out-of-order and completed out-of-order. Instructions are retired from the reorder buffer to the register file in-order. The functional units of the microprocessor desirably accommodate operands exhibiting multiple data widths.
    Type: Grant
    Filed: February 9, 1996
    Date of Patent: August 5, 1997
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, William M. Johnson
  • Patent number: 5655098
    Abstract: A superscalar microprocessor is provided which includes a integer functional unit and a floating point functional unit that share a high performance main data processing bus. The integer unit and the floating point unit also share a common reorder buffer, register file, branch prediction unit and load/store unit which all reside on the same main data processing bus. Instruction and data caches are coupled to a main memory via an internal address data bus which handles communications therebetween. An instruction decoder is coupled to the instruction cache and is capable of decoding multiple instructions per microprocessor cycle. Instructions are dispatched from the decoder in speculative order, issued out-of-order and completed out-of-order. Instructions are retired from the reorder buffer to the register file in-order. The functional units of the microprocessor desirably accommodate operands exhibiting multiple data widths.
    Type: Grant
    Filed: February 9, 1996
    Date of Patent: August 5, 1997
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, William M. Johnson
  • Patent number: 5651125
    Abstract: A superscalar microprocessor is provided which includes a integer functional unit and a floating point functional unit that share a high performance main data processing bus. The integer unit and the floating point unit also share a common reorder buffer, register file, branch prediction unit and load/store unit which all reside on the same main data processing bus. Instruction and data caches are coupled to a main memory via an internal address data bus which handles communications therebetween. An instruction decoder is coupled to the instruction cache and is capable of decoding multiple instructions per microprocessor cycle. Instructions are dispatched from the decoder in speculative order, issued out-of-order and completed out-of-order. Instructions are retired from the reorder buffer to the register file in-order. The functional units of the microprocessor desirably accommodate operands exhibiting multiple data widths.
    Type: Grant
    Filed: July 10, 1995
    Date of Patent: July 22, 1997
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, William M. Johnson
  • Patent number: 5630100
    Abstract: A method for converting a multiple-phase circuit to single-clock-edge circuit includes the steps of receiving a data signal at an input terminal, receiving a system clock signal having a system clock frequency and receiving a phase clock signal having a frequency divided from the system clock frequency. The data signal is transferred to an output terminal when the phase clock signal is active and latched upon the occurrence of an edge transition of the system clock signal when the phase clock signal is active. When the phase clock signal is inactive, the latched data signal is latched again upon the occurrence of the edge transition of the system clock signal. The latched data signal is transferred to the output terminal when the phase clock signal is inactive.
    Type: Grant
    Filed: October 17, 1994
    Date of Patent: May 13, 1997
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Gopi Ganapathy, David B. Witt
  • Patent number: 5623619
    Abstract: A microprocessor conforming to the X86 architecture is disclosed which includes a linearly addressable cache, thus allowing the cache to be quickly accessed by an external bus while allowing fast translation to a logical address for operation with functional units of microprocessor. Also disclosed is a microprocessor which includes linear tag array and a physical tag array corresponding to the linear tag array, thus allowing the contents of a microprocessor cache to be advantageously monitored from an external bus without slowing the main instruction and data access processing paths.
    Type: Grant
    Filed: July 24, 1995
    Date of Patent: April 22, 1997
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David B. Witt
  • Patent number: 5623627
    Abstract: A microprocessor is provided with an integral, two level cache memory architecture. The microprocessor includes a microprocessor core and a set associative first level cache both located on a common semiconductor die. A replacement cache, which is at least as large as approximately one half the size of the first level cache, is situated on the same semiconductor die and is coupled to the first level cache. In the event of a first level cache miss, a first level entry is discarded and stored in the replacement cache. When such a first level cache miss occurs, the replacement cache is checked to see if the desired entry is stored therein. If a replacement cache hit occurs, then the hit entry is forwarded to the first level cache and stored therein. If a cache miss occurs in both the first level cache and the replacement cache, then a main memory access is commenced to retrieve the desired entry. In that event, the desired entry retrieved from main memory is forwarded to the first level cache and stored therein.
    Type: Grant
    Filed: December 9, 1993
    Date of Patent: April 22, 1997
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David B. Witt