Patents by Inventor Jerome C. Huck

Jerome C. Huck 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: 7103880
    Abstract: A method of converting an original code sequence to a modified code sequence where the original code sequence includes a procedure call that is prior to a load instruction that is configured to load a value into one of a first plurality of registers is provided. The method includes inserting an advanced load instruction associated with one of a second plurality of registers into the modified code sequence where the advanced load instruction is configured to cause the value to be loaded into the one of the first plurality of registers. The method also includes inserting the procedure call into the modified code sequence subsequent to the advanced load instruction and inserting a checking instruction associated with the one of the second plurality of registers into the modified code sequence subsequent to the procedure call.
    Type: Grant
    Filed: April 30, 2003
    Date of Patent: September 5, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dale C. Morris, Jerome C. Huck
  • Patent number: 6845501
    Abstract: A method for reducing cache memory misses in a computer that performs context switches between at least a first context and a second context. A First logic identifies a first prefetch region in a first memory element and a second logic identifies critical memory references within the first prefetch region during compilation of a computer program. The critical memory references within the first prefetch region correspond to data in cache memory if a context switch occurs from a process or thread associated with the second context to a process or thread associated with the first context during program execution. Third logic prefetches data associated with the identified critical memory references and stores the prefetched data in cache memory prior to a process or thread associated with the first context being resumed when a switch from the second context to the first context occurs during program execution.
    Type: Grant
    Filed: July 27, 2001
    Date of Patent: January 18, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Carol L. Thompson, Michael L. Zi gler, Jerome C. Huck, Lawrence D. K. B. Dwyer
  • Patent number: 6704833
    Abstract: A method for transferring data between a processor and a memory includes (A) executing, at the processor, an instruction that includes (i) a specifier of a location in a storage resource local to the processor, (ii) a specifier of an address in the memory, and (iii) a specifier of a size of a data block, (B) providing, from the processor to a controller, a set of control signals indicating (i) the address in the memory, and (ii) the size of the data block; and (C) transferring, by the controller, in response to receipt of the set of control signals, the data block atomically between the storage resource and the memory, without the processor having to first request a lock on the memory.
    Type: Grant
    Filed: January 4, 2002
    Date of Patent: March 9, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Jerome C. Huck
  • Publication number: 20030131205
    Abstract: A method for transferring data between a processor and a memory includes (A) executing, at the processor, an instruction that includes (i) a specifier of a location in a storage resource local to the processor, (ii) a specifier of an address in the memory, and (iii) a specifier of a size of a data block, (B) providing, from the processor to a controller, a set of control signals indicating (i) the address in the memory, and (ii) the size of the data block; and (C) transferring, by the controller, in response to receipt of the set of control signals, the data block atomically between the storage resource and the memory, without the processor having to first request a lock on the memory.
    Type: Application
    Filed: January 4, 2002
    Publication date: July 10, 2003
    Inventor: Jerome C. Huck
  • Patent number: 6578059
    Abstract: A floating-point unit of a computer includes a floating-point computation unit, floating-point registers and a floating-point status register. The floating-point status register may include a main status field and one or more alternate status fields. Each of the status fields contains flag and control information. Different floating-point operations may be associated with different status fields. Subfields of the floating-point status register may be updated dynamically during operation. The control bits of the alternate status fields may include a trap disable bit for deferring interruptions during speculative execution. A widest range exponent control bit in the status fields may be used to prevent interruptions when the exponent of an intermediate result is within the range of the register format but exceeds the range of the memory format. The floating-point data may be stored in big endian or little endian format.
    Type: Grant
    Filed: October 10, 1998
    Date of Patent: June 10, 2003
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Jerome C. Huck, Peter Markstein, Glenn T. Colon-Bonet, Alan H. Karp, Roger Golliver, Michael Morrison, Gautam B. Doshi
  • Publication number: 20030023663
    Abstract: A method and an apparatus are provided for reducing cache memory misses in a computer that performs context switches between at least a first context and a second context. First logic identifies at least a first prefetch region in a first memory element during compilation of a computer program by the computer. Second logic identifies critical memory references within the first prefetch region during compilation. The critical memory references within the first prefetch region correspond to data that may be needed in cache memory if a context switch occurs from a process or thread associated with the second context to a process or thread associated with the first context during program execution by the computer. Third logic prefetches data associated with the identified critical memory references and stores the prefetched data in cache memory prior to a process or thread associated with the first context being resumed when a switch from the second context to the first context occurs during program execution.
    Type: Application
    Filed: July 27, 2001
    Publication date: January 30, 2003
    Inventors: Carol L. Thompson, Michael L. Ziegler, Jerome C. Huck, Lawrence D.K.B. Dwyer
  • Patent number: 6505296
    Abstract: A computer system includes a processor for executing a program and an interruption handler from a memory. The processor includes an instruction pointer indicating a memory location of a current executing instruction. The processor executes a trampoline check instruction in the program which tests a condition and if the condition is true, causes an interruption and supplies an address displacement. The interruption handler responds to the interruption and restarts execution of the program at a restart point indicating a memory location of a special handler in the program. The restart point is a sum of the address displacement and a value of the instruction pointer at the time of the interruption. If the condition is false, normal control flow of the program is continued.
    Type: Grant
    Filed: March 8, 2000
    Date of Patent: January 7, 2003
    Assignee: Hewlett-Packard Company
    Inventors: Dale C. Morris, Jonathan K. Ross, James O. Hays, Jerome C. Huck
  • 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: 6408380
    Abstract: Method and apparatus for storing and executing an instruction to load two independent registers with two values is disclosed. In one embodiment, a computer-readable medium is encoded with an instruction including an opcode field specifying that the instruction is an instruction to load two independent registers with a first value and a second value, a source field specifying the first value and the second value, a first target register field specifying a first target register to load with the first value; a second target register field specifying a second target register to load with the second value. A system to execute the instruction is also disclosed.
    Type: Grant
    Filed: May 21, 1999
    Date of Patent: June 18, 2002
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Jerome C. Huck, Glenn T. Colon-Bonet, Alan H. Karp, David A. Fotland, Dean A. Mulla
  • 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
  • Patent number: 6370639
    Abstract: A floating-point unit of a computer includes a floating-point computation unit, floating-point registers and a floating-point status register. The floating-point status register may include a main status field and one or more alternate status fields. Each of the status fields contains flag and control information. Different floating-point operations may be associated with different status fields. Subfields of the floating-point status register may be updated dynamically during operation. The control bits of the alternate status fields may include a trap disable bit for deferring interruptions during speculative execution. A widest range exponent control bit in the status fields may be used to prevent interruptions when the exponent of an intermediate result is within the range of the register format but exceeds the range of the memory format. The floating-point data may be stored in big endian or little endian format.
    Type: Grant
    Filed: October 10, 1998
    Date of Patent: April 9, 2002
    Assignee: Institute for the Development of Emerging Architectures L.L.C.
    Inventors: Jerome C. Huck, Peter Markstein, Glenn T. Colon-Bonet, Alan H. Karp, Roger Golliver, Michael Morrison, Gautam B. Doshi, Guillermo Juan Rozas
  • Publication number: 20020010851
    Abstract: A computer system includes a processor for executing a program and an interruption handler from a memory. The processor includes an instruction pointer indicating a memory location of a current executing instruction. The processor executes a trampoline check instruction in the program which tests a condition and if the condition is true, causes an interruption and supplies an address displacement. The interruption handler responds to the interruption and restarts execution of the program at a restart point indicating a memory location of a special handler in the program. The restart point is a sum of the address displacement and a value of the instruction pointer at the time of the interruption. If the condition is false, normal control flow of the program is continued.
    Type: Application
    Filed: March 8, 2000
    Publication date: January 24, 2002
    Inventors: Dale C. Morris, Jonathan K. Ross, James O. Hays, Jerome C. Huck
  • Patent number: 6301705
    Abstract: The present invention is generally directed to a system and method for supporting speculative execution of an instruction set for a central processing unit (CPU) including non-speculative and speculative instructions. In accordance with one aspect of the invention a method includes the steps of evaluating the instructions of the program to determine whether the individual instructions are speculative or non-speculative, and assessing each of the speculative instructions to determine whether it generates an exception. For each of the speculative instructions that generates an exception, the method then encode a deferred exception token (DET) into an unused register value of a register of the CPU. In accordance with another aspect of the invention, a system is provided, which system includes circuitry configured to evaluate the instructions of the instruction set to determine whether the individual instructions are speculative or non-speculative.
    Type: Grant
    Filed: October 1, 1998
    Date of Patent: October 9, 2001
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Gautam B. Doshi, Peter Markstein, Alan H. Karp, Jerome C. Huck, Glenn T. Colon-Bonet, Michael Morrison
  • Patent number: 6286095
    Abstract: A computer apparatus incorporating special instructions to force load and store operations to execute in program order. The present invention provides a new and novel store instruction that is suspended until all prior store instructions have been completed by an associated CPU. Also, a new load instruction is provided which blocks any subsequent load instructions from executing until this load instruction has been completed by an associated CPU. These instructions allow for high efficiency computer systems to be implemented which optimize instruction throughput by executing subsequent instructions while waiting for a prior instruction to complete.
    Type: Grant
    Filed: September 26, 1995
    Date of Patent: September 4, 2001
    Assignee: Hewlett-Packard Company
    Inventors: Dale C. Morris, Barry J. Flahive, Michael L. Ziegler, Jerome C. Huck, Stephen G. Burger, Ruby B. L. Lee, Bernard L. Stumpf, Jeff Kurtze
  • Patent number: 6249798
    Abstract: An apparatus, a processor, a computer system and a method may be used to directly transfer and translate data between a memory format in an integer processing unit and a floating point format in a floating point processing unit. Data is stored in integer registers of the integer processing unit in a memory format and is stored in floating point registers of the floating point processing unit in a floating point format. A direct data link is provided between the integer register file of the integer processing unit and the floating point register file of the floating point processing unit. The direct data link includes a logic circuit which translates data between the memory format and the floating point format.
    Type: Grant
    Filed: October 10, 1996
    Date of Patent: June 19, 2001
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Roger A. Golliver, Michael James Morrison, Glenn Colon-Bonet, Guatam Bhawandas Doshi, Jerome C. Huck, Alan Hersh Karp, Sivakumar Makineni
  • Patent number: 6212539
    Abstract: A floating-point unit of a computer includes a floating-point computation unit, floating-point registers and a floating-point status register. The floating-point status register may include a main status field and one or more alternate status fields. Each of the status fields contains flag and control information. Different floating-point operations may be associated with different status fields. Subfields of the floating-point status register may be updated dynamically during operation. The control bits of the alternate status fields may include a trap disable bit for deferring interruptions during speculative execution. A widest range exponent control bit in the status fields may be used to prevent interruptions when the exponent of an intermediate result is within the range of the register format but exceeds the range of the memory format. The floating-point data may be stored in big endian or little endian format.
    Type: Grant
    Filed: October 10, 1998
    Date of Patent: April 3, 2001
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Jerome C. Huck, Peter Markstein, Glenn T. Colon-Bonet, Alan H. Karp, Roger Golliver, Michael Morrison, Gautam B. Doshi
  • Patent number: 6151669
    Abstract: A floating-point unit of a computer includes a floating-point computation it, floating-point registers and a floating-point status register. The floating-point status register may include a main status field and one or more alternate status fields. Each of the status fields contains flag and control information. Different floating-point operations may be associated with different status fields. Subfields of the floating-point status register may be updated dynamically during operation. The control bits of the alternate status fields may include a trap disable bit for deferring interruptions during speculative execution. A widest range exponent control bit in the status fields may be used to prevent interruptions when the exponent of an intermediate result is within the range of the register format but exceeds the range of the memory format. The floating-point data may be stored in big endian or little endian format.
    Type: Grant
    Filed: October 10, 1998
    Date of Patent: November 21, 2000
    Assignee: Institute For The Development of Emerging Architectures, L.L.C.
    Inventors: Jerome C. Huck, Peter Markstein, Glenn T. Colon-Bonet, Alan H. Karp, Roger Golliver, Michael Morrison, Gautam B. Doshi, Guillermo Juan Rozas
  • Patent number: 6119218
    Abstract: A method and apparatus for prefetching data in a computer system that inces a processor. A prefetch instruction is executed and, in response, data is prefetched from a memory location. It is determined if a memory exception occurred during the prefetching of the data. If a memory exception occurred, the exception is handled if the prefetch instruction indicates to do so.
    Type: Grant
    Filed: July 8, 1999
    Date of Patent: September 12, 2000
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Judge K. Arora, Jack D. Mills, Jerome C. Huck
  • Patent number: 6009263
    Abstract: An emulating agent and method is provided that receives numbers having si, exponents and significands of varying lengths and possibly configured in a variety of incompatible formats and to reformat the numbers into a standard uniform format for uniform arithmetic computations in processors operating with different architectures. In one embodiment, the emulating agent has a three-field superset register configured to receive the sign of a number in a first field, the exponent of a number in a second field and the significand of a number in a third field, regardless of the original format of the number, resulting in a number represented in a standard uniform format for computation. The embodiment also allows high level access to the fields to allow users to control the size of the numbers inserted into the fields.
    Type: Grant
    Filed: July 28, 1997
    Date of Patent: December 28, 1999
    Assignee: Institute For The Development Of Emerging Architectures, L.L.C.
    Inventors: Roger A. Golliver, Gautam Bhagwandas Doshi, Jerome C. Huck, Alan Hersh Karp, Sivakumar Makineni, Mike Morrison, Glen Colon-Bonet
  • Patent number: 5948095
    Abstract: A method and apparatus for prefetching data in a computer system that includes a processor. A prefetch instruction is executed and, in response, data is prefetched from a memory location. It is determined if a memory exception occurred during the prefetching of the data. If a memory exception occurred, the exception is handled if the prefetch instruction indicates to do so.
    Type: Grant
    Filed: December 31, 1997
    Date of Patent: September 7, 1999
    Assignee: Intel Corporation
    Inventors: Judge K. Arora, Jack D. Mills, Jerome C. Huck