Final Unit5 CO Notes
Final Unit5 CO Notes
Multiprocessor Systems
Characteristics of multiprocessors
➢ A multiprocessor system is an interconnection of two or more CPUs with memory
➢ and input-output equipment. The term “processor” in multiprocessor can mean either a
central processing unit (CPU) or an input-output processor (IOP).
➢ Multiprocessors are classified as multiple instruction stream, multiple data stream
➢ (MIMD) systems The similarity and distinction between multiprocessor and
multicomputer are Similarity Both support concurrent operations Distinction
➢ The network consists of several autonomous computers that may or may not
communicate with each other.
➢ A multiprocessor system is controlled by one operating system that provides interaction
between processors and all the components of the system cooperate in the solution of a
problem.
➢ Multiprocessing improves the reliability of the system.
➢ The benefit derived from a multiprocessor organization is an improved system
performance.
➢ Multiple independent jobs can be made to operate in parallel.
➢ A single job can be partitioned into multiple parallel tasks.
➢ Multiprocessing can improve performance by decomposing a program into parallel
executable tasks.
➢ The user can explicitly declare that certain tasks of the program be executed in parallel.
➢ This must be done prior to loading the program by specifying the parallel executable
segments.
➢ The other is to provide a compiler with multiprocessor software that can automatically
detect parallelism in a user’s program.
➢ Multiprocessor are classified by the way their memory is organized.
➢ A multiprocessor system with common shared memory is classified as a shared-memory
or tightly coupled multiprocessor.
➢ Tolerate a higher degree of interaction between tasks.
➢ Each processor element with its own private local memory is classified as a distributed-
memory or loosely coupled system.
➢ Are most efficient when the interaction between tasks is minimal
1
Interconnection Structures
The components that form a multiprocessor system are CPUs, IOPs connected to input and
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.
Disadvantages:
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.
2
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.
• Adv.:
• The high transfer rate can be achieved because of the multiple paths.
• Disadv.:
• It requires expensive memory control logic and a large number of cables and
connections
Crossbar Switch
4
• 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 destinations.
• 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
• Some request patterns cannot be connected simultaneously. 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.
FLYNN'S CLASSIFICATION
In 1966, Michael Flynn proposed a classification for computer architectures based on the
number of instruction steams and data streams (Flynn’s Taxonomy).
➢ Flynn uses the stream concept for describing a machine's structure.
➢ A stream simply means a sequence of items (data or instructions).
➢ The classification of computer architectures based on the number of instruction
steams and data streams (Flynn’s Taxonomy).
5
Flynn’s Taxonomy
SIMD
MISD
MIMD
6
➢ Each processor has a separate program.
➢ An instruction stream is generated from each program.
➢ Each instruction operates on different data.
This last machine type builds the group for the traditional multi-processors. Several processing
units operate on multiple-data streams