Patents by Inventor Hung Qui Le

Hung Qui Le 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: 6356918
    Abstract: A method and a system in a data processing system for managing registers in a register array wherein the data processing system has M architected registers and the register array has greater than M registers. A first physical register address is selected from a group of available physical register addresses in a renamed table in response to dispatching a register-modifying instruction that specifies an architected target register address. The architected target register address is then associated with the first physical register address, and a result of executing the register-modifying instruction is stored in a physical register pointed to by the first physical register address. In response to completing the register-modifying instruction, the first physical address in the rename table is exchanged with a second physical address in a completion renamed table, wherein the second physical address is located in the completion rename table at a location pointed to by the architected target register address.
    Type: Grant
    Filed: July 26, 1995
    Date of Patent: March 12, 2002
    Assignee: International Business Machines Corporation
    Inventors: Chiao-Mei Chuang, Hung Qui Le
  • Patent number: 6345356
    Abstract: A dummy instruction is issued, followed by several groups of No Operations (NOPs). The instruction sequencer unit (ISU) detects the dummy instruction and stalls the pipeline until the scoreboard indicates the XER count is valid. After a read from a scoreboarded Special Purpose Register (SPR), No Operation—Internal Operations (NOP—IOPs) are inserted between write and read SPR IOPs to allow an ISU scoreboard mechanism to be activated before being tested by a read SPR IOP. A read-write-read sequence is utilized: a dummy read of the string count field from a scoreboarded SPR, writing that value back to the same SPR and then performing a read of the SPR once again. A predetermined number of dummy IOPs follow the initial dummy read to prevent the value of the string count field from being read too soon.
    Type: Grant
    Filed: July 16, 1999
    Date of Patent: February 5, 2002
    Assignee: International Business Machines Corporation
    Inventors: John Edward Derrick, Lee Evan Eisen, Hung Qui Le, Robert Greg McDonald
  • Patent number: 6336183
    Abstract: In a processor, store instructions are divided or cracked into store data and store address generation portions for separate and parallel execution within two execution units. The address generation portion of the store instruction is executed within the load store unit, while the store data portion of the instruction is executed in an execution unit other than the load store unit. If the store instruction is a fixed point execution unit, then the store data portion is executed within the fixed point unit. If the store instruction is a floating point store instruction, then the store data portion of the store instruction is executed within the floating point unit.
    Type: Grant
    Filed: February 26, 1999
    Date of Patent: January 1, 2002
    Assignee: International Business Machines Corporation
    Inventors: Hung Qui Le, Robert Greg McDonald, David James Shippy, Larry Edward Thatcher
  • Patent number: 6324640
    Abstract: Within a superscalar processor, multiple groups of instructions are dispatched simultaneously to a plurality of execution units. A renaming mechanism is utilized to permit out-of-order execution of these instructions within the multiple groups. The renaming mechanism includes a rename table allocated for each dispatched group. A delay register is implemented between a portion of the dispatch queue dispatching a second one of the groups of instructions and a second one of the rename tables.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: November 27, 2001
    Assignee: International Business Machines Corporation
    Inventors: Hung Qui Le, Hoichi Cheong
  • Publication number: 20010042192
    Abstract: An apparatus and method for self-initiated instruction issuing are implemented. In a central processing unit (CPU) having a pipelined architecture, instructions are queued for issuing to the execution unit which will execute them. Instructions are issued each cycle, and an instruction should be selectable for issuing as soon as its source operands are available. An instruction in the issue queue having source operands depending on other, target, instructions to determine their value are signaled to the target instruction by a link mask in the queue entry corresponding to the target instruction. A bit in the link mask identifies the queue entry corresponding to the dependent instruction. When the target instruction issues to the execution unit, a bit is set in a predetermined portion of the queue entry containing the dependent instruction. The portion of the queue entry is associated with the source operand depending on the issuing instruction.
    Type: Application
    Filed: July 11, 2001
    Publication date: November 15, 2001
    Inventors: Hung Qui Le, Hoichi Cheong
  • Patent number: 6311267
    Abstract: A target register of an instruction is assigned a rename register in response to the instruction being issued. That is, the target register is renamed at issue time, not at dispatch time. To handle a new deadlock issue this gives rise to, rename register allocation/deallocation logic, according to the present invention, includes logic for allocating and deallocating two sets of rename registers, one set from a regular rename buffer and another set from an overflow rename buffer. According to this allocation/deallocation logic, if the oldest dispatched, noncompleted instruction is ready for assignment of a rename register and the regular rename buffer is full, then a rename register is assigned from the overflow rename buffer to this instruction.
    Type: Grant
    Filed: November 20, 1998
    Date of Patent: October 30, 2001
    Assignee: International Business Machines Corporation
    Inventors: Dung Quoc Nguyen, Hung Qui Le
  • Patent number: 6308260
    Abstract: An apparatus and method for self-initiated instruction issuing are implemented. In a central processing unit (CPU) having a pipelined architecture, instructions are queued for issuing to the execution unit which will execute them. Instructions are issued each cycle, and an instruction should be selectable for issuing as soon as its source operands are available. An instruction in the issue queue having source operands depending on other, target, instructions to determine their value are signaled to the target instruction by a link mask in the queue entry corresponding to the target instruction. A bit in the link mask identifies the queue entry corresponding to the dependent instruction. When the target instruction issues to the execution unit, a bit is set in a predetermined portion of the queue entry containing the dependent instruction. The portion of the queue entry is associated with the source operand depending on the issuing instruction.
    Type: Grant
    Filed: September 17, 1998
    Date of Patent: October 23, 2001
    Assignee: International Business Machines Corporation
    Inventors: Hung Qui Le, Hoichi Cheong
  • Patent number: 6298436
    Abstract: A method and system for atomic memory accesses in a processor system, wherein the processor system is able to issue and execute multiple instructions out of order with respect to a particular program order. A first reservation instruction is speculatively issued to an execution unit of the processor system. Upon issuance, instructions queued for the execution unit which occur after the first reservation instruction in the program order are flushed from the execution unit, in response to detecting any previously executed reservation instructions in the execution unit which occur after the first reservation instruction in the program order.
    Type: Grant
    Filed: June 8, 1999
    Date of Patent: October 2, 2001
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Hung Qui Le, Larry Edward Thatcher, David James Shippy
  • Patent number: 6298435
    Abstract: A method and apparatus for increasing instruction level parallelism using a buffer pointer assignment scheme is implemented whereby rename buffers are assigned during dispatch even though the physical rename registers may not yet be available. These virtual rename buffers are assigned by a buffer pointer assignment table. A virtual bit implemented along with each of the physical rename registers is flipped when an instruction corresponding to the entry stored within a particular physical rename register is completed and the result written to the architected register. Thus, at dispatch time, rename registers are assigned as if there were more rename buffers than there existed physical rename registers.
    Type: Grant
    Filed: April 16, 1996
    Date of Patent: October 2, 2001
    Assignee: International Business Machines Corporation
    Inventors: Kin Shing Chan, Hung Qui Le, Dung Quoc Nguyen
  • Patent number: 6289428
    Abstract: A superscalar processor and method are disclosed for efficiently recovering from misaligned data addresses. The processor includes a memory device partitioned into a plurality of addressable memory units. Each of the plurality of addressable memory units has a width of a first plurality of bytes. A determination is made regarding whether a data address included within a memory access instruction is misaligned. The data address is misaligned if it includes a first data segment located in a first addressable memory unit and a second data segment located in a second addressable memory unit where the first and second data segments are separated by an addressable memory unit boundary. In response to a determination that the data address is misaligned, a first internal instruction is executed which accesses the first memory unit and obtains the first data segment. A second internal instruction is executed which accesses the second memory unit and obtains the second data segment.
    Type: Grant
    Filed: August 3, 1999
    Date of Patent: September 11, 2001
    Assignee: International Business Machines Corporation
    Inventors: John Edward Derrick, Hung Qui Le, David James Shippy, Larry Edward Thatcher
  • Patent number: 6286094
    Abstract: A method and system for determining if a dispatch slot is required in a processing system is disclosed. The method and system comprises a plurality of predecode bits to provide routing information and utilizing the predecode bits to allow instructions to be directed to specific decode slots and to obey dispatch constraints without examining the instructions. The purpose of this precode encoding system scheme is to provide the most information possible about the grouping of the instructions without increasing the complexity of the logic which uses this information for decode and group formation. In a preferred embodiment, pre-decode bits for each instruction that may be issued in parallel are analyzed and the multiplexer controls are retained for each of the possible starting positions within the stream of instructions.
    Type: Grant
    Filed: March 5, 1999
    Date of Patent: September 4, 2001
    Assignee: International Business Machines Corporation
    Inventors: John Edward Derrick, Lee Evan Eisen, Hung Qui Le, Brian R. Konigsburg
  • Patent number: 6237081
    Abstract: A processor (100) includes an issue unit (125) having an issue queue (144) for issuing instructions to an execution unit (140). The execution unit (140) may accept and execute the instruction or produce a reject signal. After each instruction is issued, the issue queue (144) retains the issued instruction for a critical period. After the critical period, the issue queue (144) may drop the issued instruction unless the execution unit (140) has generated a reject signal. If the execution unit (140) has generated a reject signal, the instruction is eventually marked in the issue queue (144) as being available to be reissued. The length of time that the rejected instruction is held from reissue may be modified depending upon the nature of the rejection by the execution unit (140). Also, the execution unit (140) may conduct corrective actions in response to certain reject conditions so that the instruction may be fully executed upon reissue.
    Type: Grant
    Filed: December 16, 1998
    Date of Patent: May 22, 2001
    Assignee: International Business Machines Corporation
    Inventors: Hung Qui Le, Larry Edward Thatcher, Bruce Joseph Ronchetti, David James Shippy
  • Patent number: 6098167
    Abstract: In maintaining the state of a processor, a dispatched instruction is given an identification tag and an associated entry in an architectural register table. The identification tag of the dispatched instruction is written to the entry in the architectural register table, if the identification tag of the dispatched instruction is more recent than a prior instruction identification tag stored in the entry.
    Type: Grant
    Filed: March 31, 1997
    Date of Patent: August 1, 2000
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Hung Qui Le, John Stephen Muhich, Steven Wayne White
  • 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: 5963723
    Abstract: In a superscalar data processing system, instructions, which are dependent upon each other, are paired for dispatch to a plurality of execution units. Pairing results in instructions being paired that may not necessarily be located at contiguous addresses. Pairing may be performed by comparing general purpose register source pointers and general purpose register target pointers of the various instructions. Pairing may also be accomplished by comparing target identification numbers of source operands with target identification numbers of target instructions.
    Type: Grant
    Filed: March 26, 1997
    Date of Patent: October 5, 1999
    Assignee: International Business Machines Corporation
    Inventor: Hung Qui Le
  • 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