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: 7103880Abstract: 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: GrantFiled: April 30, 2003Date of Patent: September 5, 2006Assignee: Hewlett-Packard Development Company, L.P.Inventors: Dale C. Morris, Jerome C. Huck
-
Patent number: 6845501Abstract: 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: GrantFiled: July 27, 2001Date of Patent: January 18, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventors: Carol L. Thompson, Michael L. Zi gler, Jerome C. Huck, Lawrence D. K. B. Dwyer
-
Patent number: 6704833Abstract: 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: GrantFiled: January 4, 2002Date of Patent: March 9, 2004Assignee: Hewlett-Packard Development Company, L.P.Inventor: Jerome C. Huck
-
Publication number: 20030131205Abstract: 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: ApplicationFiled: January 4, 2002Publication date: July 10, 2003Inventor: Jerome C. Huck
-
Patent number: 6578059Abstract: 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: GrantFiled: October 10, 1998Date of Patent: June 10, 2003Assignee: 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: 20030023663Abstract: 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: ApplicationFiled: July 27, 2001Publication date: January 30, 2003Inventors: Carol L. Thompson, Michael L. Ziegler, Jerome C. Huck, Lawrence D.K.B. Dwyer
-
Patent number: 6505296Abstract: 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: GrantFiled: March 8, 2000Date of Patent: January 7, 2003Assignee: Hewlett-Packard CompanyInventors: Dale C. Morris, Jonathan K. Ross, James O. Hays, Jerome C. Huck
-
Patent number: 6430657Abstract: 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: GrantFiled: October 12, 1998Date of Patent: August 6, 2002Assignee: Institute for the Development of Emerging Architecture L.L.C.Inventors: Millind Mittal, Martin J. Whittaker, Gary N. Hammond, Jerome C. Huck
-
Patent number: 6408380Abstract: 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: GrantFiled: May 21, 1999Date of Patent: June 18, 2002Assignee: 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: 6393544Abstract: 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: GrantFiled: October 31, 1999Date of Patent: May 21, 2002Assignee: 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: 6370639Abstract: 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: GrantFiled: October 10, 1998Date of Patent: April 9, 2002Assignee: 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: 20020010851Abstract: 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: ApplicationFiled: March 8, 2000Publication date: January 24, 2002Inventors: Dale C. Morris, Jonathan K. Ross, James O. Hays, Jerome C. Huck
-
Patent number: 6301705Abstract: 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: GrantFiled: October 1, 1998Date of Patent: October 9, 2001Assignee: 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: 6286095Abstract: 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: GrantFiled: September 26, 1995Date of Patent: September 4, 2001Assignee: Hewlett-Packard CompanyInventors: 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: 6249798Abstract: 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: GrantFiled: October 10, 1996Date of Patent: June 19, 2001Assignee: 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: 6212539Abstract: 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: GrantFiled: October 10, 1998Date of Patent: April 3, 2001Assignee: 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: 6151669Abstract: 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: GrantFiled: October 10, 1998Date of Patent: November 21, 2000Assignee: 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: 6119218Abstract: 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: GrantFiled: July 8, 1999Date of Patent: September 12, 2000Assignee: Institute for the Development of Emerging Architectures, L.L.C.Inventors: Judge K. Arora, Jack D. Mills, Jerome C. Huck
-
Patent number: 6009263Abstract: 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: GrantFiled: July 28, 1997Date of Patent: December 28, 1999Assignee: 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: 5948095Abstract: 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: GrantFiled: December 31, 1997Date of Patent: September 7, 1999Assignee: Intel CorporationInventors: Judge K. Arora, Jack D. Mills, Jerome C. Huck