Patents by Inventor Gary N. Hammond

Gary N. Hammond 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: 20120240116
    Abstract: Embodiments of apparatuses and methods for improving performance in a virtualization architecture are disclosed. In one embodiment, an apparatus includes a processor and a processor abstraction layer. The processor abstraction layer includes instructions that, when executed by the processor, support techniques to improve the performance of the apparatus in a virtualization architecture.
    Type: Application
    Filed: May 30, 2012
    Publication date: September 20, 2012
    Inventors: Hin L. Leung, Amy L. Santoni, Gary N. Hammond, William R. Greene, Kushagra V. Vaid, Dale Morris, Jonathan Ross
  • Patent number: 8214830
    Abstract: Embodiments of apparatuses and methods for improving performance in a virtualization architecture are disclosed. In one embodiment, an apparatus includes a processor and a processor abstraction layer. The processor abstraction layer includes instructions that, when executed by the processor, support techniques to improve the performance of the apparatus in a virtualization architecture.
    Type: Grant
    Filed: January 19, 2005
    Date of Patent: July 3, 2012
    Assignee: Intel Corporation
    Inventors: Hin L. Leung, Amy L. Santoni, Gary N. Hammond, William R. Greene, Kushagra V. Vaid, Dale Morris, Jonathan Ross
  • Patent number: 7441107
    Abstract: Embodiments include a system for minimizing storage space required for tracking load instructions through a pipeline in a processor. Store instructions are tracked in a separate queue and only load instructions that require speculation on data or addresses are tracked in a load table and flagged in the reorder buffer. This system improves system performance by reducing energy and space requirements.
    Type: Grant
    Filed: December 31, 2003
    Date of Patent: October 21, 2008
    Assignee: Intel Corporation
    Inventors: Gary N. Hammond, Carl C. Scafidi
  • Patent number: 7392369
    Abstract: Embodiments include various methods, apparatuses, and systems in which a processor includes an out of order issue engine and an in-order execution pipeline. For some embodiments, the issue engine may be remote from the execution pipeline and execution resources may be many clock cycles away from the issue engine. The issue engine categorizes operations as at least one of either a speculative operations which perform computations, or an architectural operations which has potential to fault or cause an exception. Potentially excepting operations may be decomposed into two separate micro-operations: a speculative micro-operation, which is used to generate data results speculatively so that operations dependent on the results may be speculatively issued, and an architectural micro-operation, which signals the faulting condition for the excepting operation. A STORE operation becomes an architectural operation and all previous faulting conditions may be guaranteed to have evaluated before a STORE is issued.
    Type: Grant
    Filed: April 18, 2006
    Date of Patent: June 24, 2008
    Assignee: Intel Corporation
    Inventors: Jeffery J. Baxter, Gary N. Hammond, Nazar A. Zaidi
  • Patent number: 7330963
    Abstract: Embodiments include various methods, apparatuses, and systems in which a processor includes an out of order issue engine and an in-order execution pipeline. For some embodiments, the issue engine may be remote from the execution pipeline and execution resources may be many clock cycles away from the issue engine. The issue engine categorizes operations as at least one of either a speculative operations, which perform computations, or an architectural operation, which has potential to fault or cause an exception. Potentially excepting operations may be decomposed into two separate micro-operations: a speculative micro-operation, which is used to generate data results speculatively so that operations dependent on the results may be speculatively issued, and an architectural micro-operation, which signals the faulting condition for the excepting operation. A STORE operation becomes an architectural operation and all previous faulting conditions may be guaranteed to have evaluated before a STORE is issued.
    Type: Grant
    Filed: April 18, 2006
    Date of Patent: February 12, 2008
    Assignee: Intel Corporation
    Inventors: Jeffery J. Baxter, Gary N. Hammond, Nazar A. Zaidi
  • Patent number: 7062636
    Abstract: Embodiments include various methods, apparatuses, and systems in which a processor includes an out of order issue engine and an in-order execution pipeline. For some embodiments, the issue engine may be remote from the execution pipeline and execution resources may be many clock cycles away from the issue engine The issue engine categorizes operations as at least one of either a speculative operation, which perform computations, or an architectural operation, which has potential to fault or cause an exception. Potentially excepting operations may be decomposed into two separate micro-operations: a speculative micro-operation, which is used to generate data results speculatively so that operations dependent on the results may be speculatively issued, and an architectural micro-operation, which signals the faulting condition for the excepting operation. A STORE operation becomes an architectural operation and all previous faulting conditions may be guaranteed to have evaluated before a STORE is issued.
    Type: Grant
    Filed: September 19, 2002
    Date of Patent: June 13, 2006
    Assignee: Intel Corporation
    Inventors: Jeffery J. Baxter, Gary N. Hammond, Nazar A. Zaidi
  • Publication number: 20040059898
    Abstract: Various methods, apparatuses, and systems in which a processor includes an issue engine and an in-order execution pipeline. The issue engine categorizes operations as at least one of either a speculative operation which perform computations or an architectural operation which has potential to fault or cause an exception. Each architectural operation issues with an associated architectural micro-operation. A first micro-operation checks whether a first speculative operation is dependent upon an intervening first architectural operation. The in-order execution pipeline executes the speculative operation, the architectural operation, and the associated architectural micro-operations.
    Type: Application
    Filed: September 19, 2002
    Publication date: March 25, 2004
    Inventors: Jeffery J. Baxter, Gary N. Hammond, Nazar A. Zaidi
  • Patent number: 6711653
    Abstract: The present invention provides a computer system that is capable of operating in a first or second cache coherency mode according to the operating environment in which the computer system is booted to run. If the operating environment supports memory attribute aliasing (MAA), the computer system implements a cache coherency mechanism that supports MAA. If the operating environment does not support MAA, the computer system implements a cache coherency mechanism that does not support MAA.
    Type: Grant
    Filed: March 30, 2000
    Date of Patent: March 23, 2004
    Assignee: Intel Corporation
    Inventors: Nhon Quach, Gary N. Hammond
  • Patent number: 6604184
    Abstract: The present invention is a method and apparatus to map virtual memory space. A region register file provides a region identifier for a virtual address in the virtual memory space. The virtual address includes a virtual region number and a virtual page number. A virtual page table look-up circuit is coupled to the region register file to generate a page table entry (PTE) virtual address from virtual address parameters. The virtual address parameters include the virtual address.
    Type: Grant
    Filed: June 30, 1999
    Date of Patent: August 5, 2003
    Assignee: Intel Corporation
    Inventors: Achmed R. Zahir, Gary N. Hammond, John H. Crawford
  • Patent number: 6584573
    Abstract: A computer system enters or exits a sleeping state, such as the ACPI “S1” state, in response to a sleep or wake event. Upon detecting the sleep or wake event, a system component generates a sleep or wake signal that instructs the computer to enter or exit the sleeping state. This sleep or wake signal is of a type to which the computer's processor does not respond. Therefore, a PMI signal is asserted in response to the sleep or wake signal. The PMI signal, when asserted, causes the processor to halt program execution.
    Type: Grant
    Filed: August 30, 1999
    Date of Patent: June 24, 2003
    Assignee: Intel Corporation
    Inventors: Russ Wunderlich, Yan Li, Mani Ayyar, Gary N. Hammond
  • Publication number: 20030018876
    Abstract: The present invention is a method and apparatus to map virtual memory space. A region register file provides a region identifier for a virtual address in the virtual memory space. The virtual address includes a virtual region number and a virtual page number. A virtual page table look-up circuit is coupled to the region register file to generate a page table entry (PTE) virtual address from virtual address parameters. The virtual address parameters include the virtual address.
    Type: Application
    Filed: June 30, 1999
    Publication date: January 23, 2003
    Inventors: ACHMED R. ZAHIR, GARY N. HAMMOND, JOHN H. CRAWFORD
  • Patent number: 6430657
    Abstract: Atomic memory operations are provided by using exportable “fetch and add” instructions and by emulating IA-32 instructions prepended with a lock prefix. In accordance with the present invention, a CPU includes a default control register that includes IA-32 lock check enable bit (LC) that when set to “1”, causes an IA-32 atomic memory reference to raise an IA-32 intercept lock fault. An IA-32 intercept lock fault handler branches to appropriate code to atomically emulate the instruction. Furthermore, the present invention defines an exportable fetch and add (FETCHADD) instruction that reads a memory location indexed by a first register, places the contents read from the memory location into a second register, increments the value read from the memory location, and stores the sum back to the memory location.
    Type: Grant
    Filed: October 12, 1998
    Date of Patent: August 6, 2002
    Assignee: Institute for the Development of Emerging Architecture L.L.C.
    Inventors: Millind Mittal, Martin J. Whittaker, Gary N. Hammond, Jerome C. Huck
  • Patent number: 6430670
    Abstract: The present invention generally relates to an apparatus and method for efficiently translating virtual addresses utilizing either single address space or multiple address space models in a virtual memory management system. In particular, a Virtual Hash Page Table (VHPT), an extension of the Translation Lookaside Buffer (TLB) hierarchy, is designed to enhance virtual address translation performance. Virtual Hash Page Table (VHPT) efficiently supports two different methods of operating systems use to translate virtual addresses to physical addresses. This directly benefits the highly frequented path of address resolution.
    Type: Grant
    Filed: November 1, 2000
    Date of Patent: August 6, 2002
    Assignee: Hewlett-Packard Co.
    Inventors: William R. Bryg, Stephen G. Burger, James O. Hays, John M. Kessenich, Jonathan K. Ross, Gary N. Hammond, Sunil Saxena, Koichi Yamada
  • Patent number: 6408373
    Abstract: A method and apparatus pre-validate regions in a virtual addressing scheme by storing both the virtual region number (VRN) bits and region identifiers (RIDs) in translation lookaside buffer (TLB) entries. By storing both the VRN bits and RIDs in TLB entries, the region registers can be bypassed when performing most TLB accesses, thereby removing region registers the critical path of the TLB look-up process and enhancing system performance. A TLB in accordance with the present invention includes entries having a valid field, a region pre-validation valid (rpV) field, a virtual region number (VRN) field, a virtual page number (VPN) field, a region identifier (RID) field, a protection and access attributes field, and a physical page number (PPN) field. In addition, a set of region registers contains the RIDs that are active at any given time.
    Type: Grant
    Filed: May 7, 2001
    Date of Patent: June 18, 2002
    Assignee: Institute for the Development of Emerging Architectures, LLC
    Inventors: Stephen G. Burger, James O. Hays, Jonathan K. Ross, William R. Bryg, Rajiv Gupta, Gary N. Hammond, Koichi Yamada
  • Patent number: 6393544
    Abstract: A method and apparatus calculate a page table index from a virtual address. Employs a combined hash algorithm that supports two different hash page table configurations. A “short format” page table is provided for each virtual region, is linear, has a linear entry for each translation in the region, and does not store tags or chain links. A single “long format” page table is provided for the entire system, supports chained segments, and includes hash tag fields. The method of the present invention forms an entry address from a virtual address, with the entry address referencing an entry of the page table. To form the entry address, first a hash page number is formed from the virtual address by shifting the virtual address right based on the page size of the region of the virtual address.
    Type: Grant
    Filed: October 31, 1999
    Date of Patent: May 21, 2002
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: William R. Bryg, Stephen G. Burger, Gary N. Hammond, James O. Hays, Jerome C. Huck, Jonathan K. Ross, Sunil Saxena, Koichi Yamada
  • Publication number: 20010021969
    Abstract: A method and apparatus pre-validate regions in a virtual addressing scheme by storing both the virtual region number (VRN) bits and region identifiers (RIDs) in translation lookaside buffer (TLB) entries. By storing both the VRN bits and RIDs in TLB entries, the region registers can be bypassed when performing most TLB accesses, thereby removing region registers the critical path of the TLB look-up process and enhancing system performance. A TLB in accordance with the present invention includes entries having a valid field, a region pre-validation valid (rpV) field, a virtual region number (VRN) field, a virtual page number (VPN) field, a region identifier (RID) field, a protection and access attributes field, and a physical page number (PPN) field. In addition, a set of region registers contains the RIDs that are active at any given time.
    Type: Application
    Filed: May 7, 2001
    Publication date: September 13, 2001
    Inventors: Stephen G. Burger, James O. Hays, Jonathan K. Ross, William R. Bryg, Rajiv Gupta, Gary N. Hammond, Koichi Yamada
  • Patent number: 6216214
    Abstract: The present invention generally relates to an apparatus and method for efficiently translating virtual addresses utilizing either single address space or multiple address space models in a virtual memory management system. In particular, a Virtual Hash Page Table (VHPT), an extension of the Translation Lookaside Buffer (TLB) hierarchy, is designed to enhance virtual address translation performance. Virtual Hash Page Table (VHPT) efficiently supports two different methods of operating systems use to translate virtual addresses to physical addresses. This directly benefits the highly frequented path of address resolution.
    Type: Grant
    Filed: February 3, 1998
    Date of Patent: April 10, 2001
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: William R. Bryg, Stephen G. Burger, James O. Hays, John M. Kessenich, Jonathan K. Ross, Gary N. Hammond, Sunil Saxena, Koichi Yamada
  • Patent number: 6209085
    Abstract: A method and apparatus for reducing the amount of data copied during process switches. A method for reducing the amount of data copied during process switches is provided. In response to a processor performing a process switch to a process, a first write indication corresponding to the process is stored to indicate a first register file in the processor should not be saved. In response to the process causing the processor to write to the first register file, the first write indication is altered to indicate the first register file should be saved. In response to the processor performing a process switch from the process, a first value stored in the first register file is copied into a storage device accessible by the processor if the first write indication indicates the first register file should be saved.
    Type: Grant
    Filed: September 11, 1997
    Date of Patent: March 27, 2001
    Assignee: Intel Corporation
    Inventors: Gary N. Hammond, Koichi Yamada
  • Patent number: 6199144
    Abstract: A method and apparatus for transferring data from a first memory location to a second memory location in a computer system. A load instruction is executed, and, in response, data is transferred from a first memory location to a second memory location during a single bus transaction. During the same bus transaction, a request is made to invalidate a copy of the data that is stored in a third memory location if the load instruction indicates to do so.
    Type: Grant
    Filed: December 31, 1997
    Date of Patent: March 6, 2001
    Assignee: Intel Corporation
    Inventors: Judge K. Arora, William R. Bryg, Stephen G. Burger, Gary N. Hammond, Michael L. Ziegler
  • Patent number: 6148321
    Abstract: A method and apparatus for the incorporation of additional processor generated events. The processor generally comprises a storage area, an indication unit, and a retriever. The storage area stores an indication. Upon recognition of each event, the indication unit alters the state of the indication--i.e., if an event is generated by the processor, the indication unit alters the state of the indication to a first state; and if an event is not generated by the processor, the indication unit alters the state of the indication to a second state. The retriever retrieves, in response to delivery of either a first processor generated event or a second non-processor generated event, a pointer which identifies a corresponding selector. This selector causes the processor to execute either a first number of instructions corresponding to the processor generated event or a second number of instructions corresponding to the non-processor generated event based on the indication.
    Type: Grant
    Filed: April 17, 1997
    Date of Patent: November 14, 2000
    Assignee: Intel Corporation
    Inventor: Gary N. Hammond