Patents by Inventor Alex Klaiber

Alex Klaiber 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: 10146545
    Abstract: Embodiments related to fetching instructions and alternate versions achieving the same functionality as the instructions from an instruction cache included in a microprocessor are provided. In one example, a method is provided, comprising, at an example microprocessor, fetching an instruction from an instruction cache. The example method also includes hashing an address for the instruction to determine whether an alternate version of the instruction which achieves the same functionality as the instruction exists. The example method further includes, if hashing results in a determination that such an alternate version exists, aborting fetching of the instruction and retrieving and executing the alternate version.
    Type: Grant
    Filed: March 13, 2012
    Date of Patent: December 4, 2018
    Assignee: Nvidia Corporation
    Inventors: Ross Segelken, Alex Klaiber, Nathan Tuck, David Dunn
  • Patent number: 9875214
    Abstract: An apparatus and method are provided for transferring a plurality of data structures between memory and a plurality of vector registers, each vector register being arranged to store a vector operand comprising a plurality of data elements. Access circuitry is used to perform access operations to move data elements of vector operands between the data structures in memory and specified vector registers, each data structure comprising multiple data elements stored at contiguous addresses in the memory.
    Type: Grant
    Filed: July 31, 2015
    Date of Patent: January 23, 2018
    Assignees: ARM Limited, Apple, Inc.
    Inventors: Mbou Eyole, Nigel John Stephens, Jeffry Gonion, Alex Klaiber, Charles Tucker
  • Publication number: 20170031865
    Abstract: An apparatus and method are provided for transferring a plurality of data structures between memory and a plurality of vector registers, each vector register being arranged to store a vector operand comprising a plurality of data elements. Access circuitry is used to perform access operations to move data elements of vector operands between the data structures in memory and specified vector registers, each data structure comprising multiple data elements stored at contiguous addresses in the memory.
    Type: Application
    Filed: July 31, 2015
    Publication date: February 2, 2017
    Inventors: Mbou EYOLE, Nigel John STEPHENS, Jeffry GONION, Alex KLAIBER, Charles TUCKER
  • Patent number: 8656214
    Abstract: A dual ported replicated data cache. The cache is configured for storing input data blocks. The cache includes an augmenter for producing an augmented data block with parity information from the input data block, a first memory array for storing the augmented data block, and a second memory array for storing the augmented data block.
    Type: Grant
    Filed: May 24, 2010
    Date of Patent: February 18, 2014
    Inventors: Guillermo Rozas, Alex Klaiber, Robert Masleid
  • Publication number: 20130246709
    Abstract: Embodiments related to fetching instructions and alternate versions achieving the same functionality as the instructions from an instruction cache included in a microprocessor are provided. In one example, a method is provided, comprising, at an example microprocessor, fetching an instruction from an instruction cache. The example method also includes hashing an address for the instruction to determine whether an alternate version of the instruction which achieves the same functionality as the instruction exists. The example method further includes, if hashing results in a determination that such an alternate version exists, aborting fetching of the instruction and retrieving and executing the alternate version.
    Type: Application
    Filed: March 13, 2012
    Publication date: September 19, 2013
    Applicant: NVIDIA CORPORATION
    Inventors: Ross Segelken, Alex Klaiber, Nathan Tuck, David Dunn
  • Patent number: 8522253
    Abstract: A method for tagging cache entries to support context switching for virtual machines and for operating systems. The method includes, storing a plurality of entries within a cache of a CPU of a computer system, wherein each of the entries includes a context ID, handling a first portion of the entries as local entries when the respective context IDs indicate a local status, and handling a second portion of the entries as global entries when the respective context IDs indicate a global status.
    Type: Grant
    Filed: March 31, 2006
    Date of Patent: August 27, 2013
    Inventors: Guillermo Rozas, Alex Klaiber
  • Publication number: 20100235716
    Abstract: A dual ported replicated data cache. The cache is configured for storing input data blocks. The cache includes an augmenter for producing an augmented data block with parity information from the input data block, a first memory array for storing the augmented data block, and a second memory array for storing the augmented data block.
    Type: Application
    Filed: May 24, 2010
    Publication date: September 16, 2010
    Inventors: Guillermo Rozas, Alex Klaiber, Robert P. Masleid
  • Patent number: 7747896
    Abstract: A dual ported replicated data cache. The cache is configured for storing input data blocks. The cache includes an augmenter for producing an augmented data block with parity information from the input data block, a first memory array for storing the augmented data block, and a second memory array for storing the augmented data block.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: June 29, 2010
    Inventors: Guillermo Rozas, Alex Klaiber, Robert P. Masleid
  • Patent number: 7725677
    Abstract: A method and apparatus for breaking complex X86 segment operations and segmented memory addressing into explicit sub-operations so that they may be exposed to compiler or translator-based optimizations.
    Type: Grant
    Filed: February 19, 2008
    Date of Patent: May 25, 2010
    Inventors: H. Peter Anvin, Alex Klaiber, Guillermo J. Rozas, Parag Gupta
  • Patent number: 7334109
    Abstract: A method and apparatus for breaking complex X86 segment operations and segmented addressing into explicit sub-operations so that they may be exposed to compiler or translator-based optimizations.
    Type: Grant
    Filed: December 30, 2004
    Date of Patent: February 19, 2008
    Inventors: H. Peter Anvin, Alex Klaiber, Guillermo J. Rozas, Parag Gupta
  • Patent number: 6851040
    Abstract: A method and apparatus for breaking complex X86 segment operations and segmented memory addressing into explicit sub-operations so that they may be exposed to compiler or translator-based optimizations. A method includes providing a first segment selector for deriving a linear address of a segment descriptor in a first descriptor table and providing a second segment selector for deriving a linear address of a segment descriptor in a second descriptor table. The method also includes attempting an access of the first descriptor table to derive a segment descriptor, and if the access of the first descriptor table fails, attempting an access of the second descriptor table to derive a segment descriptor. The method also includes storing a derived segment descriptor from a successful attempted access in a descriptor register.
    Type: Grant
    Filed: August 15, 2001
    Date of Patent: February 1, 2005
    Assignee: Transmeta Corporation
    Inventors: H. Peter Anvin, Alex Klaiber, Guillermo J. Rozas, Parag Gupta
  • Patent number: 6725361
    Abstract: A floating point processor including a plurality of explicitly-addressable processor registers, an emulation register capable of storing a value used to logically rename the explicitly-addressable registers to emulate registers of a floating point stack, a computer-executable software process for calculating and changing a value in the emulation register to a value indicating a change in addresses of registers of a floating point stack when executing a floating point stack operation, and adder circuitry combining a register address and the value in the emulation register in response to the computer-executable process to rename the plurality of explicitly-addressable processor registers.
    Type: Grant
    Filed: June 16, 2000
    Date of Patent: April 20, 2004
    Assignee: Transmeta Corporation
    Inventors: Guillermo Rozas, David Dunn, David Dobrikin, Alex Klaiber, Daniel H. Nelsen
  • Patent number: 6668287
    Abstract: Apparatus and a method for generating an interrupt when a direct memory access by an I/O device is desired, suspending the operation of the microprocessor in response to the interrupt, placing state of the morph host to a last known correct state in response to the interrupt, determining the memory operation commanded by the I/O device, and utilizing the microprocessor to execute the memory operation commanded by the I/O device.
    Type: Grant
    Filed: December 15, 1999
    Date of Patent: December 23, 2003
    Assignee: Transmeta Corporation
    Inventors: Patrick Boyle, David Keppel, Alex Klaiber, Edmund Kelly
  • Publication number: 20030037220
    Abstract: A method and apparatus for breaking complex X86 segment operations and segmented addressing into explicit sub-operations so that they may be exposed to compiler or translator-based optimizations.
    Type: Application
    Filed: August 15, 2001
    Publication date: February 20, 2003
    Applicant: Transmeta Corporation
    Inventors: H. Peter Anvin, Alex Klaiber, Guillermo J. Rozas, Parag Gupta
  • Patent number: 6363336
    Abstract: A method for determining if writes to a memory page are directed to target instructions which have been translated to host instructions in a computer which translates instructions from a target instruction set to a host instruction set, including the steps of detecting a write to a memory page storing target instructions which have been translated to host instructions, detecting whether a sub-area of the memory page to which the write is addressed stores target instructions which have been translated, and invalidating host instructions translated from addressed target instructions.
    Type: Grant
    Filed: October 13, 1999
    Date of Patent: March 26, 2002
    Assignee: Transmeta Corporation
    Inventors: John Banning, H. Peter Anvin, Benjamin Gribstad, David Keppel, Alex Klaiber, Paul Serris
  • Patent number: 5905855
    Abstract: A computer implemented process for detecting errors in computer systems including the steps of executing sequences of instructions of a software program on each of a reference system and a test system, detecting and recording state of the reference system and the test system at comparable points in the execution of the program, and comparing the detected state of the reference system and the test system at selectable comparable points in the sequence of instructions including the end of the sequence of instructions. In a particular embodiment, the execution of portions of the sequence of instructions between selectable comparable points on each of the reference system and the test system is automatically replayed if a difference in compared state of the systems is detected.
    Type: Grant
    Filed: February 28, 1997
    Date of Patent: May 18, 1999
    Assignee: Transmeta Corporation
    Inventors: Alex Klaiber, Robert Bedichek, David Keppel