• The components that form a multiprocessor system are CPUs, IOPs connected to input- output devices, and a memory unit.
  • The interconnection between the components can have different physical configurations, depending on the number of transfer paths that are available
    • Between the processors and memory in a shared memory system
    • Among the processing elements in a loosely coupled system
  • There are several physical forms available for establishing an interconnection network.
    • Time-shared common bus
    • Multiport memory
    • Crossbar switch
    • Multistage switching network
    • Hypercube system

Time Shared Common Bus


  • A common-bus multiprocessor system consists of a number of processors connected through a common path to a memory unit.
  • Disadvantage:
    • Only one processor can communicate with the memory or another processor at any given time.
    • As a consequence, the total overall transfer rate within the system is limited by the speed of the single path 
  • A more economical implementation of a dual bus structure is depicted in Fig below.
  • Part of the local memory may be designed as a cache memory attached to the CPU.

             

                                                             Fig: Time shared common bus organization

                     

                                                     Fig: System bus structure for multiprocessors

Multiport Memory


  • A multiport memory system employs separate buses between each memory module and each CPU.
  • The module must have internal control logic to determine which port will have access to memory at any given time.
  • Memory access conflicts are resolved by assigning fixed priorities to each memory port.
  • Advantage:
    • The high transfer rate can be achieved because of the multiple paths.
  • Disadvantage:
    • It requires expensive memory control logic and a large number of cables and connections

                               

                                                                    Fig: Multiport memory organization

Crossbar Switch


  • Consists of a number of crosspoints that are placed at intersections between processor buses and memory module paths.
  • The small square in each crosspoint is a switch that determines the path from a processor to a memory moudle.
  • Advantage:
    • Supports simultaneous transfers from all memory modules
  • Disadvantage:
    • The hardware required to implement the switch can become  quite large  and complex.
  • Below shows the functional design of a crossbar switch connected to one memory module.

                                 

                                                                      Fig: Crossbar switch

                                   

                                                                       Fig: Block diagram of crossbar switch

Multistage Switching Network


  • The basic component of a multistage network is a two-input, two-output interchange switch as shown in Fig. below.

                               

 

  • Using the 2x2 switch as a building block, it is possible to build a multistage network to control the communication between a number of sources and
    • To see how this is done, consider the binary tree shown in Fig. below.
    • Certain request patterns cannot be satisfied simultaneously. i.e., if P1 à 000~011, then P2 à 100~111

                       

  • One such topology is the omega switching network shown in Fig. below

                       

                                                                        Fig: 8 x 8 Omega Switching Network

  • Some request patterns cannot be connected i.e., any two sources cannot be connected simultaneously to destination 000 and 001
  • In a tightly coupled multiprocessor system, the source is a processor and the destination is a memory module.
  • Set up the path à transfer the address into memory à transfer the data
  • In a loosely coupled multiprocessor system, both the source and destination are processing elements.

Hypercube System


  • The hypercube or binary n-cube multiprocessor structure is a loosely coupled system composed of N=2n processors interconnected in an n-dimensional binary cube.
    • Each processor forms a node of the cube, in effect it contains not only a CPU but also local memory and I/O interface.
    • Each processor address differs from that of each of its n neighbors by exactly one bit position.
  • below shows the hypercube structure for n=1, 2, and 3.
  • Routing messages through an n-cube structure may take from one to n links from a source node to a destination node.
    • A routing procedure can be developed by computing the exclusive-OR of the source node address with the destination node address.
    • The message is then sent along any one of the axes that the resulting binary value will have 1 bits corresponding to the axes on which the two nodes differ.
  • A representative of the hypercube architecture is the Intel iPSC computer complex. It consists of 128(n=7) microcomputers, each node consists of a CPU, a floating- point processor, local memory, and serial communication interface units.

               

                                                        Fig: Hypercube structures for n=1,2,3