Patents by Inventor Rudolph N. Rechtschaffen

Rudolph N. Rechtschaffen 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: 5412784
    Abstract: Apparatus is provided for creating an entry point into a set of execution subsequences of instructions created from a sequential execution sequence at a point other than the beginning, the subsequences being executable asynchronously in parallel on separate processing elements. The creation of intermediate entry points allows the set of execution subsequences to be used to execute different portions of the sequential execution sequence asynchronously in parallel whenever one of those portions reoccurs in another execution sequence of instructions. In the preferred embodiment, execution sequences are processed in two modes of execution, one mode being used not only to execute instructions but also simultaneously to parallelize into a set of subsequences any instruction sequences which have not already been parallelized, while the second mode is used to execute parallelized instruction sequences in parallel.
    Type: Grant
    Filed: July 15, 1991
    Date of Patent: May 2, 1995
    Assignee: International Business Machines Corporation
    Inventors: Rudolph N. Rechtschaffen, Kattamuri Ekanadham
  • Patent number: 5408658
    Abstract: An incremental method is described for distributing the instructions of an execution sequence among a plurality of processing elements for execution in parallel. The distribution is based upon anticipated availability times of the needed input values for each instruction as well as the anticipated availability times of each processing element for handling each instruction. A self-parallelizing computer system and method are also described for asynchronously processing the distributed instructions in two modes of execution on a set of processing elements which communicate with each other.
    Type: Grant
    Filed: July 15, 1991
    Date of Patent: April 18, 1995
    Assignee: International Business Machines Corporation
    Inventors: Rudolph N. Rechtschaffen, Kattamuri Ekanadham
  • Patent number: 5353421
    Abstract: A multi-prediction branch prediction mechanism predicts each conditional branch at least twice, first during the instruction-fetch phase of the pipeline and then again during the decode phase of the pipeline. The mechanism uses at least two different branch prediction mechanisms, each a separate and independent mechanism from the other. A set of rules are used to resolve those instances as to when the predictions differ.
    Type: Grant
    Filed: July 13, 1993
    Date of Patent: October 4, 1994
    Assignee: International Business Machines Corporation
    Inventors: Philip G. Emma, Joshua W. Knight, James H. Po merene, Thomas R. Puzak, Rudolph N. Rechtschaffen, James R. Robinson
  • Patent number: 5347639
    Abstract: A self-parallelizing computer system and method asynchronously processes execution sequences of instructions in two modes of execution on a set of processing elements which communicate with each other. Each processing element is capable of decoding instructions, generating memory operand addresses, executing instructions and referencing and updating its own set of general purpose registers. These processing elements act in concert during the first mode of execution not only to execute the instructions in an execution sequence but also to partition an execution sequence into separate instruction subsequences. The separate instruction subsequences are stored along with additional information which will allow the stored subsequences to be correctly executed in parallel.
    Type: Grant
    Filed: July 15, 1991
    Date of Patent: September 13, 1994
    Assignee: International Business Machines Corporation
    Inventors: Rudolph N. Rechtschaffen, Kattamuri Ekanadham
  • Patent number: 5297281
    Abstract: A digital computer includes a main and an auxiliary pipeline processor which are configured to concurrently execute contiguous groups of instructions taken from a single instruction sequence. The instructions in a sequence may be divided into groups by using either taken-branch instructions or certain instructions which may change the contents of the general purpose registers as group delimiters. Both methods of grouping the instructions use a branch history table to predict the sequence in which the instructions will be executed.
    Type: Grant
    Filed: February 13, 1992
    Date of Patent: March 22, 1994
    Assignee: International Business Machines Corporation
    Inventors: Philip G. Emma, Joshua W. Knight, James H. Pomerene, Rudolph N. Rechtschaffen, Frank J. Sparacio
  • Patent number: 5291442
    Abstract: A system is provided for management of data in cache memories in a multiprocessor environment which allows portions of lines to be valid and exclusive, while other portions are valid, but not exclusive, or invalid. A processor may store into portions of a line under its exclusive control without invalidating copies of the line held in the cache memories of the other processors. The system includes at least two processors, a shared main memory and a system control element, and each processor has a corresponding cache memory, a modified line stack and a sectored line directory. The modified line stack identifies data lines which have been changed since being made resident in cache memory. It also identifies the status of change of each word within those lines. A "shared exclusive" flag in the system control element identifies each line for which portions of the line are under exclusive control of more than one processor.
    Type: Grant
    Filed: October 31, 1990
    Date of Patent: March 1, 1994
    Assignee: International Business Machines Corporation
    Inventors: Philip G. Emma, Joshua W. Knight, Kevin P. McAuliffe, James H. Pomerene, Rudolph N. Rechtschaffen, Frank J. Sparacio
  • Patent number: 5276882
    Abstract: Method and apparatus for correctly predicting an outcome of a branch instruction in a system of the type that includes a Branch History Table (BHT) and branch instructions that implement non-explicit subroutine calls and returns. Entries in the BHT have two additional stage fields including a CALL field to indicate that the branch entry corresponds to a branch that may implement a subroutine call and a PSEUDO field. The PSEUDO field represents linkage information and creates a link between a subroutine entry and a subroutine return. A target address of a successful branch instruction is used to search the BHT. The branch is known to be a subroutine return if a target quadword contains an entry prior to a target halfword that has the CALL field set. The entry with the CALL bit set is thus known to be the corresponding subroutine call, and the entry point to the subroutine is given by the target address stored within the entry.
    Type: Grant
    Filed: July 27, 1990
    Date of Patent: January 4, 1994
    Assignee: International Business Machines Corp.
    Inventors: Philip G. Emma, Joshua W. Knight, James H. Pomerene, Rudolph N. Rechtschaffen, Frank J. Sparacio, Charles F. Webb
  • Patent number: 5210831
    Abstract: Methods and apparatus are described for processing branch instructions using a history based branch prediction mechanism (such as a branch history table) in combination with a data dependent branch table (DDBT), where the branch instructions can vary in both outcome and test operand location. The novel methods and apparatus are sensitive to branch mispredictions and to operand addresses used by the DDBT, to identify irrelevant DDBT entries. Irrelevant DDBT entries are identified within the prediction mechanism using state bits which, when set, indicate that: (1) a given entry in the prediction mechanism was updated by the DDBT and (2) subsequent to such update a misprediction occurred making further DDBT updates irrelevant. Once a DDBT entry is determined to be irrelevant, it is prevented from updating the prediction mechanism. The invention also provides methods and apparatus for locating and removing irrelevant entries from the DDBT.
    Type: Grant
    Filed: October 30, 1989
    Date of Patent: May 11, 1993
    Assignee: International Business Machines Corporation
    Inventors: Philip G. Emma, Joshua W. Knight, James H. Pomerene, Rudolph N. Rechtschaffen, Frank J. Sparacio
  • Patent number: 5197139
    Abstract: A store through cache environment managed exclusively grants exclusivity on a large granularity basis. A cross-invalidate is realized for all changed lines via a single transmission when exclusivity is released. A dynamic table that operates in conjunction with a directory look-aside table (DLAT) determines a number of pages that can be held exclusive simultaneously. For adequate operating speed, the special table must be either fully associative or at least set associative. Alternatively, the table can be incorporated into the DLAT. Each DLAT entry is also extended to include a set of "resident" bits and a "valid nonresident" bit. When exclusively is released, the set of local change bits is broadcast to all processors. Upon receipt of such broadcast, the appropriate action is to change the "valid nonresident" indication to read-only and to clear residence bits whose corresponding local change bit is set.
    Type: Grant
    Filed: April 5, 1990
    Date of Patent: March 23, 1993
    Assignee: International Business Machines Corporation
    Inventors: Philip G. Emma, Joshua W. Knight, James H. Pomerene, Thomas R. Puzak, Rudolph N. Rechtschaffen, Frank J. Sparacio
  • Patent number: 5155831
    Abstract: A fast queue mechanism is provided which keeps a queue of changes (i.e. store actions) issued by each processor, which queue is accessible by all processors. When any processor issues a store action to a line of memory in the queue, the old data is overwritten with the new data. If the queue does not currently have a corresponding entry, a new entry is activated. Room for the new entry is made by selecting some existing entry, either the oldest or the least recently used, to be removed. An entry that is to be removed is first used to update the line corresponding to it in main memory. After the changes held in the entry to be removed are applied to the old value of the line (from main memory) and the updated value is put back into main memory, the entry in the queue is removed by marking it "empty". When a processor accesses a line of data not in its cache, a cache miss occurs and it is necessary to fetch the line from main memory.
    Type: Grant
    Filed: April 24, 1989
    Date of Patent: October 13, 1992
    Assignee: International Business Machines Corporation
    Inventors: Philip G. Emma, Joshua W. Knight, James H. Pomerene, Rudolph N. Rechtschaffen, Frank J. Sparacio
  • Patent number: 4991090
    Abstract: Monitoring apparatus is provided to allow out-of-sequence fetching of operands while preserving the appearance of in-sequence fetching to the processor of a computer. The key elements include a stack (119) of N entries holding the addresses of the last M, where M is less than or equal to N, out-of-sequence fetches. A comparator (103) is provided for comparing addresses in the stack with a test address. This test address is supplied via an OR gate (107) as either store addresses or cross-invalidate addresses, the latter being for a multiprocessor system. The addresses in the stack that compare with the test address are set as invalid. In addition, all addresses in the stack are set as invalid on the occurrence of a cache miss or serializing instruction. Finally, a select and check entry function (113) associates an address in the stack with the instruction it represents and deletes the address from the stack when the instruction is handled in its proper sequence.
    Type: Grant
    Filed: May 18, 1987
    Date of Patent: February 5, 1991
    Assignee: International Business Machines Corporation
    Inventors: Philip G. Emma, Joshua W. Knight, III, James H. Pomerene, Rudolph N. Rechtschaffen, Frank J. Sparacio
  • Patent number: 4991080
    Abstract: In an approach to reducing delays resulting from resolution of conditional branch instructions, such instructions are pre-executed in a coprocessor which precedes a pipeline processor and prepared an instruction stream for input to the pipeline processor. Because of this pre-execution, the input instruction stream has fewer conditional branches for the pipeline processor to resolve. Also, the coprocessor may handle address generation interlock situations which also cause execution delays in the pipeline processor.
    Type: Grant
    Filed: March 13, 1986
    Date of Patent: February 5, 1991
    Assignee: International Business Machines Corporation
    Inventors: Philip G. Emma, James H. Pomerene, Rudolph N. Rechtschaffen, Frank J. Sparacio
  • Patent number: 4943908
    Abstract: Apparatus for fetching instructions in a computing system. A broadband branch history table is organized by cache line. The broadband branch history table determines from the history of branches the next cache line to be referenced and uses that information for prefetching lines into the cache.
    Type: Grant
    Filed: December 2, 1987
    Date of Patent: July 24, 1990
    Assignee: International Business Machines Corporation
    Inventors: Philip G. Emma, Joshua W. Knight, III, James H. Pomerene, Rudolph N. Rechtschaffen, Frank J. Sparacio
  • Patent number: 4903196
    Abstract: A method and apparatus for controlling access to its general purpose registers (GPRs) by a high end machine configuration including a plurality of execution units within a single CPU. The invention allows up to "N" execution units to be concurrently executing up to "N" instructions using the GPR sequentially or different GPR's concurrently as either SINK or SOURCE while at the same time preserving the logical integrity of the data supplied to the execution units. The use of the invention allows a higher degree of parallelism in the execution of the instructions than would otherwise be possible if only sequential operations were performed.A series of special purpose tags are associated with each GPR and execution unit. These tags are used together with control circuitry both within the GPR's, within the individual execution units and within the instruction decode unit, which permit the multiple use of the registers to be accomplished while maintaining the requisite logical integrity.
    Type: Grant
    Filed: May 2, 1986
    Date of Patent: February 20, 1990
    Assignee: International Business Machines Corporation
    Inventors: James H. Pomerene, Thomas R. Puzak, Rudolph N. Rechtschaffen, Frank J. Sparacio
  • Patent number: 4823259
    Abstract: A high speed buffer store arrangement for use in a data processing system having multiple cache buffer storage units in a hierarchial arrangement permits fast transfer of wide data blocks. On each cache chip, input and output latches are integrated thus avoiding separate intermediate buffering. Input and output latches are interconnected by 64-byte wide data buses so that data blocks can be shifted rapidly from one cache hierarchy level to another and back. Chip-internal feedback connections from output to input latches allow data blocks to be selectively reentered into a cache after reading. An additional register array is provided so that data blocks can be furnished again after transfer from cache to main memory or CPU without accessing the respective cache. Wide data blocks can be transferred within one cycle, thus tying up caches much less in transfer operations, so that they have increased availability.
    Type: Grant
    Filed: June 23, 1988
    Date of Patent: April 18, 1989
    Assignee: International Business Machines Corporation
    Inventors: Frederick J. Aichelmann, Jr., Rex H. Blumberg, David Meltzer, James H. Pomerene, Thomas R. Puzak, Rudolph N. Rechtschaffen, Frank J. Sparacio
  • Patent number: 4807110
    Abstract: A prefetching mechanism for a system having a cache has, in addition to the normal cache directory, a two-level shadow directory. When an information block is accessed, a parent identifier derived from the block address is stored in a first level of the shadow directory. The address of a subsequently accessed block is stored in the second level of the shadow directory, in a position associated with the first-level position of the respective parent identifier.With each access to an information block, a check is made whether the respective parent identifier is already stored in the first level of the shadow directory. If it is found, then a descendant address from the associated second-level position is used to prefetch an information block to the cache if it is not already resident therein. This mechanism avoids, with a high probability, the occurrence of cache misses.
    Type: Grant
    Filed: April 6, 1984
    Date of Patent: February 21, 1989
    Assignee: International Business Machines Corporation
    Inventors: James H. Pomerene, Thomas R. Puzak, Rudolph N. Rechtschaffen, Frank J. Sparacio
  • Patent number: 4774654
    Abstract: A prefetching mechanism for a memory hierarchy which includes at least two levels of storage, with L1 being a high-speed low-capacity memory, and L2 being a low-speed high-capacity memory, with the units of L2 and L1 being blocks and sub-blocks respectively, with each block containing several sub-blocks in consecutive addresses. Each sub-block is provided an additional bit, called a r-bit, which indicates that the sub-block has been previously stored in L1 when the bit is 1, and has not been previously stored in L1 when the bit is 0. Initially when a block is loaded into L2 each of the r-bits in the sub-block are set to 0. When a sub-block is transferred from L1 to L2, its r-bit is then set to 1 in the L2 block, to indicate its previous storage in L1. When the CPU references a given sub-block which is not present in L1, and has to be fetched from L2 to L1, the remaining sub-blocks in this block having r-bits set to 1 are prefetched to L1.
    Type: Grant
    Filed: December 24, 1984
    Date of Patent: September 27, 1988
    Assignee: International Business Machines Corporation
    Inventors: James H. Pomerene, Thomas R. Puzak, Rudolph N. Rechtschaffen, Kimming So
  • Patent number: 4763245
    Abstract: A data-dependent branch table is a mechanism that is sensitive to operands that will be tested in order to determine branch action outcomes. The data dependent branch table operates in conjunction with a branch history table to anticipate those instances where the branch history table will make an erroneous prediction, and corrects the branch history table prior to the time that the actual prediction is made.
    Type: Grant
    Filed: October 30, 1985
    Date of Patent: August 9, 1988
    Assignee: International Business Machines Corporation
    Inventors: Philip G. Emma, James H. Pomerene, Gururaj S. Rao, Rudolph N. Rechtschaffen, Howard E. Sachar, Frank J. Sparacio
  • Patent number: 4679141
    Abstract: A branch history table (BHT) is substantially improved by dividing it into two parts: an active area, and a backup area. The active area contains entries for a small number of branches which the processor can encounter in the near future and the backup area contains all other branch entries. Means are provided to bring entries from the backup area into the active area ahead of when the processor will use those entries. When entries are no longer needed they are removed from the active area and put into the backup area if not already there. New entries for the near future are brought in, so that the active area, though small, will almost always contain the branch information needed by the processor.The small size of the active area allows it to be fast and to be optimally located in the processor layout. The backup area can be located outside the critical part of the layout and can therefore be made larger than would be practicable for a standard BHT.
    Type: Grant
    Filed: April 29, 1985
    Date of Patent: July 7, 1987
    Assignee: International Business Machines Corporation
    Inventors: James H. Pomerene, Thomas R. Puzak, Rudolph N. Rechtschaffen, Philip L. Rosenfeld, Frank J. Sparacio
  • Patent number: 4574349
    Abstract: Each of a plurality of stored pointers identifies and accesses one of a plurality of hardware registers in a central processing unit (CPU). Each pointer is associated with and corresponds to one of a limited number of general purpose registers addressable by various fields in a program instruction of the data processing system. At least one program instruction calls for transfer of data from a particular main storage location to a general purpose register (GPR) identified by a field in the program instruction. The GPR identified as the destination for the data is renamed by assigning a pointer value to provide access to one of the plurality of associated hardware registers. A subsequent load instruction involving the same particular main storage location determines if the data from the previous load instruction is still stored in one of the hardware registers and determines the associated pointer value.
    Type: Grant
    Filed: March 21, 1984
    Date of Patent: March 4, 1986
    Assignee: International Business Machines Corp.
    Inventor: Rudolph N. Rechtschaffen