Patents by Inventor H. Peter Anvin

H. Peter Anvin 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: 7596708
    Abstract: A method for controlling the power used by a computer including the steps of measuring the operating characteristics of a central processor of the computer, determining when the operating characteristics of the central processor are significantly different than required by the operations being conducted, and changing the operating characteristics of the central processor to a level commensurate with the operations being conducted.
    Type: Grant
    Filed: April 25, 2006
    Date of Patent: September 29, 2009
    Inventors: Sameer Halepete, H. Peter Anvin, Zongjian Chen, Godfrey P. D'Souza, Marc Fleischmann, Keith Klayman, Thomas Lawrence, Andrew Read
  • Publication number: 20080313440
    Abstract: A method of translating instructions from a target instruction set to a host instruction set. In one embodiment, a plurality of first target instructions is translated into a plurality of first host instructions. After the translation, it is determined whether the plurality of first target instructions has changed. A copy of a second plurality of target instructions is stored and compared with the plurality of first target instructions if the determining slows the operation of the computer system. After comparing, the plurality of first host instructions is invalidated if there is a mismatch. According to one embodiment, the storing, the comparing and the invaliding is initiated when the determining indicates that a page contains at least one change to the plurality of first target instructions. In one embodiment, the determining is by examining a bit indicator associated with a memory location of the plurality of first target instructions.
    Type: Application
    Filed: July 22, 2008
    Publication date: December 18, 2008
    Applicant: TRANSMETA CORPORATION
    Inventors: John Banning, H. Peter Anvin, Robert Bedicheck, Guillermo J. Rozas, Andrew Shaw, Linus Torvalds, Jason Wilson
  • Publication number: 20080294868
    Abstract: A system and method for identifying a TLB entry having a physical address that is within a specified range are disclosed. The method includes obtaining a tentative TLB entry from a page table entry and accessing a physical address associated with the tentative TLB entry. The method further includes comparing the physical address of the tentative TLB entry with a predetermined range of addresses. If the physical address is within the finite range of addresses, an exception is invoked. In response to the exception, the physical address and/or an attribute of the tentative TLB entry can be modified. The tentative TLB entry can then be stored in a TLB.
    Type: Application
    Filed: May 27, 2008
    Publication date: November 27, 2008
    Applicant: TRANSMETA CORPORATION
    Inventors: Guillermo Rozas, Alexander Klaiber, H. Peter Anvin, David Dunn
  • Patent number: 7451300
    Abstract: Described are methods and systems that allow partial speculation (e.g., speculation within constraints). With partial speculation, after a fault is detected for example, speculation remains enabled for processor registers and other memories private to a microprocessor, while speculation normally permitted for certain other operations is suspended. Accordingly, while the fault is dispatched, some speculation is permitted as opposed to suspending all speculation. As such, microcode that makes use of speculation can be written.
    Type: Grant
    Filed: July 15, 2003
    Date of Patent: November 11, 2008
    Assignee: Transmeta Corporation
    Inventors: H. Peter Anvin, David Dunn
  • Patent number: 7404181
    Abstract: A method of translating instructions from a target instruction set to a host instruction set. In one embodiment, a plurality of first target instructions is translated into a plurality of first host instructions. After the translation, it is determined whether the plurality of first target instructions has changed. A copy of a second plurality of target instructions is stored and compared with the plurality of first target instructions if the determining slows the operation of the computer system. After comparing, the plurality of first host instructions is invalidated if there is a mismatch. According to one embodiment, the storing, the comparing and the invaliding is initiated when the determining indicates that a page contains at least one change to the plurality of first target instructions. In one embodiment, the determining is by examining a bit indicator associated with a memory location of the plurality of first target instructions.
    Type: Grant
    Filed: August 21, 2006
    Date of Patent: July 22, 2008
    Assignee: Transmeta Corporation
    Inventors: John Banning, H. Peter Anvin, Robert Bedichek, Guillermo J. Rozas, Andrew Shaw, Linus Torvalds, Jason Wilson
  • Patent number: 7380098
    Abstract: A method for caching attribute data for matching attributes with physical addresses. The method includes storing a plurality of attribute entries in a memory, wherein the memory is configured to provide at least one attribute entry when accessed with a physical address, and wherein the attribute entry provided describes characteristics of the physical address.
    Type: Grant
    Filed: June 16, 2006
    Date of Patent: May 27, 2008
    Assignee: TRANSMETA Corporation
    Inventors: H. Peter Anvin, Guillermo J. Rozas, Alexander Klaiber, John P. Banning
  • Patent number: 7380096
    Abstract: A system and method for identifying a TLB entry having a physical address that is within a specified range are disclosed. The method includes obtaining a tentative TLB entry from a page table entry and accessing a physical address associated with the tentative TLB entry. The method further includes comparing the physical address of the tentative TLB entry with a predetermined range of addresses. If the physical address is within the finite range of addresses, an exception is invoked. In response to the exception, the physical address and/or an attribute of the tentative TLB entry can be modified. The tentative TLB entry can then be stored in a TLB.
    Type: Grant
    Filed: June 8, 2006
    Date of Patent: May 27, 2008
    Assignee: TRANSMETA Corporation
    Inventors: Guillermo Rozas, Alexander Klaiber, H. Peter Anvin, David Dunn
  • 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: 7331041
    Abstract: A method for determining a process to use for converting instructions in a target instruction set to instructions in a host instructions set including the steps of executing code morphing software including an interpreter and a translator to generate host instructions from target instructions, detecting at intervals whether the interpreter or the translator is executing, increasing a count if the interpreter is executing and decreasing the count if the translator is executing, and changing from interpreting to translating a sequence of target instructions when the count reaches a selected maximum.
    Type: Grant
    Filed: March 10, 2005
    Date of Patent: February 12, 2008
    Assignee: Transmeta Corporation
    Inventors: Linus Torvalds, H. Peter Anvin
  • Patent number: 7330959
    Abstract: Computer technology supports multiple byte order formats, separately or simultaneously. In one embodiment, a page attribute table (PAT), which is programmable, is utilized to indicate byte order format. The PAT has a plurality of entries. Each entry indicates a memory type and a byte order format for a physical address, wherein a plurality of attribute bits and a virtual address are associated with the physical address. A portion of the attribute bits are utilized to select one of the entries. In another embodiment, a memory type range register (MTRR), which is programmable, is utilized to indicate byte order format. The MTRR is configured to indicate a memory type and a byte order format for a range of physical addresses, wherein the memory type and range register (MTRR) receives a physical address and provides a corresponding memory type and a corresponding byte order format.
    Type: Grant
    Filed: April 23, 2004
    Date of Patent: February 12, 2008
    Assignee: Transmeta Corporation
    Inventor: H. Peter Anvin
  • Patent number: 7249246
    Abstract: Methods and systems that allow recovery of the program counter or instruction pointer for a target (non-native) instruction that is translated into a host (native) instruction, and that allow recovery of other information about the translator or the target system state, are described. The program counter or instruction pointer can be recovered, for example, after an exception has been processed or incident to a rollback operation.
    Type: Grant
    Filed: June 20, 2003
    Date of Patent: July 24, 2007
    Assignee: Transmeta Corporation
    Inventors: John P. Banning, H. Peter Anvin, Guillermo J. Rozas
  • Patent number: 7149872
    Abstract: A system and method for identifying a TLB entry having a physical address that is within a specified range are disclosed. The method includes obtaining a tentative TLB entry from a page table entry and accessing a physical address associated with the tentative TLB entry. The method further includes comparing the physical address of the tentative TLB entry with a predetermined range of addresses. If the physical address is within the finite range of addresses, an exception is invoked. In response to the exception, the physical address and/or an attribute of the tentative TLB entry can be modified. The tentative TLB entry can then be stored in a TLB.
    Type: Grant
    Filed: July 28, 2003
    Date of Patent: December 12, 2006
    Assignee: Transmeta Corporation
    Inventors: Guillermo Rozas, Alexander Klaiber, H. Peter Anvin, David Dunn
  • Patent number: 7111146
    Abstract: A method for providing hardware support for memory protection and virtual memory address translation for a virtual machine. The method includes executing a host machine application within a host machine context and executing a virtual machine application within a virtual machine context. A plurality of TLB (translation look aside buffer) entries for the virtual machine context and the host machine context are stored within a TLB. Memory protection bits for the plurality of TLB entries are logically combined to enforce memory protection on the virtual machine application.
    Type: Grant
    Filed: June 27, 2003
    Date of Patent: September 19, 2006
    Assignee: Transmeta Corporation
    Inventor: H. Peter Anvin
  • Patent number: 7100061
    Abstract: A method for controlling the power used by a computer including the steps of measuring the operating characteristics of a central processor of the computer, determining when the operating characteristics of the central processor are significantly different than required by the operations being conducted, and changing the operating characteristics of the central processor to a level commensurate with the operations being conducted.
    Type: Grant
    Filed: January 18, 2000
    Date of Patent: August 29, 2006
    Assignee: Transmeta Corporation
    Inventors: Sameer Halepete, H. Peter Anvin, Zongjian Chen, Godfrey P. D'Souza, Marc Fleischmann, Keith Klayman, Thomas Lawrence, Andrew Read
  • Patent number: 7096460
    Abstract: In a computer system that translates target instructions from a target instruction set into host instructions from a host instruction set, a method for checking a sequence of target instructions for changes. The method includes testing whether the target instructions at a memory location have changed subsequent to the translating by examining a bit indicator associated with the memory location and determining whether the testing is slowing the operation of the computer system. If the testing is slowing the operation of the computer system, a checking process initiated, which includes storing a copy of the sequence of target instructions and comparing the copy with the sequence of target instructions.
    Type: Grant
    Filed: June 16, 2003
    Date of Patent: August 22, 2006
    Assignee: Transmeta Corporation
    Inventors: John Banning, H. Peter Anvin, Robert Bedichek, Guillermo J. Rozas, Andrew Shaw, Linus Torvalds, Jason Wilson
  • Patent number: 7089397
    Abstract: A method for caching attribute data for matching attributes with physical addresses. The method includes storing a plurality of attribute entries in a memory, wherein the memory is configured to provide at least one attribute entry when accessed with a physical address, and wherein the attribute entry provided describes characteristics of the physical address.
    Type: Grant
    Filed: July 3, 2003
    Date of Patent: August 8, 2006
    Assignee: Transmeta Corporation
    Inventors: H. Peter Anvin, Guillermo J. Rozas, Alexander Klaiber, John P. Banning
  • Patent number: 7039792
    Abstract: A method and system for implementing a floating point compare operation in an x86 compatible processor. The method includes the step of comparing a first bit pattern and a second bit pattern using a floating point unit of an x86 compatible processor. The EFLAGS register is set in accordance with a result of the comparison. A sign flag and an overflow flag of the EFLAGS register are encoded with information derived from the result of the comparison.
    Type: Grant
    Filed: June 25, 2003
    Date of Patent: May 2, 2006
    Assignee: Transmeta Corporation
    Inventor: H. Peter Anvin
  • Patent number: 6968469
    Abstract: A CPU (1) automatically preserves the CPU context in a computer memory (5) that remains powered-up when the CPU is powered down in sleep mode. By means of the preserved CPU context, the CPU is able to instantly and transparently resume program execution at the instruction of the program that was asserted for execution when the CPU was powered down. The CPU is permitted to power down frequently, even during execution of a program, and results in reduced average overall power consumption.
    Type: Grant
    Filed: June 16, 2000
    Date of Patent: November 22, 2005
    Assignee: Transmeta Corporation
    Inventors: Marc Fleischmann, H. Peter Anvin
  • Patent number: 6880152
    Abstract: A method for determining a process to use for converting instructions in a target instruction set to instructions in a host instructions set including the steps of executing code morphing software including an interpreter and a translator to generate host instructions from target instructions, detecting at intervals whether the interpreter or the translator is executing, increasing a count if the interpreter is executing and decreasing the count if the translator is executing, and changing from interpreting to translating a sequence of target instructions when the count reaches a selected maximum.
    Type: Grant
    Filed: October 13, 1999
    Date of Patent: April 12, 2005
    Assignee: Transmeta Corporation
    Inventors: Linus Torvalds, H. Peter Anvin
  • 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