Patents by Inventor James Allan Kahle

James Allan Kahle 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: 5870575
    Abstract: A processor and method of operating a processor which has a native instruction set and emulates guest instructions within a guest instruction set are described. According to the method, a series of guest instructions including at least one unconditional indirect guest branch instruction is stored in memory. In addition, one or more semantic routines that are formed of native instructions and that may be utilized to emulate the series of guest instructions are stored in memory. For each guest instruction in the series of guest instructions, an entry is stored in a multiple-entry queue in order of receipt. The entry includes an indication of a location in memory of at least one semantic routine. In response to the entries in the multiple-entry queue, the series of guest instructions are emulated in the processor by using the entries to access and execute selected ones of the one or more semantic routines.
    Type: Grant
    Filed: September 22, 1997
    Date of Patent: February 9, 1999
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Soummya Mallick
  • Patent number: 5812823
    Abstract: A system and method for performing an emulation context switch save and restore in a processor that executes host applications and emulates guest applications. The processor includes an operating system and a first register that is saved and restored by the operating system during a host application context switch. The method and system comprises renaming the special-purpose register to the first register when emulating guest applications. When an emulation context switch occurs, a context save and restore of the special-purpose register is performed through the first register without operating system modification.
    Type: Grant
    Filed: January 2, 1996
    Date of Patent: September 22, 1998
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Soummya Mallick, Arturo Martin-de-Nicolas
  • Patent number: 5764942
    Abstract: The method and system of the present invention permits enhanced instruction dispatch efficiency in a superscalar processor system capable of fetching an application specified ordered sequence of scalar instructions and simultaneously dispatching a group of the scalar instructions to a plurality of execution units on a nonsequential opportunistic basis. A group of scalar instructions fetched in an application specified ordered sequence on a nonsequential opportunistic basis is processed in the present invention. The present invention detects conditions requiring serialization during the processing. In response to a detection of a condition requiring serialization, processing of particular scalar instructions from the group of scalar instructions are selectively controlled, wherein at least a portion of the scalar instructions within the group of scalar instructions are thereafter processed in a serial fashion.
    Type: Grant
    Filed: August 12, 1996
    Date of Patent: June 9, 1998
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Chin-Cheng Kau, Aubrey Deene Ogden, Ali Asghar Poursepanj, Paul Kang-Guo Tu, Donald Emil Waldecker
  • Patent number: 5764969
    Abstract: A method and system for enhanced system management operations in a superscalar data processing system. Those supervisory level instructions which execute selected privileged operations within protected memory space are first identified as not requiring a full context synchronization. Each time execution of such an instruction is initiated an enable special access (ESA) instruction is executed as an entry point to that instruction or group of instructions. A portion of the machine state register for the data processing system is stored and the machine state register is then modified as follows: a problem bit is set, changing the execution privilege state to "supervisor;" external interrupts are disabled; and access privilege state bit is set; and, a special access mode bit is set, allowing execution of special instructions. The instructions which execute the selected privileged operations within the protected memory space are then executed.
    Type: Grant
    Filed: February 10, 1995
    Date of Patent: June 9, 1998
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Albert J. Loper, Soummya Mallick, Aubrey Deene Ogden, John Victor Sell
  • Patent number: 5761473
    Abstract: A method and system for increased instruction synchronization efficiency in a superscalar processor system which includes instructions having multiple source and destination operands. Simultaneous dispatching of multiple instructions creates a source-to-destination data dependency problem in that the results of one instruction may be necessary to accomplish execution of a second instruction. Data dependency hazards may be eliminated by prohibiting each instruction from dispatching until all possible data dependencies have been eliminated by the completion of preceding instructions; however, instruction dispatch efficiency is substantially decreased utilizing this technique. Data dependency interlock circuitry may be utilized to clear possible data dependency hazards; however, the complexity of such circuitry increases dramatically as the number of interlocked sources and destinations increases.
    Type: Grant
    Filed: January 8, 1993
    Date of Patent: June 2, 1998
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Chin-Cheng Kau
  • Patent number: 5758120
    Abstract: A method and system for increasing memory concurrency in a multiprocessor computer system which includes system memory, multiple processors coupled together via a bus, each of the processors including multiple processor units for executing multiple instructions and for performing read, write and store operations and an associated Translation Lookaside Buffer (TLB) for translating effective addresses into real memory addresses within the system memory. Multiple page table entries are provided within a page table within the system memory which each include multiple individually accessible fields, an effective address and an associated real memory address for a selected system memory location. A reference bit is provided within a first individually accessible field in each page table entry and this reference bit is utilized to indicate if an associated system memory location has been accessed for a read or write operation.
    Type: Grant
    Filed: August 20, 1996
    Date of Patent: May 26, 1998
    Assignee: Internatiional Business Machines Corporation
    Inventors: James Allan Kahle, John Stephen Muhich, Richard Raphael Oehler, Edward John Silha
  • Patent number: 5758140
    Abstract: A system and method for improving the performance of a processor that emulates a guest instruction where the guest instruction includes a first and second operand. The first operand is stored in a general purpose register, and the second operand is stored in a special-purpose register. The method and system provides a host instruction that performs an operation using the first operand and the second operand without moving the second operand from the special-purpose register into the general purpose register. This reduces the number of instructions in the semantic routines necessary to operate on immediate data from guest instructions and increases emulation performance.
    Type: Grant
    Filed: January 25, 1996
    Date of Patent: May 26, 1998
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Soummya Mallick
  • Patent number: 5758141
    Abstract: A method and system for permitting the selective support of non-architected instructions within a superscalar processor system. A special access bit within the system machine state register is provided and set in response to each initiation of an application during which execution of non-architected instructions is desired. Thereafter, each time a non-architected instruction is decoded the status of the special access bit is determined. The non-architected instruction is executed in response to a set state of the special access bit. The illegal instruction program interrupt is issued in response to an attempted execution of a non-architected instruction if the special access bit is not set. In this manner, for example, complex instruction set computing (CISC) instructions may be selectively enabled for execution within a reduced instruction set computing (RISC) data processing system while maintaining full architectural compliance with the reduced instruction set computing (RISC) instructions.
    Type: Grant
    Filed: February 10, 1995
    Date of Patent: May 26, 1998
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Albert J. Loper, Soummya Mallick, Aubrey Deene Ogden, John Victor Sell
  • Patent number: 5748938
    Abstract: A method and system are provided for maintaining memory coherency. A first device stores information. A second device is coupled to the first device. The second device inputs at least a portion of the information and outputs an indication that the portion is not to be cached by the second device. Rather than initializing other devices to "know" in advance that a cache memory is absent from a given device, a control signal indicates the device's intent to not cache the requested portion of information in a cache memory.
    Type: Grant
    Filed: December 6, 1994
    Date of Patent: May 5, 1998
    Assignee: International Business Machines Corporation
    Inventor: James Allan Kahle
  • Patent number: 5732235
    Abstract: A system and method for reducing the cycle time necessary to execute semantic routines in a processor that emulates guest instructions. Each of the semantic routines includes a block of host instructions for performing the function of the corresponding guest instruction, and the last instruction in each of the semantic routines is a branch instruction. The method and system first determines the block length of each of the semantic routines. When a first guest instruction is encountered, the block of instructions in a first semantic routine corresponding to a guest instruction is executed. The block length of first semantic routine is then used to determine when to fetch a second semantic routine without fetching and decoding the branch instruction in the first semantic routine, thereby increasing emulation performance.
    Type: Grant
    Filed: January 25, 1996
    Date of Patent: March 24, 1998
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Soummya Mallick, Larry Bryce Phillips, Russell Adley Reininger
  • Patent number: 5732005
    Abstract: A single-precision floating-point register array for a floating-point execution unit that performs double-precision operations by emulation is provided. The register array comprises a plurality of single-precision floating-point registers and a storage device that stores one or more status bits in association with each of the plurality of registers; the status bits associated with each register indicate either that the associated data register contains single-precision or integer data, or that the data for the associated register is contained in an emulated register in memory that is mapped to the associated register. When a register is a source for an operation, the status bits associated with the register are checked and the required operand data for that register is read from the register or from an emulated register mapped to that register, as a function of the state of the status bits.
    Type: Grant
    Filed: February 10, 1995
    Date of Patent: March 24, 1998
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Tai Dinh Ngo, Aubrey Deene Ogden, Michael Putrino, Johm Victor Sell
  • Patent number: 5715420
    Abstract: A method and system for efficient memory management in a data processing system which utilizes a memory management unit to translate effective addresses into real addresses within a translation lookaside buffer is disclosed. During a first mode of operation a selected number of effective address identifiers are stored in the translation lookaside buffer. In association with each virtual address identifier is a corresponding real address entry for a single memory block wherein selected virtual addresses may be translated into corresponding real addresses utilizing the translation lookaside buffer.
    Type: Grant
    Filed: February 10, 1995
    Date of Patent: February 3, 1998
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Albert J. Loper, Aubrey Deene Ogden, John Victor Sell, Gregory L. Limes