Patents Represented by Attorney, Agent or Law Firm Anthony V. England
  • Patent number: 6460133
    Abstract: A multiprocessor computer system including a set of processors where each processor in the set includes an execution unit for issuing operations and a processor queue suitable for queuing previously issued and still pending operations. The multiprocessor further includes means for forwarding operations issued by the processor to the processor queue and to an operation block queue of a memory subsystem that is connected to the multiprocessor. The depth of (i.e., the number of entries in) the operation block queue matches the depth of the processor queue. The processor queue, when full, inhibits the processor from issuing additional operations. In this manner, an operation issued by the processor is guaranteed an available entry in the operation block queue of the memory subsystem thereby eliminating the need for operation retry circuitry and protocols such as handshaking.
    Type: Grant
    Filed: May 20, 1999
    Date of Patent: October 1, 2002
    Assignee: International Business Machines Corporation
    Inventors: Jose Melanio Nunez, Thomas Albert Petersen
  • Patent number: 6430658
    Abstract: A multi processor computer system including a set of processors connected to a memory subsystem via a local interconnect. The memory subsystem includes a load miss block suitable for queuing a first processor load operation that misses in an L1 cache of the first processor and a store miss block suitable for queuing store type operations. The subsystem further includes an arbiter suitable for receiving queued operations from the load and store miss blocks. The arbiter is further configured for selecting one of the received operations and initiating the selected operation. The subsystem further includes means for snooping the address associated with the first processor load operation when the first processor load operation is selected and initiated by the arbiter. The subsystem further includes a snoop control block adapted to receive a snoop response from a second processor associated with the memory subsystem.
    Type: Grant
    Filed: May 20, 1999
    Date of Patent: August 6, 2002
    Assignee: International Business Machines Corporation
    Inventors: Jose Melanio Nunez, Thomas Albert Petersen
  • Patent number: 6389516
    Abstract: A computer system including a first multiprocessor system connected to a system bus and adapted to forward first and second load requests to the system bus where the first load request precedes the second load request. The system further includes a second multiprocessor system connected to the system bus. The second multiprocessor system includes a memory subsystem comprised of first and second cache levels arranged such that an operation that retrieves data from the first cache level is arbitrated through the second cache level before the data becomes available to the system bus. A snoop control state machine of the second multiprocessor system is adapted to stall arbitration of a second operation initiated in the second cache level responsive to the second load request until a first operation initiated in the first cache level responsive to the first load request has been arbitrated through the second cache level.
    Type: Grant
    Filed: May 20, 1999
    Date of Patent: May 14, 2002
    Assignees: International Business Machines Corporation, Motorola, Inc.
    Inventors: Jose Melanio Nunez, Robert Podnar, Marie Jeannette Sullivan
  • Patent number: 6332179
    Abstract: A preferred embodiment of the present invention includes a memory caching system that uses a method for allocating blocks of memory by: determining if the contents at a selected memory address are stored in the cache by comparing the selected memory address to the addresses stored in the directory, if the selected memory address is not in the cache, allocating a place in the directory for selected address, wherein, if a place in the directory for an address having the same cache line as the selected memory address is in the process of allocating or has been previously allocated, the selected memory address is allocated to that location of the pending or previous allocation.
    Type: Grant
    Filed: August 19, 1999
    Date of Patent: December 18, 2001
    Assignee: International Business Machines Corporation
    Inventors: Alexander E. Okpisz, James N. Hardage, Jr.
  • Patent number: 6321303
    Abstract: A computer and its corresponding cache system includes a cache memory, a buffer unit, and a bus transaction queue. The buffer unit includes a plurality of entries suitable for temporarily storing data, address, and attribute information of operations generated by the CPU. A first operation initiated by the load store unit buffers an operation in a first entry of the buffer unit, which initiates a first transaction to be queued in a first entry of the bus transaction queue where the first transaction in the bus transaction queue points to the first entry in the buffer unit. Preferably, the buffer unit is configured to modify the first transaction from a first transaction type to a second transaction type prior to execution in response to an event that alters the data requirements of the queued transaction. Additional utility is achieved by merging multiple store operation that miss to a common cache line into a single entry.
    Type: Grant
    Filed: March 18, 1999
    Date of Patent: November 20, 2001
    Assignee: International Business Machines Corporation
    Inventors: Thomas Alan Hoy, Belliappa Manavattira Kuttanna, Rajesh Patel, Michael Dean Snyder
  • Patent number: 6311254
    Abstract: A cache memory system including a cache memory suitable for coupling to a load/store unit of a CPU, a buffer unit comprised of a plurality of entries each including a data buffer and a corresponding address tag. The system is configured to initiate a data fetch transaction in response to a first store operation that misses in both the cache memory and the buffer unit, to allocate a first entry in the buffer unit, and to write the first store operation's data in the first entry's data buffer. The system is adapted to write data from at least one subsequent store operation into the first entry's data buffer if the subsequent store operation misses in the cache but hits in the first entry of the buffer unit prior to completion of the data fetch transaction. In this manner, the first entry's data buffer includes a composite of the first and subsequent store operations' data.
    Type: Grant
    Filed: March 18, 1999
    Date of Patent: October 30, 2001
    Assignee: International Business Machines Corporation
    Inventors: Belliappa Manavattira Kuttanna, Rajesh Patel, Michael Dean Snyder
  • Patent number: 6275906
    Abstract: A memory subsystem for use with a multiprocessor computer system. The memory subsystem includes an operation block adapted for queuing an operation that misses in an L1 cache of a multiprocessor. The multiprocessor is comprised of a set of processors, preferably fabricated on a single semiconductor substrate and packaged in a single device package. The memory subsystem further includes an arbiter that is configured to receive external snoop operations from a bus interface unit and a queued operation from the operation block. The arbiter is configured to select and initiate one of received operations. Coherency is maintained by forwarding the address associated with the operation selected by the arbiter to each of a plurality of coherency units. In this manner, external and internal snoop addresses are arbitrated at a single point to produce a single subsystem snoop address that is propagated to each coherency unit.
    Type: Grant
    Filed: May 20, 1999
    Date of Patent: August 14, 2001
    Assignee: International Business Machines Corporation
    Inventors: Jose Melanio Nunez, Thomas Albert Peterson, Marie Jeannette Sullivan
  • Patent number: 6272601
    Abstract: A multiprocessor computer system including a multiprocessor device preferably comprised of a set of processors, each including a respective L1 cache. The multiprocessor is preferably fabricated as a single device. The computer system includes a memory subsystem comprised of a load miss block adapted for queuing a load operation issued by a first processor that misses in an L1 cache of the first processor and a store miss block adapted for queuing store type operations. An arbiter of the memory subsystem is configured to receive queued operations from the load and store miss blocks and further configured to select and initiate one of the received operations. The subsystem further includes means for forwarding the address associated with the load miss operation to a lower level cache and means for receiving a hit/miss response from the lower level cache.
    Type: Grant
    Filed: May 20, 1999
    Date of Patent: August 7, 2001
    Assignee: International Business Machines Corporation
    Inventors: Jose Melanio Nunez, Thomas Albert Petersen
  • Patent number: 6269427
    Abstract: A cache memory system including a cache memory configured for coupling to a load/store unit of a CPU, a buffer unit coupled to said cache memory, and an operation queue comprising a plurality of entries, wherein each valid operation queue entry points to an entry in the buffer unit. The buffer unit includes a plurality of data buffers and each of the data buffers is associated with a corresponding address tag. The system is configured to initiate a data fetch transaction and allocate an entry in the buffer unit in response to a CPU load operation that misses in both the cache memory and the buffer unit. The cache system is further configured to allocate entries in the operation queue in response to subsequent CPU load operations that miss in the cache memory but hit in the buffer unit prior to completion of the data fetch.
    Type: Grant
    Filed: March 18, 1999
    Date of Patent: July 31, 2001
    Assignee: International Business Machines Corporation
    Inventors: Belliappa Manavattira Kuttanna, Rajesh Patel, Michael Dean Snyder
  • Patent number: 6256727
    Abstract: A system and method for fetching noncontiguous blocks of instructions in a data processing system is disclosed. The system comprises an instruction cache means for providing a first plurality of instructions and branch logic means for receiving the first plurality of instructions and for providing branch history information about the first plurality of instructions. The system further includes an auxiliary cache means for receiving a second plurality of instructions based upon the branch history information. The auxiliary cache means overlays at least one of the second plurality of instructions if there is a branch in the first plurality of instructions and the branch is to the second plurality of instructions.
    Type: Grant
    Filed: May 12, 1998
    Date of Patent: July 3, 2001
    Assignee: International Business Machines Corporation
    Inventor: Robert Greg McDonald
  • Patent number: 6208907
    Abstract: A method and apparatus is provided for enabling the transformation of a domino circuit to a static circuit without requiring the re-design of the chip or integrated circuit mask set. The domino circuit masks may be designed to include additional unconnected devices as appropriate which may be added or connected into the circuit after chip design release by changing only interconnection masks. Spare devices can be added and selectively used to make a domino circuit metal-mask programmable into a logically equivalent static circuit. In a first exemplary method, extra devices are added to, and/or existing devices are re-wired in the domino circuitry to make a complementary equivalent static gate. In a second exemplary methodology, the domino circuit is converted into a pseudo-NMOS circuit using devices already available in the circuit and modifying the circuit connections thereto.
    Type: Grant
    Filed: January 30, 1998
    Date of Patent: March 27, 2001
    Assignee: International Business Machines Corporation
    Inventors: Christopher McCall Durham, Visweswara Rao Kodali, Douglas Ele Martin, Harsh Dev Sharma
  • Patent number: 5815687
    Abstract: A domino logic simulator for a CMOS domino logic circuit seeds all logic circuits under test with an "X" state before initialization of a special simulator machine cycle devoted to validating all pre-charge circuits in each stage of the CMOS domino logic circuit. In the special machine cycle, each stage of the circuit receives a discrete clock signal which is applied to the pre-charge and logic devices in precharge and evaluation phase sequences. The clock phase sequences in each stage propagate the "X" state at each logic circuit through the succeeding stages to provide an "X" output for the machine cycle, except a "0" state is provided as an output at the end of the machine cycle if the precharge circuit in each stage is functioning properly during the precharge sequences of the clock cycle applied to the stage. A clocked delay reset circuit in each stage provides the output of the stage. A static logic device in each stage saves power in transferring the output of a stage to a succeeding stage.
    Type: Grant
    Filed: September 19, 1996
    Date of Patent: September 29, 1998
    Assignee: International Business Machines Corporation
    Inventors: Robert Masleid, Wolfgang Roesner, Amy May Tuvell
  • Patent number: 5553253
    Abstract: Method and apparatus for predicting the outcome of branch instructions subject to execution in a multiple processor digital computer. Pipelining is a popular technique to accelerate the data processing rate of modern computers, and in particular the RISC architecture class of workstations. Accurate prediction of branch instructions is exceptionally important to the efficient use of pipelines, in that erroneous predictions require both the purge and reload of all affected processor pipelines. According to the present invention, branch prediction is based upon a correlation between a history of successive prior branches and a specified branch instruction. In a preferred practice, a branch prediction table is created. The fields in the table are derived and thereafter updated based upon the correlated combination of outcomes from prior branches and the branch address under consideration.
    Type: Grant
    Filed: March 30, 1994
    Date of Patent: September 3, 1996
    Assignee: International Business Machines Corporation
    Inventors: Shien-Tai Pan, Kimming So