Patents by Inventor Dung Quoc Nguyen

Dung Quoc Nguyen 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: 7400548
    Abstract: Reading a plurality of consecutive entries and writing a plurality of consecutive entries with only one read address and one write address using a 2Read/2Write register file is provided. In one exemplary embodiment, a 64 entry register file array is partitioned into four sub-arrays. Each sub-array contains sixteen entries having one or more 2Read/2Write SRAM cells. A mechanism to write the consecutive entries by only having a 4 to 16 decode of one address is also provided. In addition, a mechanism for reading data from the register file array using a starting read word address and two read word lines generated based on the starting read word address is provided. The two read word lines are used to access the two read ports of the entries in the sub-arrays.
    Type: Grant
    Filed: February 9, 2005
    Date of Patent: July 15, 2008
    Assignee: International Business Machines Corporation
    Inventors: Sam Gat-Shang Chu, Maureen Anne Delaney, Saiful Islam, Dung Quoc Nguyen, Jafar Nahidi
  • Patent number: 7302553
    Abstract: An apparatus, system and method for quickly determining an oldest instruction in a non-moving instruction queue of a processor are provided. Particularly, instructions are stored, one at a time at a clock cycle, in the non-moving queue. At every clock cycle, a present status of the instructions in the queue is recorded. Using the present status of the instructions in the queue in conjunction with previously recorded statuses of the instructions, the oldest instruction in the queue is determined. The status of the instructions in the queue includes whether or not the instruction has been issued for execution as well as whether or not it is known that the issued instruction has been accepted for execution.
    Type: Grant
    Filed: January 23, 2003
    Date of Patent: November 27, 2007
    Assignee: International Business Machines Corporation
    Inventors: Sam Gat-Shang Chu, Hung Qui Le, Dung Quoc Nguyen
  • Patent number: 7290261
    Abstract: A circuit and method provide rename register reallocation for simultaneous multi-threaded (SMT) processors that redistributes rename (mapped) resources between one thread during single-threaded (ST) execution and multiple threads during multi-threaded execution. The processor receives an instruction specifying a transition from a single-threaded to a multi-threaded mode or vice-versa and halts execution of all threads executing on the processor. The internal control logic then signals the resources to reallocate the resources. Rename resources are reallocated by directing an action at the rename mapper. When switching from SMT to ST mode, the mapper is directed to drop entries for the dying thread, but on a switch from ST to SMT mode, “dummy” instruction group dispatch indications are sent to the mapper that indicate use of all architected registers for each thread.
    Type: Grant
    Filed: April 24, 2003
    Date of Patent: October 30, 2007
    Assignee: International Business Machines Corporation
    Inventors: William Elton Burky, Bjorn Peter Christensen, Dung Quoc Nguyen, David A. Schroter, Albert Thomas Williams
  • Patent number: 7254697
    Abstract: Dynamic reformatting of a dispatch group by selective activation of inactive Start bits of instructions within the dispatch group at the time the instructions are read from the IBUF. The number of instructions in the reformatted dispatch groups can vary from as few as one instruction per group to a maximum number of instructions read from the IBUF per cycle. The reformatted dispatch groupings can be terminated after a single cycle, or they can remain reformatted for as many cycles as desired, depending upon need.
    Type: Grant
    Filed: February 11, 2005
    Date of Patent: August 7, 2007
    Assignee: International Business Machines Corporation
    Inventors: James Wilson Bishop, Hung Qui Le, Jafar Nahidi, Dung Quoc Nguyen, Brian William Thompto
  • Patent number: 7243209
    Abstract: An apparatus and method for speeding up access time of a large register file with wrap capability are provided. With the apparatus and method, the 2:1 multiplexers in conventional register file systems are eliminated from the circuit configuration and instead, additional primary multiplexers are provided for half of the addresses, e.g., the first four sub-arrays of the register file for which the wrap capability is needed. These additional primary multiplexers receive the read address and a shifted read word line signal. The other primary multiplexer receives the read address and an unshifted read word line signal. The outputs from the shifted and non-shifted primary multiplexers are provided to a set of secondary multiplexers which multiplex bits from the outputs of the shifted and non-shifted primary multiplexers to generate the read addresses to be used by the multiple read/write register file system.
    Type: Grant
    Filed: January 27, 2005
    Date of Patent: July 10, 2007
    Assignee: International Business Machines Corporation
    Inventors: Sam Gat-Shang Chu, Maureen Anne Delaney, Saiful Islam, Jafar Nahidi, Dung Quoc Nguyen
  • Patent number: 7237094
    Abstract: A more efficient method of handling instructions in a computer processor, by associating resource fields with respective program instructions wherein the resource fields indicate which of the processor hardware resources are required to carry out the program instructions, calculating resource requirements for merging two or more program instructions based on their resource fields, and determining resource availability for simultaneously executing the merged program instructions based on the calculated resource requirements. Resource vectors indicative of the required resource may be encoded into the resource fields, and the resource fields decoded at a later stage to derive the resource vectors. The resource fields can be stored in the instruction cache associated with the respective program instructions. The processor may operate in a simultaneous multithreading mode with different program instructions being part of different hardware threads.
    Type: Grant
    Filed: October 14, 2004
    Date of Patent: June 26, 2007
    Assignee: International Business Machines Corporation
    Inventors: Brian William Curran, Brian R. Konigsburg, Hung Qui Le, David Arnold Luick, Dung Quoc Nguyen
  • Patent number: 7188233
    Abstract: A system for performing floating point arithmetic operations including a plurality of stages making up a pipeline, the stages including a first stage and a last stage. The system also includes a register file adapted for receiving a store instruction for input to the pipeline, where the data associated with the store instruction is dependent on a previous operation still in the pipeline. The system further includes a store register adapted for outputting the data associated with the store instruction to memory and a control unit having instructions. The instructions are directed to inputting the store instruction into the pipeline and to providing a path for forwarding the data associated with the store instruction from the last stage in the pipeline to the store register for use by the store instruction if the previous operation immediately precedes the store operation in the pipeline and if there is a data type match between the store instruction and the previous operation.
    Type: Grant
    Filed: February 9, 2005
    Date of Patent: March 6, 2007
    Assignee: International Business Machines Corporation
    Inventors: Juergen Haess, Michael Kroener, Dung Quoc Nguyen, Lawrence J. Powell, Jr., Eric M. Schwarz, Son Dao-Trong, Raymond C. Yeung
  • Patent number: 7000047
    Abstract: A method and multithreaded processor for handling livelocks in a simultaneous multithreaded processor. A number of instructions for a thread in a queue may be counted. A counter in the queue may be incremented if the number of instructions for the thread in the queue in a previous clock cycle is equal to the number of instructions for the thread in the queue in a current clock cycle. If the value of the counter equals a threshold value, then a livelock condition may be detected. Further, if the value of the counter equals a threshold value, a recovery action may be activated to handle the livelock condition detected. The recovery action may include blocking the instructions associated with a thread causing the livelock condition from being executed thereby ensuring that the locked thread makes forward progress.
    Type: Grant
    Filed: April 23, 2003
    Date of Patent: February 14, 2006
    Assignee: International Business Machines Corporation
    Inventors: Dung Quoc Nguyen, Raymond Cheung Yeung
  • Patent number: 6826678
    Abstract: A method, processor architecture, computer program product, and data processing system for determining when an instruction in a pipelined processor should be completed is provided. As each instruction is issued to an execution unit, an entry for that instruction is placed within a “finish pipe,” which consists of a series of consecutively numbered stages. Each clock cycle, the entries in the finish pipe advance one stage. When an entry has reached the stage corresponding to the latency of its associated execution unit, it becomes mature. Each clock cycle, the finish pipe is scanned to find the entry having the highest-numbered stage of any entry in the finish pipe. If that entry is mature, it is removed from the finish pipe and the instructions associated with that entry is allowed to complete. If not, the entry simply advances along with the other entries and the pipe rescanned in the next cycle.
    Type: Grant
    Filed: April 11, 2002
    Date of Patent: November 30, 2004
    Assignee: International Business Machines Corporation
    Inventors: Hung Qui Le, Dung Quoc Nguyen
  • Publication number: 20040216120
    Abstract: A method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor provides a mechanism for redistributing rename (mapped) resources between one thread during single-threaded (ST) execution and multiple threads during multi-threaded execution. The processor receives an instruction specifying a transition from a single-threaded to a multi-threaded mode or vice-versa and halts execution of all threads executing on the processor. The internal control logic then signals the resources to reallocate the resources. Rename resources are reallocated by directing an action at the rename mapper.
    Type: Application
    Filed: April 24, 2003
    Publication date: October 28, 2004
    Applicant: International Business Machines Corporation
    Inventors: William Elton Burky, Bjorn Peter Christensen, Dung Quoc Nguyen, David A. Schroter, Albert Thomas Williams
  • Publication number: 20040215933
    Abstract: A method and multithreaded processor for handling livelocks in a simultaneous multithreaded processor. A number of instructions for a thread in a queue may be counted. A counter in the queue may be incremented if the number of instructions for the thread in the queue in a previous clock cycle is equal to the number of instructions for the thread in the queue in a current clock cycle. If the value of the counter equals a threshold value, then a livelock condition may be detected. Further, if the value of the counter equals a threshold value, a recovery action may be activated to handle the livelock condition detected. The recovery action may include blocking the instructions associated with a thread causing the livelock condition from being executed thereby ensuring that the locked thread makes forward progress.
    Type: Application
    Filed: April 23, 2003
    Publication date: October 28, 2004
    Applicant: International Business Machines Corporation
    Inventors: Dung Quoc Nguyen, Raymond Cheung Yeung
  • Publication number: 20040148493
    Abstract: An apparatus, system and method for quickly determining an oldest instruction in a non-moving instruction queue of a processor are provided. Particularly, instructions are stored, one at a time at a clock cycle, in the non-moving queue. At every clock cycle, a present status of the instructions in the queue is recorded. Using the present status of the instructions in the queue in conjunction with previously recorded statuses of the instructions, the oldest instruction in the queue is determined. The status of the instructions in the queue includes whether or not the instruction has been issued for execution as well as whether or not it is known that the issued instruction has been accepted for execution.
    Type: Application
    Filed: January 23, 2003
    Publication date: July 29, 2004
    Applicant: International Business Machines Corporation
    Inventors: Sam Gat-Shang Chu, Hung Qui Le, Dung Quoc Nguyen
  • Publication number: 20040017848
    Abstract: An apparatus and method are described that allows for improved wander jitter reduction in communication devices and associated communication links, in particular on HDSL communication devices and links. The improved device apparatus and method detects the current data rate offset of the HDSL data rate being utilized and the data rate of the datastream being transmitted through the HDSL communication link and allows for the transmitting HDSL communication device to adjust the HDSL data rate to avoid high wander jitter “sweet spots”. The improved device apparatus and method also allows for the profiling of communication devices for their specific high wander jitter sweet spot maximum points by sweeping the input data rate being transmitted at differing HDSL data rates.
    Type: Application
    Filed: July 25, 2002
    Publication date: January 29, 2004
    Applicant: ADC DSL Systems, Inc.
    Inventors: Harrison Doan, Dung Quoc Nguyen, Ramya Niroshana Dissanayake
  • Publication number: 20040017822
    Abstract: An apparatus and method are described that allows for improved wander jitter reduction in communication devices and associated communication links, in particular on HDSL communication devices and links. The improved device apparatus and method detects the current data rate offset of the HDSL data rate being utilized and the data rate of the datastream being transmitted through the HDSL communication link and allows for the transmitting HDSL communication device to adjust the HDSL data rate to promote instantaneous data rate offsets that are close to wander jitter minimum points. The improved device apparatus and method also allows for the characterization of communication devices for their specific wander jitter low activity points by sweeping the input data rate being transmitted at differing HDSL data rates.
    Type: Application
    Filed: July 25, 2002
    Publication date: January 29, 2004
    Applicant: ADC DSL Systems, Inc.
    Inventors: Harrison Doan, Dung Quoc Nguyen, Ramya Niroshana Dissanayake
  • Publication number: 20030196074
    Abstract: A method, processor architecture, computer program product, and data processing system for determining when an instruction in a pipelined processor should be completed is provided. As each instruction is issued to an execution unit, an entry for that instruction is placed within a “finish pipe,” which consists of a series of consecutively numbered stages. Each clock cycle, the entries in the finish pipe advance one stage. When an entry has reached the stage corresponding to the latency of its associated execution unit, it becomes mature.
    Type: Application
    Filed: April 11, 2002
    Publication date: October 16, 2003
    Applicant: International Business Machines Corporation
    Inventors: Hung Qui Le, Dung Quoc Nguyen
  • Publication number: 20030182540
    Abstract: A method of handling instructions in a load/store unit of a processor by dispatching instructions to the load/store unit, filling a portion of physical entries of a reorder queue with tags corresponding to the instructions while limiting usage of the physical entries of the reorder queue to less than a total number of physical entries, and further dispatching one or more additional instructions to the load/store unit while the filled physical entries in the reorder queue are still full, i.e., still contain tags for uncompleted instructions. The limiting of usage of the physical entries may be selectively applied. Multiple logical instruction tags are assigned in a count greater than the number of physical entries in the reorder queue. Of the multiple logical instruction tags assigned to a single one of the physical entries in the reorder queue, only the tag for the oldest instruction is allowed to execute.
    Type: Application
    Filed: January 30, 2003
    Publication date: September 25, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William Elton Burky, Dung Quoc Nguyen, Balaram Sinharoy, Albert Thomas Williams
  • Patent number: 6535973
    Abstract: A method and system for speculatively issuing instructions which are dependent upon results from execution of other instructions. Instructions are speculatively issued, dependent upon a result from execution of a primary instruction, wherein the speculatively issued instructions are issued after execution of the primary instruction. N clock cycles are tracked after execution of the primary instruction, wherein the result from execution of said primary instruction is expected within n clock cycles. Execution of any speculatively issued instructions which are dependent upon the primary instruction is cancelled if the result is not returned from execution of the primary instruction within n clock cycles, such that for primary instructions for which the result is returned within the expected n clock cycles any speculatively issued instructions dependent upon said result are executed with increased efficiency.
    Type: Grant
    Filed: August 26, 1999
    Date of Patent: March 18, 2003
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Maureen A. Delaney, Hung Qui Le, Robert McDonald, Dung Quoc Nguyen, David Wayne Victor
  • Patent number: 6463524
    Abstract: A superscalar processor and method are disclosed for efficiently executing a store instruction. The store instruction is stored in an issue queue within the processor. A first part of the store instruction is issued from the issue queue to a first one of different execution units in response to a first operand becoming available. A second part of the store instruction is issued from the issue queue to a second one of the different execution units in response to a second operand becoming available. The store instruction is completed in response to executing the first part of the store instruction by the first one of the execution units and the second part of the store instruction by the second one of the execution units.
    Type: Grant
    Filed: August 26, 1999
    Date of Patent: October 8, 2002
    Assignee: International Business Machines Corporation
    Inventors: Maureen Delaney, Hung Qui Le, Dung Quoc Nguyen, Robert McDonald, David W. Victor
  • Publication number: 20020124157
    Abstract: An operand buffer is provided, each entry of which is allocated to an instruction in the issue queue. Thus, the operand buffer has the same number of entries as the issue queue. A register file is implemented for architected registers and temporary data. Data in the operand buffers are written from the register file at the time entries are allocated. When an instruction executes, there is no need for the corresponding entry in the operand buffer and the entry is de-allocated. The operand buffer has fewer entries than the register file. Thus, an operand access stage requires a read of the operand buffer rather than the register file and the operand buffer can be read in one cycle.
    Type: Application
    Filed: March 1, 2001
    Publication date: September 5, 2002
    Applicant: International Business Machines Corporation
    Inventors: Hung Qui Le, Dung Quoc Nguyen
  • 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