Patents Represented by Attorney Michael A. Davis
  • Patent number: 5732005
    Abstract: A single-precision floating-point register array for a floating-point execution unit that performs double-precision operations by emulation is provided. The register array comprises a plurality of single-precision floating-point registers and a storage device that stores one or more status bits in association with each of the plurality of registers; the status bits associated with each register indicate either that the associated data register contains single-precision or integer data, or that the data for the associated register is contained in an emulated register in memory that is mapped to the associated register. When a register is a source for an operation, the status bits associated with the register are checked and the required operand data for that register is read from the register or from an emulated register mapped to that register, as a function of the state of the status bits.
    Type: Grant
    Filed: February 10, 1995
    Date of Patent: March 24, 1998
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Tai Dinh Ngo, Aubrey Deene Ogden, Michael Putrino, Johm Victor Sell
  • Patent number: 5692218
    Abstract: A method and system in a data processing system for transferring data from a first device to a second device within the data processing system. The data processing system includes a data bus, an address bus, a first address space associated with a memory and a second address space associated with an input/output device. Initially, an operation request package is transmitted to a second device from a first device, which informs the second device of the total amount of data to be transferred. A transfer signal is then transmitted in the data processing system. The transfer signal identifies the transfer as a transfer concerning an address in the second address space associated with the input/output device. A first address package is then transmitted to the second device from the first device on the address bus. The first address package includes a transfer identifier, a first identifier associated with the first device and a second identifier associated with the second device.
    Type: Grant
    Filed: April 25, 1996
    Date of Patent: November 25, 1997
    Assignees: International Business Machines Corporation, Motorola, Inc.
    Inventors: Michael Scott Allen, Michael Julio Garcia, Charles Roberts Moore, Robert James Reese
  • Patent number: 5687350
    Abstract: A protocol and system for providing a next read address during an address phase of a write transaction in a data cache unit in a processing unit is disclosed. The processing unit includes the data cache unit and an instruction cache unit both coupled to an address bus and a data bus, respectively. The two buses are further connected to a system memory controller separate from the microprocessor. The protocol and system provide for next read address and a next transaction during the address phase in a current write transaction. The protocol loads a pre-fetched address within a current data transaction and then generates a next line fill address using the pre-fetched address which is concatenated to the current data transaction. The pre-fetched address is used to generate a next line fill address.
    Type: Grant
    Filed: February 10, 1995
    Date of Patent: November 11, 1997
    Assignee: International Business Machines Corporation
    Inventors: Timothy Bucher, Douglas Christopher Hester, John Victor Sell, Cang N. Tran
  • Patent number: 5682495
    Abstract: A fully associative address translator which includes a number of entries, each of said number of entries translating a received effective address into a real address, each received effective address including a segment identifier and a page identifier. Each of the entries within the fully associative address translator includes a first translation from an effective address segment identifier into a virtual address segment identifier and a second translation from a virtual address page identifier to a real address page identifier.
    Type: Grant
    Filed: December 9, 1994
    Date of Patent: October 28, 1997
    Assignees: International Business Machines Corporation, Motorola, Inc.
    Inventors: Brad B. Beavers, Lew Chua-Eoan, Pei-Chun Peter Liu, Chih-Jui Peng
  • Patent number: 5678016
    Abstract: A method and apparatus are disclosed for managing the execution of a floating-point store instruction within a data processing system including a memory and a superscalar processor having a number of floating-point registers (FPRs). According to the present invention, multiple instructions are dispatched for execution by the processor, including a floating-point store instruction having as an operand the content of a particular FPR. A determination is made whether the particular FPR is a destination register for results of a second instruction which precedes the store instruction in program order. If so, a determination is made whether the second instruction must complete before subsequent instructions can be successfully dispatched. In response to a determination that the second instruction must be completed prior to successfully dispatching subsequent instructions, the floating-point instruction is cancelled and redispatched after the completion of the second instruction.
    Type: Grant
    Filed: August 8, 1995
    Date of Patent: October 14, 1997
    Assignee: International Business Machines Corporation
    Inventors: Lee E. Eisen, Robert T. Golla, Christopher H. Olson, Michael Putrino
  • Patent number: 5646875
    Abstract: A system and method for denormalizing a floating point result is disclosed. Denormalized operands are capable of representing much smaller values than can be represented by a number normalized under the ANSI/IEEE standard 754-1985 that governs the representation of numbers in floating point notation to ensure uniformity among floating point notation users. The majority of results will be normalized operands and therefore the floating point unit pipeline is optimized to produce normalized results but contains wider exponent fields in order to represent values received as denormalized numbers. In order to return the result as a denormalized number with the smaller ANSI/IEEE exponent field, denormalization is accomplished by using the same pipeline resources by means of the floating point unit feedback path and uses one of the exponent equalizing alignment shifters and an incrementor in order to round the denormalized result.
    Type: Grant
    Filed: February 27, 1995
    Date of Patent: July 8, 1997
    Assignee: International Business Machines Corporation
    Inventors: Michael Preston Taborn, Steven Michael Burchfiel, David Terrence Matheny
  • Patent number: 5640534
    Abstract: An interleaved data cache array which is divided into two subarrays is provided for utilization within a data processing system. Each subarray includes a plurality of cache lines wherein each cache line includes a selected block of data, a parity field, a content addressable field containing a portion of an effective address for the selected block of data, a second content addressable field contains a portion of the real address for the selected block of data and a data status field. A separate effective address port and real address port permit parallel access to the cache without conflict in separate subarrays and a subarray arbitration logic circuit is provided for attempted simultaneous access of a single subarray by both the effective address port and the real address port.
    Type: Grant
    Filed: October 5, 1994
    Date of Patent: June 17, 1997
    Assignee: International Business Machines Corporation
    Inventors: Peichun Peter Liu, Brian David Branson, Victor Shadan
  • Patent number: 5553255
    Abstract: A data processor (12) has a branch prediction unit (28) that predicts conditional branch instructions and a control unit (70) therein that monitors the number of unresolved branch instructions. This control unit selectively allows the data processor to fetch the instructions indicated by the branch prediction unit from an external memory system depending upon the number of unresolved branch instructions. The particular threshold number of unresolved branch instructions is user programmable. The data processor thereby limits its bus accesses to those occasions when it is reasonably sure that it will need the indicated instructions.
    Type: Grant
    Filed: April 27, 1995
    Date of Patent: September 3, 1996
    Assignees: Motorola, Inc., International Business Machines
    Inventors: Danny K. Jain, David S. Levitan, Paul C. Rossbach
  • Patent number: 5550995
    Abstract: A memory cache (14) has a semi-associative cache array (50), a cache reload buffer (40), and a cache reload buffer driver (42). The memory cache writes received data to the cache reload buffer and waits until the data is requested again before it invalidates any cache aliased entries in the semi-associative cache array. This invalidation step requires no dedicated cycle but instead is a result of the memory cache being able to simultaneously read from the semi-associative cache array and the cache reload buffer.
    Type: Grant
    Filed: January 3, 1994
    Date of Patent: August 27, 1996
    Assignees: Motorola, Inc., International Business Machines
    Inventors: David D. Barrera, Bahador Rastegar, Paul C. Rossbach
  • Patent number: 5465373
    Abstract: A method and system for permitting single cycle instruction dispatch in a superscalar processor system which dispatches multiple instructions simultaneously to a group of execution units for execution and placement of results thereof within specified general purpose registers. Each instruction generally includes at least one source operand and one destination operand. A plurality of intermediate storage buffers are provided and each time an instruction is dispatched to an available execution unit, a particular one of the intermediate storage buffers is assigned to any destination operand within the dispatched instruction, permitting the instruction to be dispatched within a single cycle by eliminating any requirement for determining and selecting the specified general purpose register or a designated alternate general purpose register.
    Type: Grant
    Filed: January 8, 1993
    Date of Patent: November 7, 1995
    Assignee: International Business Machines Corporation
    Inventors: James A. Kahle, Chin-Cheng Kau, David S. Levitan, Aubrey D. Ogden, Ali A. Poursepanj, Paul K.-G. Tu, Donald E. Waldecker
  • Patent number: 5442766
    Abstract: A method and system for distributed instruction address translation in a multiscalar data processing system having multiple processor units for executing multiple tasks, instructions and data stored within memory at real addresses therein and a fetcher unit for fetching and dispatching instructions to the processor units. A memory management unit (MMU) is established which includes a translation buffer and translation algorithms for implementing page table and address block type translations of every effective address within the data processing system into real addresses within memory. A translation array, which includes a small number of translation objects for translating effective addresses into real addresses, is then established within the fetcher unit. The translation objects are periodically and selectively varied, utilizing the translation capability of the memory management unit (MMU), in response to a failure to translate an effective address into a real address within the fetcher unit.
    Type: Grant
    Filed: October 9, 1992
    Date of Patent: August 15, 1995
    Assignee: International Business Machines Corporation
    Inventors: Tan V. Chu, Charles R. Moore, John S. Muhich, Terence M. Potter
  • Patent number: 5437017
    Abstract: Translation lookaside buffers (TLB) are often utilized in the data processing system to efficiently translate an effective or virtual address to a real address within system memory. In systems which include multiple processors which may all access system memory, each processor may include a translation lookaside buffer (TLB) for translating effective addresses to real addresses and coherency between all translation lookaside buffers (TLB) must therefore be maintained. The method and system disclosed herein may be utilized to broadcast a unique bus structure in response to an execution of a translation lookaside buffer invalidate (TLBI) instruction by any processor within a multiprocessor system. The bus structure is accepted by other processors along the bus only in response to an absence of a pending translation lookaside buffer invalidate (TLBI) instruction within each processor.
    Type: Grant
    Filed: October 9, 1992
    Date of Patent: July 25, 1995
    Assignee: International Business Machines Corporation
    Inventors: Charles R. Moore, John S. Muhich
  • Patent number: 5421020
    Abstract: A data processing system for speculatively executing instructions. The data processing system includes a memory for storing instructions at addresses which can be generated by a branch unit in a processor. The processor also has a count register for storing an update value, a dispatch version value and a completion version value. A fetcher connected to the branch unit fetches instructions from memory based upon addresses calculated by the branch unit. The branch unit handles processing of conditional branch instructions. To do so, means for initializing the update value and the dispatch version value for branch control are provided. Further included are means responsive to completion of initialization for copying the update value as the completion version value. The system further includes means responsive to dispatch of a conditional branch instruction for examining the dispatch version value to determine if a branch should be taken and then decrementing the dispatch version value.
    Type: Grant
    Filed: January 8, 1993
    Date of Patent: May 30, 1995
    Assignee: International Business Machines Corporation
    Inventor: David S. Levitan
  • Patent number: 5410657
    Abstract: A method and system are disclosed for implementing floating point exception enabled operation without substantial performance degradation. In a multiscalar processor system, multiple instructions may be issued and executed simultaneously utilizing multiple independent functional units. This is typically accomplished utilizing separate branch, fixed point and floating point processor units. Floating point arithmetic instructions within the floating point processor unit may initiate one of a variety of exceptions associated within invalid operations and as a result of the pipelined nature of floating point processor units an identification of which instruction initiated the exception is not possible. In the described method and system, an associated dummy instruction having a retained instruction address is dispatched to the fixed point processor unit each time a floating point arithmetic instruction is dispatched to the floating point processor unit.
    Type: Grant
    Filed: October 9, 1992
    Date of Patent: April 25, 1995
    Assignee: International Business Machines Corporation
    Inventors: Christopher H. Olson, Terence M. Potter