Patents by Inventor William M. Johnson

William M. Johnson 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: 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: 5903910
    Abstract: A microprocessor including a pair of caches is provided. One of the pair of caches is accessed by stack-relative memory accesses from the decode stage of the instruction processing pipeline. The second of the pair of caches is accessed by memory accesses from the execute stage of the instruction processing pipeline. When a miss is detected in the first of the pair of caches, the stack-relative memory access which misses is conveyed to the execute stage of the instruction processing pipeline. When the stack-relative memory access accesses the second of the pair of caches, the cache line containing the access is transmitted to the first of the pair of caches for storage. The first of the pair of caches selects a victim line for replacement when the data is transferred from the second of the pair of caches. If the victim line has been modified while stored in the first cache, then the victim line is stored in a copyback buffer.
    Type: Grant
    Filed: November 20, 1995
    Date of Patent: May 11, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Thang M. Tran, Marty L. Pflum, David B. Witt, William M. Johnson
  • Patent number: 5891476
    Abstract: The present invention provides a drug delivery system containing a pharmaceutically active core and a coating of the core. The coating is comprised of a an emulsifier and a wax. The coating provides rapid dissolution and enhanced long-term stability for the pharmaceutically active ingredient.
    Type: Grant
    Filed: December 22, 1997
    Date of Patent: April 6, 1999
    Inventors: Joe P. Reo, William M. Johnson
  • Patent number: 5878245
    Abstract: A load/store functional unit and a corresponding data cache of a superscalar microprocessor is disclosed. The load/store functional unit includes a plurality of reservation station entries which are accessed in parallel and which are coupled to the data cache in parallel. The load/store functional unit also includes a store buffer circuit having a plurality of store buffer entries. The store buffer entries are organized to provide a first in first out buffer where the outputs from less significant entries of the buffer are provided as inputs to more significant entries of the buffer.
    Type: Grant
    Filed: October 29, 1993
    Date of Patent: March 2, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: William M. Johnson, David B. Witt, Murali Chinnakonda
  • Patent number: 5867683
    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: April 30, 1997
    Date of Patent: February 2, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, William M. Johnson
  • Patent number: 5867682
    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: February 2, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David B. Witt, William M. Johnson
  • Patent number: 5848287
    Abstract: A superscalar microprocessor is provided which maintains coherency between a pair of caches accessed from different stages of an instruction processing pipeline. A dependency checking structure is provided within the microprocessor. The dependency checking structure compares memory accesses performed from the execution stage of the instruction processing pipeline to memory accesses performed from the decode stage. The decode stage performs memory accesses to a stack cache, while the execution stage performs its accesses (address for which are formed via indirect addressing) to the stack cache and to a data cache. If a read memory access performed by the execution stage is dependent upon a write memory access performed by the decode stage, the read memory access is stalled until the write memory access completes.
    Type: Grant
    Filed: February 20, 1996
    Date of Patent: December 8, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Thang M. Tran, David B. Witt, William M. Johnson
  • Patent number: 5845101
    Abstract: A microprocessor is configured to speculatively fetch cache lines of instruction bytes prior to actually detecting a cache miss for the cache lines of instruction bytes. The bytes transferred from an external main memory subsystem are stored into one of several prefetch buffers. Subsequently, instruction fetches may be detected which hit the prefetch buffers. Furthermore, predecode data may be generated for the instruction bytes stored in the prefetch buffers. When a fetch hit in the prefetch buffers is detected, predecode data may be available for the instructions being fetched. The prefetch buffers may each comprise an address prefetch buffer included within an external interface unit and an instruction data prefetch buffer included within a prefetch/predecode unit. The external interface unit maintains the addresses of cache lines assigned to the prefetch buffers in the address prefetch buffers. Both the linear address and the physical address of each cache line is maintained.
    Type: Grant
    Filed: May 13, 1997
    Date of Patent: December 1, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: William M. Johnson, Thang M. Tran, Matt T. Gavin, Mike Pedneau
  • Patent number: 5835744
    Abstract: A microprocessor is provided which is configured to locate memory and register operands regardless their use as an A operand or B operand in an instruction. Memory operands are conveyed upon a memory operand bus, and register operands are conveyed upon a register operand bus. Decoding of the source and destination status of the operands may be performed in parallel with the operand fetch. Restricting memory operands to a memory operand bus enables reduced bussing between decode units and the operand fetch unit. After fetching operand values from an operand storage, the operand fetch unit reorders the operand values according to the instruction determined by the associated decode unit. The operand values are thereby properly aligned for conveyance to the associated reservation station.
    Type: Grant
    Filed: November 20, 1995
    Date of Patent: November 10, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Thang M. Tran, David B. Witt, William M. Johnson
  • 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: 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: 5787266
    Abstract: A microprocessor employing an apparatus for performing special register writes without serialization is provided. The apparatus detects special register write instructions when the instructions are dispatched, and stores an indication of the write in a special register dependency block. Instructions subsequent to the special register write instruction are examined for both explicit and implicit dependencies upon the special register write. If a dependency is detected with respect to a particular instruction, the instruction is dispatched to a reservation station along with an indication of the dependency. Instructions subsequent to the special register write instruction which are not dependent upon the special register are dispatched without an indication of special register dependency. Instructions without dependencies may speculatively execute prior to instructions with dependencies, or even prior to the special register write instruction.
    Type: Grant
    Filed: February 20, 1996
    Date of Patent: July 28, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: William M. Johnson, Thang M. Tran, Rupaka Mahalingaiah
  • 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: 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: 5574928
    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: April 26, 1994
    Date of Patent: November 12, 1996
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Scott A. White, Michael D. Goddard, William M. Johnson
  • Patent number: RE35794
    Abstract: A super-scaler processor is disclosed wherein branch-prediction information is provided within an instruction cache memory. Each instruction cache block stored in the instruction cache memory includes branch-prediction information fields in addition to instruction fields, which indicate the address of the instruction block's successor and information indicating the location of a branch instruction within the instruction block. Thus, the next cache block can be easily fetched without waiting on a decoder or execution unit to indicate the proper fetch action to be taken for correctly predicted branching.
    Type: Grant
    Filed: August 4, 1994
    Date of Patent: May 12, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventor: William M. Johnson