Patents by Inventor Hoichi Cheong

Hoichi Cheong 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: 6073211
    Abstract: An apparatus is disclosed which supports memory updates within a data processing system including a number of processors. The apparatus includes a memory hierarchy including one or more upper levels of memory. Each upper level within the memory hierarchy includes one or more memory units which each store a subset of all data stored within an associated memory unit at a lower level of the memory hierarchy. Each memory unit at the highest level within the memory hierarchy is associated with a selected processor. In addition, the apparatus includes a reservation indicator associated with each memory unit within the memory hierarchy. For memory units at the highest level within the memory hierarchy, the reservation indicator specifies an address for which the processor associated with that memory unit holds a reservation. At each lower level within the memory hierarchy, the reservation indicator specifies addresses for which associated memory units at higher levels within the memory hierarchy hold a reservation.
    Type: Grant
    Filed: April 18, 1997
    Date of Patent: June 6, 2000
    Assignee: International Business Machines Corporation
    Inventors: Kai Cheng, Hoichi Cheong, Kimming So
  • Patent number: 6070235
    Abstract: A data processing system includes logic to ensure result data stored in a history buffer is in a correct chronological order and is not overwritten until an appropriate point in time. The logic also ensures that the history buffer is able to capture result data that is produced with unexpected delays. The history buffer entries act as a "backup" for an architected register by storing older result data and rely on unique target identifiers assigned to dispatched instructions to keep the result data in a correct chronological order. Furthermore, a target identifier field of the architected register holds the latest target identifier assigned to a youngest instruction that modifies the architected register. Additionally, previous result data in the register is backed up in an allocated history buffer entry. If the result data is not yet available, the target identifier in the register will be deposited in the target identifier field of the history buffer entry.
    Type: Grant
    Filed: July 14, 1997
    Date of Patent: May 30, 2000
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Hung Qui Le
  • Patent number: 6061777
    Abstract: One aspect of the invention relates to a method for operating a processor. In one version of the invention, the method includes the steps of dispatching an instruction; determining a presently architected RMAP entry for the architectural register targeted by the dispatched instruction; selecting the RMAP entries which are associated with physical registers that contain operands for the dispatched instruction; updating a use indicator in the selected RMAP entries; determining whether the dispatched instruction is interruptible; and updating an architectural indicator and a historical indicator in the presently architected RMAP entry if the dispatched instruction is uninterruptible.
    Type: Grant
    Filed: October 28, 1997
    Date of Patent: May 9, 2000
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Paul Joseph Jordan, Hung Qui Le, Soummya Mallick
  • Patent number: 5996085
    Abstract: Within a superscalar processor implementing parallel processing of instructions, machine context synchronization operations, which may alter the context or state of the processor, are allowed to be executed in parallel with non-interruptible instructions under certain conditions. Such a condition includes the absence of a side effect of the change of context resulting from the machine context synchronization operations on the non-interruptible instructions.
    Type: Grant
    Filed: July 15, 1997
    Date of Patent: November 30, 1999
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Hung Qui Le
  • Patent number: 5983341
    Abstract: A data processing system indicates that an instruction does not have available data because of a cache miss or because of a non-cache-miss delay. When the instruction is not able to access the available data and a cache miss results, instructions which are dependent on the issued instruction are not issued. However, if the load execution is delayed because of a non-cache-miss delay, then the instructions which are dependent on the issued instruction are also issued in anticipation of a successful load instruction execution in a next timing cycle. Through the use of this issuing mechanism, the efficiency of the data processing system is increased as an execution unit is better able to utilize its pipeline.
    Type: Grant
    Filed: April 25, 1997
    Date of Patent: November 9, 1999
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Paul Joseph Jordan, Hung Qui Le
  • Patent number: 5974524
    Abstract: According to one aspect of the invention, a method is provided for maintaining the state of a processor having a plurality of physical registers and a rename register map which stores rename pairs that associate architected and physical registers, the rename register map having a plurality of entries which are associated with the physical registers, individual entries having an architected register field, an architected status bit and a history status bit.
    Type: Grant
    Filed: October 28, 1997
    Date of Patent: October 26, 1999
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Paul Joseph Jordan, Quan Nguyen, Hung Qui Le
  • Patent number: 5961636
    Abstract: In a data processing system having a processor, which dispatches floating point instructions to a floating point unit, a checkpoint table is associated with a floating point register rename table for restoring the state of the floating point register rename table upon the occurrence of a mispredicted branch or an interrupt. This is accomplished (1) using a program order tag associated with each one of the instructions, (2) by replacing the valid bit vector of the floating point register rename table with the valid bit vector of a checkpoint entry whose program order tag is the oldest among all checkpoint entries that have a program order tag younger or as old as the program order tag of the mispredicted branch or the interrupted instruction, and (3) by using the location portion of the checkpoint entry to replace the NEXT pointer of the register renaming table.
    Type: Grant
    Filed: September 22, 1997
    Date of Patent: October 5, 1999
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey Scott Brooks, Hoichi Cheong, Tiberiu Carol Galambos, Christopher Hans Olson
  • Patent number: 5913048
    Abstract: The invention relates to a method for issuing instructions in a processor. In one version of the invention, the method includes the steps of assigning an identification tag to an instruction, and dispatching the instruction, the identification tag and source information to an execution queue.
    Type: Grant
    Filed: March 31, 1997
    Date of Patent: June 15, 1999
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Hung Qui Le, John Stephen Muhich, Steven Wayne White
  • Patent number: 5897651
    Abstract: An information handling system includes a cache memory architecture which includes a means for performing a direct lookup by identifying the double word in the cache using the congruence class ID field, a set ID field and a double word ID field of the request address, and sending the double word to the CPU, and if the tag of the identified double word does not match the tag of the request address, sending a cancel signal to the CPU, and the double word with a matched tag in the congruence class, and if no match occurs, reloading the line l1 into the improved cache from a lower level cache or from main memory. The line in the set identified by the set ID field replaces the least recently used line in the congruence class and its place is taken by the missing line.
    Type: Grant
    Filed: November 13, 1995
    Date of Patent: April 27, 1999
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Kimming So
  • Patent number: 5887161
    Abstract: The invention relates to a method for issuing instructions in a processor. In one version of the invention, the method includes the steps of dispatching the instruction and source information to a queue, determining validity of the source information, and issuing the instruction for execution in response to the source information validity.
    Type: Grant
    Filed: March 31, 1997
    Date of Patent: March 23, 1999
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Hung Qui Le, John Stephen Muhich, Steven Wayne White
  • Patent number: 5875326
    Abstract: During operation of a pipelined data processing system, an interruptible instruction table is used to store target identifiers associated with instructions which may result in speculative execution. During operation of the interruptible instruction table, a pointer, referred to as a completing instruction buffer entry pointer, points to a bottom of the interruptible instruction table if that table includes any instruction. An entry at the bottom of the interruptible instruction table is a next instruction to complete. This entry includes a target identifier, referred to as a non-speculative-non-interruptible TID, may be used to release resources held for all prior executed instructions. The data processing system determines the value of the non-speculative-non-interruptible TID to ensure that order determination is preserved and provides a true speculative execution point.
    Type: Grant
    Filed: April 25, 1997
    Date of Patent: February 23, 1999
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Paul Joseph Jordan, Hung Qui Le
  • Patent number: 5870582
    Abstract: In a method and apparatus for allocating processor resources in a data processing system, instructions are dispatched and tagged for processing. A processor resource snoops to obtain execution results for the tagged instructions. Such an instruction is logically "finished" in response to determining that it will not cause an interrupt (which includes not changing the sequence of completing instructions), and "completed" in response to finishing all earlier dispatched instructions. Information is entered for such an instructions in rename buffer in response to the instruction targeting an architected register, and such a rename buffer entry is released in response to completing the entry's instruction. The rename buffer may comprise a history buffer. Also, information for the instructions is entered in a completion queue in response to dispatching the instructions, and the queue entry for such an instruction is released in response to completion of the instruction.
    Type: Grant
    Filed: March 31, 1997
    Date of Patent: February 9, 1999
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Hung Qui Le, John Stephen Muhich, Steven Wayne White
  • Patent number: 5870612
    Abstract: The invention includes a method and apparatus for maintaining content of predefined registers of a processor which uses the registers for executing instructions, including an interruptible instruction. According to the invention, instructions are dispatched, including instructions ("targeting instructions") which target registers for holding register content, and an interruptible instruction. The content of a register is altered in response to executing a targeting instruction. An entry of register content is stored only for selected ones of the dispatched targeting instructions.
    Type: Grant
    Filed: October 15, 1996
    Date of Patent: February 9, 1999
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Hung Qui Le, John Stephen Muhich, Steven Wayne White
  • Patent number: 5860014
    Abstract: A method and apparatus for maintaining content of registers of a processor which uses the registers for processing instructions. Entries are stored in a buffer for restoring register content in response to an interruption by an interruptible instruction. Entries include information for reducing the number of entries selected for the restoring. A set of the buffer entries is selected, in response to the interruption and the information, for restoring register content. The set includes only entries which are necessary for restoring the content in response to the interruption so that the content of the processor registers may be restored in a single processor cycle, even if multiple entries are stored for a first one of the registers and multiple entries are stored for a second one of the registers.
    Type: Grant
    Filed: October 15, 1996
    Date of Patent: January 12, 1999
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Hung Qui Le, John Stephen Muhich, Steven Wayne White
  • Patent number: 5822752
    Abstract: The present invention is related to a circuit useful to manage a random order queue having a plurality of queue entries, each queue entry having an associated validity bit which indicates whether the queue entry contains valid data. In one embodiment, the circuit includes a first plurality of inputs for receiving validity signals responsive to a first group of validity bits, a second plurality of inputs for receiving shift signals responsive to a second group of validity bits, and a plurality of outputs for providing select signals to multiplexers coupled to the queue, the select signals being responsive to the shift signals and the validity signals.
    Type: Grant
    Filed: July 15, 1996
    Date of Patent: October 13, 1998
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Michael Kevin Ciraula, Hung Qui Le, John Stephen Muhich
  • Patent number: 5805906
    Abstract: In a data processing system using a number of registers for processing instructions, a method and apparatus for writing information to the registers. Ports are accessed for writing back to processor registers, information ("results") resulting from and associated with executing instructions. Certain of the results are stored for restoring to the registers. In response to an interruption at least one of the ports is accessed for restoring stored results to the registers. Accesses to the ports are arbitrated in response to comparing writeback and restoration results. A result includes identification of the instruction the result is associated with (a "TID"), and a register that is targeted by the result (a "TR"). The comparing includes comparing TID's and TR's for the results.
    Type: Grant
    Filed: October 15, 1996
    Date of Patent: September 8, 1998
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Hung Qui Le, Paul Joseph Jordan
  • Patent number: 5774712
    Abstract: The present invention is directed to an apparatus and method for sending and receiving instructions, or operations, in an information handling system. The operations are received in a particular, desired order, regardless of the order in which the operations are sent. The invention provides an apparatus and method which assigns a vector to each operation or sub-operation to indicate the desired receiving order of the operations. In addition, the apparatus and method implementing the invention assign a vector to the receiving unit to indicate the order into which the operations should be placed in the receiving unit. The two vectors are manipulated in such a way as to signal which operations should be accepted into which places in the receiving unit. One operation may be mapped to multiple sub-operations in the receiving unit.
    Type: Grant
    Filed: December 19, 1996
    Date of Patent: June 30, 1998
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Hung Qui Le
  • Patent number: 5754885
    Abstract: Control circuitry is used to select M entries from an N-entry storage array by viewing the array from both ends. Beginning at both ends of the array, particular bit values or entry content is looked for by the control logic. Once found at both ends, these entries are then used to produce control signals to be sent to a pair of muxes to remove these entries. Then a subset of the original array consisting of the remaining entries of the array is then iterated upon by a similar set of control circuitry for finding and removing the next M entries from the storage array.
    Type: Grant
    Filed: April 4, 1996
    Date of Patent: May 19, 1998
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Tom Tien-Cheng Chiu, Hung Qui Le, Donald George Mikan, Jr.
  • Patent number: 5694573
    Abstract: A multi-processor data processing system has a multi-level cache wherein each processor has a split high level (e.g., level one or L1) cache composed of a data cache (DCache) and an instruction cache (ICache). A shared lower level (e.g., level two or L2) cache includes a cache array which is a superset of the cache lines in all L1 caches. There is a directory of L2 cache lines such that each line has a set of inclusion bits indicating if the line is residing in any of the L1 caches. A directory management system requires only N+2 inclusion bits per L2 line, where N is the number of processors having L1 caches sharing the L2 cache.
    Type: Grant
    Filed: December 30, 1996
    Date of Patent: December 2, 1997
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Dwain A. Hicks, Kimming So
  • Patent number: 5692151
    Abstract: An access hazard detection technique in a pipelined cache controller sustains high throughput in a frequently accessed cache but without the cost normally associated with such access hazard detection. If a previous request (request in the pipeline stages other than the first stage) has already resulted in a cache hit, and it matches the new request in both the Congruence Class Index and the Set Index fields and if the new request is also a hit, the address collision logic will signal a positive detection. This scheme makes use of the fact that (1) the hit condition, (2) the identical Congruence Class Index, and (3) the Set Index of two requests are sufficient to determine that they are referencing the same cache content. Implementation of this scheme results in a significant hardware saving and a significant performance boost.
    Type: Grant
    Filed: November 14, 1994
    Date of Patent: November 25, 1997
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Dwain A. Hicks, Kimming So