Patents by Inventor Daniel W. J. Johnson

Daniel W. J. 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: 8051116
    Abstract: A method for executing an MMX PSADBW instruction by a microprocessor. The method includes generating packed differences of packed operands of the instruction and generating borrow bits associated with each of the packed differences; for each of the packed differences: determining whether the borrow bit indicates the packed difference is positive or negative and selecting a value in response to the determining, the value comprising the packed difference if the associated borrow bit is positive and a complement of the packed difference if the associated borrow bit is negative; adding the selected values to generate a first sum and a first carry and in parallel adding the borrow bits to generate a second sum and a second carry; adding the first and second sums and the first and second carries to generate a result of the instruction; storing the result in a register of the microprocessor.
    Type: Grant
    Filed: February 26, 2008
    Date of Patent: November 1, 2011
    Assignee: VIA Technologies, Inc.
    Inventors: Daniel W. J. Johnson, Albert J. Loper
  • Patent number: 7480685
    Abstract: A microprocessor for generating a packed sum of absolute differences is disclosed. The microprocessor includes an instruction translator, for translating a Multimedia Extensions (MMX) Packed Sum of Absolute Differences Byte to Word (PSADBW) macroinstruction into at least first and second microinstructions. The microprocessor includes an MMX unit, coupled to the instruction translator, for generating a result of the PSADBW macroinstruction in response to the at least first and second microinstructions.
    Type: Grant
    Filed: January 31, 2007
    Date of Patent: January 20, 2009
    Assignee: VIA Technologies, Inc.
    Inventors: Daniel W. J. Johnson, Albert J. Loper, Jr.
  • Publication number: 20080162896
    Abstract: A method for executing an MMX PSADBW instruction by a microprocessor. The method includes generating packed differences of packed operands of the instruction and generating borrow bits associated with each of the packed differences; for each of the packed differences: determining whether the borrow bit indicates the packed difference is positive or negative and selecting a value in response to the determining, the value comprising the packed difference if the associated borrow bit is positive and a complement of the packed difference if the associated borrow bit is negative; adding the selected values to generate a first sum and a first carry and in parallel adding the borrow bits to generate a second sum and a second carry; adding the first and second sums and the first and second carries to generate a result of the instruction; storing the result in a register of the microprocessor.
    Type: Application
    Filed: February 26, 2008
    Publication date: July 3, 2008
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: Daniel W.J. Johnson, Albert J. Loper
  • Patent number: 7376686
    Abstract: An apparatus for performing an MultiMedia extension (MMX) Packed Sum of Absolute Differences (PSADBW) instruction is disclosed. The apparatus includes carry-generating subtraction logic that generates packed differences of the subtrahend from the minuend and associated carry bits indicating whether the difference is positive or negative. The apparatus selectively inverts the differences based on the carry bits. Addition logic adds the selectively inverted differences and carry bits substantially in parallel to generate the PSADBW instruction result. In one embodiment, the apparatus also includes two muxes. The first mux selects the selectively inverted differences in the case of a PSADBW instruction and selects a multiply instruction's partial products otherwise. The second mux selects the carry bits in the case of a PSADBW instruction and selects a second multiply instruction's partial products otherwise. The two mux outputs are provided to the addition logic.
    Type: Grant
    Filed: January 27, 2004
    Date of Patent: May 20, 2008
    Assignee: VIA Technologies, Inc.
    Inventors: Daniel W. J. Johnson, Albert J. Loper
  • Patent number: 7191320
    Abstract: A pipeline microprocessor that distributes the instruction dispatching function between a main instruction dispatcher and dispatching logic within a plurality of execution units is disclosed. If the main instruction dispatcher requests load data from a data cache that indicates the data is unavailable, the instruction dispatcher provides to the appropriate execution unit the load instruction (without the load data), a tag (also known by the cache) uniquely identifying the unavailable data, and a false data valid indicator. The cache subsequently obtains the data and outputs it on a bus along with the tag. The dispatching logic in the execution unit is monitoring the bus looking for a valid tag that matches tags of entries in its queue with invalid data indicators. Upon a match, the dispatching logic obtains the data from the bus and subsequently dispatches the instruction along with the data to a functional unit for execution.
    Type: Grant
    Filed: February 11, 2004
    Date of Patent: March 13, 2007
    Assignee: VIA Technologies, Inc.
    Inventors: Rodney E. Hooker, Daniel W. J. Johnson, Albert J. Loper
  • Publication number: 20040199751
    Abstract: An apparatus for performing an MMX PSADBW instruction is disclosed. The apparatus includes carry-generating subtraction logic that generates packed differences of the subtrahend from the minuend and associated carry bits indicating whether the difference is positive or negative. The apparatus selectively inverts the differences based on the carry bits. Addition logic adds the selectively inverted differences and carry bits substantially in parallel to generate the PSADBW instruction result. In one embodiment, the apparatus also includes two muxes. The first mux selects the selectively inverted differences in the case of a PSADBW instruction and selects a multiply instruction's partial products otherwise. The second mux selects the carry bits in the case of a PSADBW instruction and selects a second multiply instruction's partial products otherwise. The two mux outputs are provided to the addition logic.
    Type: Application
    Filed: January 27, 2004
    Publication date: October 7, 2004
    Applicant: VIA Technologies, Inc.
    Inventors: Daniel W.J. Johnson, Albert J. Loper
  • Publication number: 20040172521
    Abstract: A pipeline microprocessor that distributes the instruction dispatching function between a main instruction dispatcher and dispatching logic within a plurality of execution units is disclosed. If the main instruction dispatcher requests load data from a data cache that indicates the data is unavailable, the instruction dispatcher provides to the appropriate execution unit the load instruction (without the load data), a tag (also known by the cache) uniquely identifying the unavailable data, and a false data valid indicator. The cache subsequently obtains the data and outputs it on a bus along with the tag. The dispatching logic in the execution unit is monitoring the bus looking for a valid tag that matches tags of entries in its queue with invalid data indicators. Upon a match, the dispatching logic obtains the data from the bus and subsequently dispatches the instruction along with the data to a functional unit for execution.
    Type: Application
    Filed: February 11, 2004
    Publication date: September 2, 2004
    Applicant: VIA Technologies, Inc.
    Inventors: Rodney E. Hooker, Daniel W.J. Johnson, Albert J. Loper
  • Patent number: 5416443
    Abstract: A phase lock loop circuit (PLL) is manufactured as a part of each very large scale integrated circuit (VLSI) that might need clock pulses. When these VLSI chips are mounted on a printed circuit board (PC), three crystal oscillators are also mounted on the PC in order to provide redundancy. In order to identify crystal oscillators that are less desirable from the standpoint of operation and accuracy, a circuit is mounted on the PC for comparing oscillator frequencies and detecting when lack of frequency agreement is noted. A gating circuit receives the output of the detecting circuit for selecting and passing clock pulses only from a properly functioning crystal oscillator to the rest of the PC. Programmable counters are provided in the PLLs to allow local generation within each VLSI of clock pulses at a frequency that is a ratio of the frequency of the crystal-generated clock pulses that are circulated throughout the PC.
    Type: Grant
    Filed: December 22, 1993
    Date of Patent: May 16, 1995
    Assignee: International Business Machines Corporation
    Inventors: H. Clay Cranford, Jr., Douglas E. Gill, Charles R. Hoffman, Daniel W. J. Johnson
  • Patent number: 5264958
    Abstract: The interface subsystem comprises a universal interface card or unit for use with any of a plurality of electrical interface standards, for example, EIA-232-D, and CCITT Recommendations V.35 and X.21. The interface subsystem further comprises a cable selected from a set of cables for use with the particular standard being utilized. The particular cable has preconditioning means so that the signals conforming to the corresponding interface standard are within a voltage-level window suitable for the universal interface unit for processing. The universal interface unit comprises an input/output port for receiving the preconditioned signals having common pins among the interface standards. The preconditioned signals are routed to one or more receivers for converting the signals to TTL level for processing by a communications processor.
    Type: Grant
    Filed: November 12, 1991
    Date of Patent: November 23, 1993
    Assignee: International Business Machines Corp.
    Inventor: Daniel W. J. Johnson