Nova Patents
EP0214718A2

Digital computer.

Abstract

An efficient technique for concurrently executing the iterations of an iterative construct is described. A parallel-processing computer is provided which is capable of successfully processing computationally intensive applications typically found in engineering and scientific applications. A technique is also described for interleaving the memory elements of a parallel-processing computer, and in particular one adapted for use in processing computationally intensive applications involving memory accesses at fixed strides. The memory elements (for example, cache sections) are highly accessible to the processors. There is also described a backplane-resident switch for selectively connecting any selected plurality of first sub- system buses to any selected plurality of second sub-system buses.

EP0214718A2, drawing sheet 1
Sheet 1 of 93

Term

Term ended

Projected expiry passed 17 June 2006, 20.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

107 claims: 6 independent, 101 dependent

  1. 1
    A digital computer for processing a program containing an iterative construct, said digital computer comprising a plurality of processors, each said processor adapted for serially processing, without the assistance of the other said processors, those portions of said program outside of said iterative construct and each paid processor adapted for concurrently processing different iterations of said iterative construct, means for activating those of said processors that have been idle at the start of said iterative construct and for transferring sufficient state information to the activated processors so that they can begin concurrent processing of iterations.
  2. 51
    A digital computer for processing a program containing one or more vector instructions for operating on vectors each of N elements, said digital computer comprising a plurality of processors, each said processor being adapted for serially processing, without the assistance of the other said processors, portions of said program before and after said vector instructions, each said processor including means for concurrently processing a subset of said N elements using said vector instructions, means for dividing said N vector elements among said processors during execution of said program based on the number of processors participating in concurrent processing, and means for activating those of said processors that have been idle at the start of said vector instructions and for transferring sufficient state information to the activated processors so that they can begin concurrent processing of their assigned vector elements.
  3. 62
    A digital computer comprising a plurality of memory elements, said memory elements being interleaved (i.e., each is assigned memory addresses on the basis of a low order portion of the memory address), a plurality of parallel processors, said processors each having means for initiating an access of data from any of said memory elements simultaneously with accesses of other said processors, said memory elements each being capable of accepting an access from just one of said processors during a given cycle, wherein said memory elements are so interleaved that the access pattern generated by said processors when accessing data at a predetermined stride permits all of said processors to reach a phase relationship with other said processors in which each said processor is able to access a different said memory element simultaneously without creating access conflicts (i.e., more than one processor simultaneously attempting to access the same memory element).
  4. 79
    A digital computer comprising a main memory for storing data, a cache for storing copies of said data, said cache being connected to said main memory, a plurality of parallel processors connected to said cache, and means for permitting each of said processors to access the same memory locations of said cache.
  5. 91
    A digital computer comprising a plurality of first subsystems resident on one or more first circuit boards, each said first subsystem having a first subsystem bus, a plurality of second subsystems resident on one or more second circuit boards, each said second subsystem having a second subsystem bus, a backplane circuit board to which said first and second circuit boards are connected, a bus-switching means resident on said backplane circuit board for selectively connecting any selected plurality of first subsystem buses to any selected plurality of second subsystem buses.
  6. 104
    A digital computer comprising a plurality of parallel processors, each said processor having one or more processor buses, a plurality of memories, each said memory having one or more memory buses, a bus-switching means for selectively connecting any selected plurality of processor buses to any selected plurality of memory buses, wherein said processors include means for concurrently processing the same instructions and data, and said data resides in said memories.