Patents by Inventor John L. Duncan

John L. Duncan 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: 8838938
    Abstract: In a microprocessor that has an instruction set architecture in which the instructions may include a variable number of prefix bytes, an apparatus for efficiently extracting instructions from a stream of undifferentiated instruction bytes. Decode logic determines which byte is an opcode byte for each instruction of a plurality of instructions within the stream of undifferentiated instruction bytes. The opcode byte is the first non-prefix byte of the instruction. The decode logic accumulates prefix information onto the opcode byte of the instruction for each instruction of the plurality of instructions. A queue holds the stream of undifferentiated instruction bytes and the accumulated prefix information. Extraction logic extracts the plurality of instructions from the queue in one clock cycle independent of the number of prefix bytes included in each of the plurality of instructions.
    Type: Grant
    Filed: October 1, 2009
    Date of Patent: September 16, 2014
    Assignee: Via Technologies, Inc.
    Inventors: Thomas C. McDonald, John L. Duncan
  • Patent number: 8612727
    Abstract: An apparatus in a microprocessor that has an instruction set architecture in which instructions may include a length-modifying prefix used to select an address/operand size other than a default address/operand size, wherein the apparatus marks the start byte and the end byte of each instruction in a stream of instruction bytes. Decode logic decodes each instruction byte of a predetermined number of instruction bytes to determine whether the instruction byte specifies a length-modifying prefix and generates a start mark and an end mark for each of the instruction bytes based on an address/operand size. Operand/address size logic provides the default operand/address size to the decode logic to use to generate the start and end marks during a first clock cycle during which the decode logic decodes the predetermined number of instruction bytes.
    Type: Grant
    Filed: October 1, 2009
    Date of Patent: December 17, 2013
    Assignee: VIA Technologies, Inc.
    Inventors: Thomas C. McDonald, John L. Duncan
  • Patent number: 8533434
    Abstract: An apparatus efficiently determines the length of an instruction within a stream of instruction bytes processed by a microprocessor having a variable instruction length instruction set architecture. The apparatus includes combinatorial logic associated with each instruction byte of the stream, each configured to receive the associated instruction byte and the next instruction byte of the stream and to generate in response thereto a first length, a second length, and a select control. A multiplexor associated with each of the combinatorial logic selects and outputs one of the following inputs based on the select control received from the combinatorial logic: a zero input and the second length received from the combinatorial logic associated with each of the next three instruction bytes of the stream. An adder associated with each of the combinatorial logic and multiplexor adds the first length and the output of the multiplexor to generate the length of the instruction.
    Type: Grant
    Filed: October 1, 2009
    Date of Patent: September 10, 2013
    Assignee: VIA Technologies, Inc.
    Inventors: John L. Duncan, Thomas C. McDonald
  • Patent number: 8443172
    Abstract: An apparatus in a microprocessor that has an instruction set architecture in which instructions may include a length-modifying prefix used to select an address/operand size other than a default address/operand size, wherein the apparatus marks the start byte and the end byte of each instruction in a stream of instruction bytes. Decode logic decodes each instruction byte of a predetermined number of instruction bytes to determine whether the instruction byte specifies a length-modifying prefix and generates a start mark and an end mark for each of the instruction bytes based on an address/operand size. Operand/address size logic provides the default operand/address size to the decode logic to use to generate the start and end marks during a first clock cycle during which the decode logic decodes the predetermined number of instruction bytes.
    Type: Grant
    Filed: October 1, 2009
    Date of Patent: May 14, 2013
    Assignee: VIA Technologies, Inc.
    Inventors: Thomas C. McDonald, John L. Duncan
  • Patent number: 8438367
    Abstract: An apparatus has a queue, each entry stores a different line of a stream of instruction bytes and accumulated prefix information associated with each instruction byte.
    Type: Grant
    Filed: October 1, 2009
    Date of Patent: May 7, 2013
    Assignee: VIA Technologies, Inc.
    Inventors: Thomas C. McDonald, John L. Duncan
  • Patent number: 8013649
    Abstract: A dynamic clock feedback latch includes a feedback path that generates a data value on an output as a function of data inputs in response to a clock input going low and generates a latching value on the output after a delay from the clock input going high. A first transistor pre-charges a node high while the clock input is low. A second transistor provides a drain path for draining the node low from the pre-charged value while the clock input is high. The output controls a third transistor during the delay to drain the node to a low value if the data value is high and to retain the high value if the data value is low. The feedback path generates the predetermined latching value on the output after the delay to cause an inverted value of the data value to be latched onto the node.
    Type: Grant
    Filed: October 7, 2009
    Date of Patent: September 6, 2011
    Assignee: VIA Technologies, Inc.
    Inventor: John L. Duncan
  • Publication number: 20110050309
    Abstract: A dynamic clock feedback latch includes a feedback path that generates a data value on an output as a function of data inputs in response to a clock input going low and generates a latching value on the output after a delay from the clock input going high. A first transistor pre-charges a node high while the clock input is low. A second transistor provides a drain path for draining the node low from the pre-charged value while the clock input is high. The output controls a third transistor during the delay to drain the node to a low value if the data value is high and to retain the high value if the data value is low. The feedback path generates the predetermined latching value on the output after the delay to cause an inverted value of the data value to be latched onto the node.
    Type: Application
    Filed: October 7, 2009
    Publication date: March 3, 2011
    Applicant: VIA Technologies, Inc.
    Inventor: John L. Duncan
  • Publication number: 20100299501
    Abstract: An apparatus has a queue, each entry stores a different line of a stream of instruction bytes and accumulated prefix information associated with each instruction byte.
    Type: Application
    Filed: October 1, 2009
    Publication date: November 25, 2010
    Applicant: VIA Technologies, Inc.
    Inventors: Thomas C. McDonald, John L. Duncan
  • Publication number: 20100299500
    Abstract: In a microprocessor that has an instruction set architecture in which the instructions may include a variable number of prefix bytes, an apparatus for efficiently extracting instructions from a stream of undifferentiated instruction bytes. Decode logic determines which byte is an opcode byte for each instruction of a plurality of instructions within the stream of undifferentiated instruction bytes. The opcode byte is the first non-prefix byte of the instruction. The decode logic accumulates prefix information onto the opcode byte of the instruction for each instruction of the plurality of instructions. A queue holds the stream of undifferentiated instruction bytes and the accumulated prefix information. Extraction logic extracts the plurality of instructions from the queue in one clock cycle independent of the number of prefix bytes included in each of the plurality of instructions.
    Type: Application
    Filed: October 1, 2009
    Publication date: November 25, 2010
    Applicant: VIA Technologies, Inc.
    Inventors: Thomas C. McDonald, John L. Duncan
  • Publication number: 20100299497
    Abstract: An apparatus efficiently determines the length of an instruction within a stream of instruction bytes processed by a microprocessor having a variable instruction length instruction set architecture. The apparatus includes combinatorial logic associated with each instruction byte of the stream, each configured to receive the associated instruction byte and the next instruction byte of the stream and to generate in response thereto a first length, a second length, and a select control. A multiplexor associated with each of the combinatorial logic selects and outputs one of the following inputs based on the select control received from the combinatorial logic: a zero input and the second length received from the combinatorial logic associated with each of the next three instruction bytes of the stream. An adder associated with each of the combinatorial logic and multiplexor adds the first length and the output of the multiplexor to generate the length of the instruction.
    Type: Application
    Filed: October 1, 2009
    Publication date: November 25, 2010
    Applicant: VIA Technologies, Inc.
    Inventors: John L. Duncan, Thomas C. McDonald
  • Publication number: 20100299503
    Abstract: An apparatus in a microprocessor that has an instruction set architecture in which instructions may include a length-modifying prefix used to select an address/operand size other than a default address/operand size, wherein the apparatus marks the start byte and the end byte of each instruction in a stream of instruction bytes. Decode logic decodes each instruction byte of a predetermined number of instruction bytes to determine whether the instruction byte specifies a length-modifying prefix and generates a start mark and an end mark for each of the instruction bytes based on an address/operand size. Operand/address size logic provides the default operand/address size to the decode logic to use to generate the start and end marks during a first clock cycle during which the decode logic decodes the predetermined number of instruction bytes.
    Type: Application
    Filed: October 1, 2009
    Publication date: November 25, 2010
    Applicant: VIA Technologies, Inc.
    Inventors: Thomas C. McDonald, John L. Duncan
  • Patent number: 5892699
    Abstract: A method and apparatus for eliminating the setup time typically required for Booth recoding logic is provided. Interlock circuitry detects when a second multiply instruction specifies that the product of a previous multiply instruction is to be used as the multiplier input to the Booth recoding logic. The interlock logic controls mux inputs to both the multiplier path, and the multiplicand path. When the interlock logic detects such a multiplier dependency, the product of the previous multiply instruction is provided to the multiplicand path, and the multiplicand is provided to the multiplier path. The multiplier for the second multiply instruction can therefore be provided to the Booth recoding logic, before the product of the previous multiply instruction is available. The Booth recoding logic is therefore setup, prior to execution of the second multiply instruction.
    Type: Grant
    Filed: September 16, 1997
    Date of Patent: April 6, 1999
    Assignee: Integrated Device Technology, Inc.
    Inventors: John L. Duncan, Albert J. Loper, Jr.
  • Patent number: 5550774
    Abstract: A memory cache (46) has a plurality of tag arrays (20, 22, 24, 26), a plurality of comparators (38, 40, 42, 44), a plurality a data arrays (12, 14, 16, 18), and a plurality of sense amplifiers (48, 50, 52, 54). The memory cache executes a parallel tag and data array access but does not enable any sense amplifier until a comparator indicates a cache hit. Consequently, the memory cache is suitable for use where power consumption and speed are equally important design constraints.
    Type: Grant
    Filed: September 5, 1995
    Date of Patent: August 27, 1996
    Assignee: Motorola, Inc.
    Inventors: Michael L. Brauer, Paul A. Reed, John L. Duncan
  • Patent number: 5291334
    Abstract: A panoramic imaging system is formed from select configurations of micro-optic multiplets (MOM) comprised of two microlens modules (MLM). The MLMs themselves are formed from arrays of microlenses. The present panoramic imaging system is characterized by the two MLMs configured on concentric approximately spherical surfaces. The optic axis of each of the microlenses is tilted slightly with respect to its neighbor to allow for proper alignment of images to form a single primary image on a substantially spherical global image surface.
    Type: Grant
    Filed: January 30, 1992
    Date of Patent: March 1, 1994
    Assignee: United Technologies Corporation
    Inventors: Allan Wirth, Andrew J. Jankevics, Franklin M. Landers, Theresa L. Bruno, Dante P. D'Amato, Lawrence E. Schmutz, Lawrence H. Gilligan, John L. Duncan
  • Patent number: 4660246
    Abstract: A vacuum cleaner having pivotally interconnected body and nozzle head portions and a handle which is extendable for upright floor cleaning operation or retractable for hand carried or cannister type vacuuming operation, in which the handle in retracted position fixes the cleaner body and nozzle head portions against pivotal movement.
    Type: Grant
    Filed: April 14, 1986
    Date of Patent: April 28, 1987
    Assignee: The Singer Company
    Inventors: John L. Duncan, John E. Jones, Martin E. Harbeck, Stephen R. Burns
  • Patent number: 3968712
    Abstract: A method and article of fabricating a table comprising the steps of making a lightweight metal frame having a plurality of channels, the edges of which are slightly overlapped by steel plates placed on and connected to the frame. The top surface of the steel plates is machined to render the same coplanar.The frame has orthogonal ribs, and a plurality of bosses formed with apertures therethrough for passage of connecting screws which thread into tapped holes formed in the steel plates. Any excessive length of the screws will be cut off during the machining operation.
    Type: Grant
    Filed: May 1, 1975
    Date of Patent: July 13, 1976
    Assignee: The Singer Company
    Inventor: John L. Duncan