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: 6073211Abstract: 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: GrantFiled: April 18, 1997Date of Patent: June 6, 2000Assignee: International Business Machines CorporationInventors: Kai Cheng, Hoichi Cheong, Kimming So
-
Patent number: 6070235Abstract: 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: GrantFiled: July 14, 1997Date of Patent: May 30, 2000Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Hung Qui Le
-
Patent number: 6061777Abstract: 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: GrantFiled: October 28, 1997Date of Patent: May 9, 2000Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Paul Joseph Jordan, Hung Qui Le, Soummya Mallick
-
Patent number: 5996085Abstract: 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: GrantFiled: July 15, 1997Date of Patent: November 30, 1999Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Hung Qui Le
-
Patent number: 5983341Abstract: 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: GrantFiled: April 25, 1997Date of Patent: November 9, 1999Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Paul Joseph Jordan, Hung Qui Le
-
Patent number: 5974524Abstract: 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: GrantFiled: October 28, 1997Date of Patent: October 26, 1999Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Paul Joseph Jordan, Quan Nguyen, Hung Qui Le
-
Patent number: 5961636Abstract: 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: GrantFiled: September 22, 1997Date of Patent: October 5, 1999Assignee: International Business Machines CorporationInventors: Jeffrey Scott Brooks, Hoichi Cheong, Tiberiu Carol Galambos, Christopher Hans Olson
-
Patent number: 5913048Abstract: 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: GrantFiled: March 31, 1997Date of Patent: June 15, 1999Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Hung Qui Le, John Stephen Muhich, Steven Wayne White
-
Patent number: 5897651Abstract: 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: GrantFiled: November 13, 1995Date of Patent: April 27, 1999Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Kimming So
-
Patent number: 5887161Abstract: 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: GrantFiled: March 31, 1997Date of Patent: March 23, 1999Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Hung Qui Le, John Stephen Muhich, Steven Wayne White
-
Patent number: 5875326Abstract: 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: GrantFiled: April 25, 1997Date of Patent: February 23, 1999Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Paul Joseph Jordan, Hung Qui Le
-
Patent number: 5870582Abstract: 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: GrantFiled: March 31, 1997Date of Patent: February 9, 1999Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Hung Qui Le, John Stephen Muhich, Steven Wayne White
-
Patent number: 5870612Abstract: 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: GrantFiled: October 15, 1996Date of Patent: February 9, 1999Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Hung Qui Le, John Stephen Muhich, Steven Wayne White
-
Patent number: 5860014Abstract: 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: GrantFiled: October 15, 1996Date of Patent: January 12, 1999Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Hung Qui Le, John Stephen Muhich, Steven Wayne White
-
Patent number: 5822752Abstract: 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: GrantFiled: July 15, 1996Date of Patent: October 13, 1998Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Michael Kevin Ciraula, Hung Qui Le, John Stephen Muhich
-
Patent number: 5805906Abstract: 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: GrantFiled: October 15, 1996Date of Patent: September 8, 1998Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Hung Qui Le, Paul Joseph Jordan
-
Patent number: 5774712Abstract: 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: GrantFiled: December 19, 1996Date of Patent: June 30, 1998Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Hung Qui Le
-
Patent number: 5754885Abstract: 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: GrantFiled: April 4, 1996Date of Patent: May 19, 1998Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Tom Tien-Cheng Chiu, Hung Qui Le, Donald George Mikan, Jr.
-
Patent number: 5694573Abstract: 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: GrantFiled: December 30, 1996Date of Patent: December 2, 1997Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Dwain A. Hicks, Kimming So
-
Patent number: 5692151Abstract: 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: GrantFiled: November 14, 1994Date of Patent: November 25, 1997Assignee: International Business Machines CorporationInventors: Hoichi Cheong, Dwain A. Hicks, Kimming So