Patents by Inventor Geoffrey Strongin

Geoffrey Strongin 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).

  • Publication number: 20100174890
    Abstract: In one embodiment, a processor comprises a programmable map and a circuit. The programmable map is configured to store data that identifies at least one instruction for which an architectural modification of an instruction set architecture implemented by the processor has been defined, wherein the processor does not implement the modification. The circuitry is configured to detect the instruction or its memory operands and cause a transition to Known Good Code (KGC), wherein the KGC is protected from unauthorized modification and is provided from an authenticated entity. The KGC comprises code that, when executed, emulates the modification. In another embodiment, an integrated circuit comprises at least one processor core; at least one other circuit; and a KGC source configured to supply KGC to the processor core for execution. The KGC comprises interface code for the other circuit whereby an application executing on the processor core interfaces to the other circuit through the KGC.
    Type: Application
    Filed: December 17, 2007
    Publication date: July 8, 2010
    Inventors: Garth D. Hillman, Geoffrey Strongin, Andrew R. Rawson, Gary H. Simpson, Ralf Findeisen
  • Publication number: 20090183245
    Abstract: In one embodiment, a computer system comprises one or more components and a secure computing environment coupled to the components. The secure computing environment is configured to program at least one of the components to enter a limited functionality mode responsive to expiration of a use right to the computer system, wherein operation of the computer system in the limited functionality mode is reduced compared to operation when the use right has not expired. The secure computing environment is configured to monitor the components in the limited functionality mode to detect that a limited functionality mode configuration has been modified by an unauthorized entity and to cause the computer system to enter a second mode in which operation of the computer system is reduced compared to operation in the limited functionality mode in response.
    Type: Application
    Filed: January 10, 2008
    Publication date: July 16, 2009
    Inventors: Gary H. Simpson, Geoffrey Strongin, Andrew R. Rawson, Garth D. Hillman, Ralf Findeisen
  • Publication number: 20090158015
    Abstract: In one embodiment, a processor comprises a programmable map and a circuit. The programmable map is configured to store data that identifies at least one instruction for which an architectural modification of an instruction set architecture implemented by the processor has been defined, wherein the processor does not implement the modification. The circuitry is configured to detect the instruction or its memory operands and cause a transition to Known Good Code (KGC), wherein the KGC is protected from unauthorized modification and is provided from an authenticated entity. The KGC comprises code that, when executed, emulates the modification. In another embodiment, an integrated circuit comprises at least one processor core; at least one other circuit; and a KGC source configured to supply KGC to the processor core for execution. The KGC comprises interface code for the other circuit whereby an application executing on the processor core interfaces to the other circuit through the KGC.
    Type: Application
    Filed: December 17, 2007
    Publication date: June 18, 2009
    Inventors: Garth D. Hillman, Geoffrey Strongin, Andrew R. Rawson, Gary H. Simpson, Ralf Findeisen
  • Publication number: 20070038799
    Abstract: In one embodiment, an input/output memory management unit (IOMMU) comprises a cache to cache translation data from memory; and a control unit coupled to the cache. The control unit is configured to implement address translation and memory protection for memory requests sourced by one or more input/output (I/O) devices. The memory requests sourced by the I/O devices travel in one or more first virtual channels, and the control unit is configured to transmit memory requests sourced by the control unit in at least a second virtual channel separate from the first virtual channels.
    Type: Application
    Filed: August 11, 2006
    Publication date: February 15, 2007
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Mark Hummel, Michael Haertel, Andrew Lueck, Mitchell Alsup, William Hughes, Geoffrey Strongin
  • Publication number: 20070038839
    Abstract: In an embodiment, a computer system comprises a processor; a memory management module comprising a plurality of instructions executable on the processor; a memory coupled to the processor; and an input/output memory management unit (IOMMU) coupled to the memory. The IOMMU is configured to implement address translation and memory protection for memory operations sourced by one or more input/output (I/O) devices. The memory stores a command queue during use. The memory management module is configured to write one or more control commands to the command queue, and the IOMMU is configured to read the control commands from the command queue and execute the control commands.
    Type: Application
    Filed: August 11, 2006
    Publication date: February 15, 2007
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Mark Hummel, Andrew Lueck, Geoffrey Strongin, Mitchell Alsup, Michael Haertel
  • Publication number: 20070038840
    Abstract: In an embodiment, an input/output memory management unit (IOMMU) is configured to receive a completion wait command defined to ensure that one or more preceding invalidation commands are completed by the IOMMU prior to a completion of the completion wait command. The IOMMU is configured to respond to the completion wait command by delaying completion of the completion wait command until: (1) a read response corresponding to each outstanding memory read operation that depends on a translation entry that is invalidated by the preceding invalidation commands is received; and (2) the control unit transmits one or more operations upstream to ensure that each memory write operation that depends on the translation table entry that is invalidated by the preceding invalidation commands has at least reached a bridge to a coherent fabric in the computer system and has become visible to the system.
    Type: Application
    Filed: August 11, 2006
    Publication date: February 15, 2007
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Mark Hummel, Andrew Lueck, Geoffrey Strongin, Mitchell Alsup, Michael Haertel
  • Publication number: 20050055524
    Abstract: A computer system includes a processor which may initialize a secure execution mode by executing a security initialization instruction. Further, the processor may operate in the secure execution mode by executing a secure operating system code segment. The computer system also includes a system memory configured to store data in a plurality of locations. The computer system also includes a memory controller which may selectively clear the data from a programmed range of the memory locations of the system memory when enabled in response to a reset of the processor.
    Type: Application
    Filed: September 4, 2003
    Publication date: March 10, 2005
    Inventors: Dale Gulick, Geoffrey Strongin, William Hughes
  • Patent number: 6389526
    Abstract: A circuit and method is provided for selectively stalling interrupt requests originating devices coupled to a multiprocessor system. The multiprocessor system includes a plurality of circuit nodes each one of which is coupled to an individual memory. An I/O bridge coupled to a first circuit node is configured to generate non-coherent memory access command packets and non-coherent interrupt command packets. The first circuit node also generates a coherent interrupt command packet in response to receiving the non-coherent interrupt command packet. The first circuit node transmits the coherent interrupt command packet to another circuit node, possibly the second circuit node. However, the transmission of the coherent interrupt command packet may be delayed. Any delay in transmission is based on a comparison of the pipe identifications of the non-coherent command packets.
    Type: Grant
    Filed: August 24, 1999
    Date of Patent: May 14, 2002
    Assignee: Advanced Micro Devices, Inc.
    Inventors: James B. Keller, Dale Gulick, Larry Hewitt, Geoffrey Strongin
  • Patent number: 6385705
    Abstract: A circuit and method is disclosed for preserving the order for memory requests originating from I/O devices coupled to a multiprocessor computer system. The multiprocessor computer system includes a plurality of circuit nodes and a plurality of memories. Each circuit node includes at least one microprocessor coupled to a memory controller which in turn is coupled to one of the plurality of memories. The circuit nodes are in data communication with each other, each circuit node being uniquely identified by a node number. At least one of the circuit nodes is coupled to an I/O bridge which in turn is coupled directly or indirectly to one or more I/O devices. The I/O bridge generates non-coherent memory access transactions in response to memory access requests originating with one of the I/O devices. The circuit node coupled to the I/O bridge, receives the non-coherent memory access transactions.
    Type: Grant
    Filed: October 30, 2000
    Date of Patent: May 7, 2002
    Assignee: Advanced Micro Devices, Inc.
    Inventors: James B. Keller, Dale E. Gulick, Larry D. Hewitt, Geoffrey Strongin
  • Patent number: 6321302
    Abstract: A system is disclosed for improving the efficiency of data transactions to a non-cacheable address, or to a block-accessed device. A stream read buffer and associated logic is used to temporarily store the non-cacheable data, or to store large blocks of data from a block-accessed device. The stream read buffer loads the data upon the occurrence of certain predefined events, as determined by the associated state logic. Similarly, the stream read buffer flushes its contents when the stored data is not being accessed, or after the expiration of a particular time frame.
    Type: Grant
    Filed: April 15, 1998
    Date of Patent: November 20, 2001
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Geoffrey Strongin, Norm Hack
  • Patent number: 6167492
    Abstract: A circuit and method is disclosed for preserving the order for memory requests originating from I/O devices coupled to a multiprocessor computer system. The multiprocessor computer system includes a plurality of circuit nodes and a plurality of memories. Each circuit node includes at least one microprocessor coupled to a memory controller which in turn is coupled to one of the plurality of memories. The circuit nodes are in data communication with each other, each circuit node being uniquely identified by a node number. At least one of the circuit nodes is coupled to an I/O bridge which in turn is coupled directly or indirectly to one or more I/O devices. The I/O bridge generates non-coherent memory access transactions in response to memory access requests originating with one of the I/O devices. The circuit node coupled to the I/O bridge, receives the non-coherent memory access transactions.
    Type: Grant
    Filed: December 23, 1998
    Date of Patent: December 26, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: James B. Keller, Dale E. Gulick, Larry D. Hewitt, Geoffrey Strongin
  • Patent number: 6141743
    Abstract: The present invention discloses a system and method for compressing data transmitted over a bus between a bus device, such as a CPU or an I/O device, and a memory subsystem. The data is compressed into data tokens and the tokens are stored in and retrieved from the memory subsystem. The CPU may also contain a token-generating circuit. Content addressable memory is employed to compare the data against expected bit patterns for generating the data tokens. Upon encountering a match, the content addressable memory returns the data token associated with the matching bit pattern. Both the bus device and memory subsystem may have the capability to compress data into tokens and re-expand data when necessary. A method is also employed for indicating to a device receiving data whether the data is a token or not.
    Type: Grant
    Filed: September 17, 1998
    Date of Patent: October 31, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Geoffrey Strongin
  • Patent number: 6009203
    Abstract: A method and apparatus for decoding variable length code (VLC) data employ a hybrid technique of parsing short-length VLC codes using a binary tree or binary search procedure and parsing longer VLC codes using a table lookup procedure. This technique includes the steps of accessing a plurality of bits of coded bitstream data, bit testing a preselected number N first bits of the plurality of bitstream bits and determining whether the N first bits include a complete VLC code. If the N first bits include a complete VLC code, a VLC code is decoded in accordance with a result of the bit testing step. If the N first bits do not include a complete VLC code, a VLC code is decoded from a lookup table to a table element addressed by the bits of coded bitstream data.
    Type: Grant
    Filed: August 14, 1997
    Date of Patent: December 28, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Yi Liu, Michael Tucker, Geoffrey Strongin
  • Patent number: 5784494
    Abstract: A DCT VLC decoding method substantially lessens the computational burden of picture dequantization. The method of decoding variable length code (VLC) data includes the step of receiving a bitstream sequence organized into a hierarchy of levels including, in order, a sequence layer, a group of pictures layer, a picture layer, a slice layer, a macroblock layer, and a block layer. In the sequence layer, the method defines a quantization matrix. In a macroblock layer, the method defines a quantizer scale parameter in the macroblock layer, multiplies the quantization matrix times the quantizer scale parameter and stores the product in a quantization multiplication factor. In the block layer, the method parses an encoded data bitstream to detect a VLC code in the block layer and dequantizes the VLC code by multiplying the VLC code times the quantization multiplication factor.
    Type: Grant
    Filed: April 18, 1995
    Date of Patent: July 21, 1998
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Geoffrey Strongin, Yi Liu, Michael Tucker