Patents by Inventor Soummya Mallick

Soummya Mallick 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: 5870616
    Abstract: While a set-associative cache memory operates in a first power mode, information is stored in up to N number of ways of the cache memory, where N is an integer number and N>1. While the cache memory operates in a second power mode, the information is stored in up to M number of ways of the cache memory, where M is an integer number and 0<M<N.
    Type: Grant
    Filed: October 4, 1996
    Date of Patent: February 9, 1999
    Assignee: International Business Machines Corporation
    Inventors: Albert John Loper, Soummya Mallick
  • Patent number: 5867684
    Abstract: A method and device of executing a load multiple instruction in a superscaler microprocessor is provided. The method comprises the steps of dispatching a load multiple instruction to a load/store unit, wherein the load/store unit begins execution of a dispatched load multiple instruction, and wherein the load multiple instruction loads data from memory into a plurality of registers. The method further includes the step of maintaining a table that lists each register of the plurality of registers and that indicates when data has been loaded into each register by the executing load multiple instruction. The method concludes by executing an instruction that is dependent upon source operand data loaded by the load multiple instruction into a register of the plurality of registers indicated by the instruction as a source register, prior to the load multiple instruction completing its execution, when the table indicates the source operand data has been loaded into the source register.
    Type: Grant
    Filed: June 11, 1997
    Date of Patent: February 2, 1999
    Assignee: International Business Machines Corporation
    Inventors: James A. Kahle, Albert J. Loper, Soummya Mallick, Aubrey D. Ogden
  • Patent number: 5850563
    Abstract: A method and apparatus in a superscalar microprocessor for early completion of floating-point instructions prior to a previous load/store multiple instruction is provided. The microprocessor's load/store execution unit loads or stores data to or from the general purpose registers, and the microprocessor's dispatch unit dispatches instructions to a plurality of execution units, including the load/store execution unit and the floating point execution unit.
    Type: Grant
    Filed: September 11, 1995
    Date of Patent: December 15, 1998
    Assignee: International Business Machines Corporation
    Inventors: Albert J. Loper, Soummya Mallick
  • Patent number: 5812812
    Abstract: A method and system of implementing an early data dependency resolution mechanism for a high-performance data processing system that utilizes out-of-order instruction issue is disclosed. In accordance with the present disclosure, an instruction cache and a register-dependency cache are provided. The instruction cache has multiple cache lines, and each of these cache lines is capable of storing multiple instructions. The register-dependency cache contains an identical number of cache lines as in the instruction cache, and each of the cache lines within the register-dependency cache is capable of storing an identical number of register-dependency units as instructions in each of the cache lines within the instruction cache. In a single processor cycle, a group of register-dependency units are fetched from the register-dependency cache. All register-dependency units that have no forward data dependency within the group of register-dependency units are identified utilizing an Instruction Dispatch Unit.
    Type: Grant
    Filed: November 4, 1996
    Date of Patent: September 22, 1998
    Assignees: International Business Machines Corporation, Motorola, Inc.
    Inventors: Muhammad Nural Afsar, Romesh Mangho Jessani, Soummya Mallick, Robert Greg McDonald, Mukesh Sharma
  • 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: 5809323
    Abstract: A superscalar processor and method for executing fixed-point instructions within a superscalar processor are disclosed. The superscalar processor has a memory and multiple execution units, including a fixed point execution unit (FXU) and a non-fixed point execution unit (non-FXU). According to the present invention, a set of instructions to be executed are fetched from among a number of instructions stored within memory. A determination is then made if n instructions, the maximum number possible, can be dispatched to the multiple execution units during a first processor cycle if fixed point arithmetic and logical instructions are dispatched only to the FXU. If so, n instructions are dispatched to the multiple execution units for execution.
    Type: Grant
    Filed: September 19, 1995
    Date of Patent: September 15, 1998
    Assignee: International Business Machines Corporation
    Inventors: Lee E. Eisen, Robert T. Golla, Soummya Mallick, Sung-Ho Park, Rajesh B. Patel, Michael Putrino
  • Patent number: 5805916
    Abstract: The present invention relates to a multiple stage execution unit for executing instructions in a microprocessor having a plurality of rename registers for storing execution results, an instruction cache for storing instructions, each instruction being associated with a rename register, a sequencer unit for providing an instruction to the execution unit, and a data cache for providing data to the execution unit.
    Type: Grant
    Filed: November 27, 1996
    Date of Patent: September 8, 1998
    Assignees: International Business Machines Corporation, Motorola, Inc.
    Inventors: Soummya Mallick, Michael Putrino, Romesh Mangho Jessani
  • Patent number: 5805907
    Abstract: While dispatch circuitry operates in a first power mode, per cycle of the dispatch circuitry, up to N number of instructions are dispatched to execution circuitry for execution, where N is an integer number and N>1. While the dispatch circuitry operates in a second power mode, per cycle of the dispatch circuitry, up to M number of instructions are dispatched to the execution circuitry for execution, where M is an integer number and 0<M<N.
    Type: Grant
    Filed: October 4, 1996
    Date of Patent: September 8, 1998
    Assignee: International Business Machines Corporation
    Inventors: Albert John Loper, Soummya Mallick
  • Patent number: 5802556
    Abstract: In a microprocessor having a plurality of execution units, rename register, architectural registers, and a cache for storing blocks of data, each block having a plurality of words, a method for aligning bytes stored in separate words. In one version, the method includes the steps of reading a first word of data from the cache; rotating the first word to align a first byte with respect to a first byte of a rename register; storing the first aligned byte in the rename register; reading a second word from the cache; rotating the second word to align a second byte with respect to a second byte of the rename register; and storing the second aligned byte in the rename register.
    Type: Grant
    Filed: July 16, 1996
    Date of Patent: September 1, 1998
    Assignee: International Business Machines Corporation
    Inventors: Rajesh Bhikhubhai Patel, Soummya Mallick
  • Patent number: 5802386
    Abstract: Instructions are efficiently scheduled for execution based on a stored identification of the first processor cycle when a result of a previous instruction required as an operand for the instruction to be scheduled will become available. Examination of stored processor cycle identifications for the operands of an instruction reveals the earliest processor cycle when the instruction may be executed. By selecting the greater of the largest stored processor cycle identification for an operand of the instruction and the earliest available processor cycle for an execution unit required to execute the instruction, the instruction is efficiently scheduled for the earliest possible execution. Latency of previous instructions in generating an operand of the instruction being scheduled is automatically accommodated.
    Type: Grant
    Filed: November 19, 1996
    Date of Patent: September 1, 1998
    Assignee: International Business Machines Corporation
    Inventors: James A. Kahle, Soummya Mallick, Robert G. McDonald
  • Patent number: 5802340
    Abstract: A method for speculatively performing store instructions in a parallel processing computer system, the computer system including a completion buffer unit, includes comparing statuses between a first store instruction and at least one second instruction in the completion buffer unit, the at least one second instruction scheduled for completion before the first store instruction, and speculatively completing the first store instruction before the at least one second instruction when the statuses of the first store instruction do not conflict with the at least one second instruction.
    Type: Grant
    Filed: August 22, 1995
    Date of Patent: September 1, 1998
    Assignee: International Business Machines Corporation
    Inventors: Soummya Mallick, Rajesh B. Patel
  • Patent number: 5802572
    Abstract: A write-back cache memory and method for maintaining coherency within a write-back cache memory are disclosed. The write-back cache memory includes a number of cache lines for storing data associated with addresses within an associated memory. Each of the cache lines comprises multiple byte sets. The write-back cache memory also includes coherency indicia for identifying each byte set among the multiple byte sets within a cache line which contains data that differs from data stored in corresponding addresses within the associated memory. The write-back cache memory further includes cache control logic, which, upon replacement of a particular cache line within the write-back cache memory, writes only identified byte sets to the associated memory, such that memory accesses and bus utilization are minimized.
    Type: Grant
    Filed: March 15, 1996
    Date of Patent: September 1, 1998
    Assignee: International Business Machines Corporation
    Inventors: Rajesh Bhikhubhai Patel, Soummya Mallick
  • Patent number: 5787479
    Abstract: A method and system for preventing information corruption in a cache memory due to a bus error which occurs during a cache linefill operation is disclosed. The cache memory includes multiple cache lines, and a tag is associated with each cache line. In accordance with the present disclosure, a tag associated with a cache line is validated before a linefill operation is performed on the cache line. In response to an occurrence of a bus error during the linefill operation, the tag associated with the cache line for which a linefill operation is performed, is invalidated such that the information within the cache line remains valid during a linefill operation unless a bus error occurs.
    Type: Grant
    Filed: April 29, 1996
    Date of Patent: July 28, 1998
    Assignees: International Business Machines Corporation, Motorola, Inc.
    Inventors: Romesh Mangho Jessani, Belliappa Manavattira Kuttanna, Soummya Mallick, Rajesh Bhikhubhai Patel
  • Patent number: 5764940
    Abstract: A processor and method of executing instructions within a processor are disclosed, which permit both a branch instruction and a target instruction of the branch instruction to be executed in response to a single instruction fetch. In accordance with an illustrative embodiment, the processor, which has an associated memory, simultaneously fetches a plurality of instructions from the memory. Branch instructions among the plurality of instructions are then detected. In response to a detection of a branch instruction among the plurality of instructions, a determination is made whether a target instruction to be executed in response to execution of the branch instruction is one of the plurality of instructions. In response to a determination that the target instruction is one of the plurality of instructions, the processor executes the target instruction without making an additional instruction fetch.
    Type: Grant
    Filed: November 27, 1996
    Date of Patent: June 9, 1998
    Assignees: International Business Machines Corporation, Motorola, Inc.
    Inventors: Soummya Mallick, Rajesh Bhikhubhai Patel, Romesh Mangho Jessani
  • 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: 5765215
    Abstract: A method and system are disclosed for managing the deallocation of a rename buffer allocated to an update instruction within a processor. The processor has a number of rename buffers for temporarily storing information associated with instructions executed by the processor, a number of registers, and a memory. According to the present invention, an update instruction is dispatched to the processor for execution. A particular rename buffer is then allocated to the update instruction. An effective address is generated for the update instruction, wherein the effective address specifies an address within the memory to be accessed by the update instruction. Next, the effective address is stored within the particular rename buffer. Prior to completion of the access to the effective address within memory, the effective address is transferred from the particular rename buffer to a particular one of the number of registers.
    Type: Grant
    Filed: August 25, 1995
    Date of Patent: June 9, 1998
    Assignees: International Business Machines Corporation, Motorola, Inc.
    Inventors: Muhammad Afsar, Soummya Mallick, Rajesh B. Patel
  • Patent number: 5765191
    Abstract: A method for implementing a four-way least recently used cache line replacement scheme in a four-way cache memory is disclosed. The cache memory includes multiple cache lines, and each cache line includes four congruence sets. In accordance with the present disclosure, a 5-bit Least Recently Used (LRU) field is associated with each of the cache lines within the cache memory. For a particular cache line, a set number of a least recently used set among the four congruence sets is stored in any two bits of the LRU field associated with that cache line. Next, a set number of the second least recently used set among the four congruence sets is stored in another two bits of the same LRU field associated with the same cache line. Finally, a last bit of the 5-bit LRU field is set to a specific state in response to a determination of which one of the remaining two sets is the second most recently used set.
    Type: Grant
    Filed: April 29, 1996
    Date of Patent: June 9, 1998
    Assignee: International Business Machines Corporation
    Inventors: Albert John Loper, Soummya Mallick, Rajesh Bhikhubhai Patel, Michael Putrino
  • 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: 5758117
    Abstract: A method for reducing dispatch stalls includes tracking allocation and deallocation of real rename buffers for instructions dispatched by a dispatch unit, and providing at least one virtual rename buffer for allocation of an instruction when the real rename buffers have been allocated. The method further includes tagging the instruction allocated to the at least one virtual rename buffer with a rename buffer busy signal, wherein the rename buffer busy signal indicates to an execution unit that the instruction cannot be completed. An efficient system for utilization of rename buffers in a superscalar processor includes a plurality of rename buffers, a dispatch unit coupled to the plurality of rename buffers, and an allocation/deallocation table coupled to the dispatch unit and the plurality of rename buffers. Further, the table includes a plurality of real rename buffer slots and at least one virtual rename buffer slot.
    Type: Grant
    Filed: December 14, 1995
    Date of Patent: May 26, 1998
    Assignee: International Business Machines Corporation
    Inventors: Rajesh Bhikhubhai Patel, Soummya Mallick
  • 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