You are on page 1of 6

Multiprocessor

Multiprocessor is a computer used for processing and executes isolated


instruction streams residing in a single address space. A wide range of
multiprocessors are the shared memory devices, built by linking various
processors to one or more memory banks with the help of a bus or switch.
It consists of multiple processors within a single computer.
It is a singly shared memory that is attached to the elements being processed.
It is necessary for the processing elements to communicate with each other.
It is a dynamic network.
Example of multiprocessor is a sequent symmetry S-81.
Multicomputer

Multicomputer are the computers where the processors can carry out


separate instruction streams and have their own individual memory. These
are not capable of accessing the other memories attached to other processors. Most of the
multicomputer are the distinct memory machines made by linking nodes (where each node includes
a microprocessor and some memory).

It is an interlinked multiple autonomous computer.


The memory attached to the processing elements are distributed in multiples.
It is not required for elements being processed to communicate.
It is a type of static network.
Example of a multicomputer is a message passing multicomputer.

Key Differences Between Multiprocessor and Multicomputer


Multiprocessor is a single computer in which many processors exist. As against, multicomputer has
multiple autonomous computers.
There are many processing elements are used in the multiprocessor but they do not have their
private individual memories instead it shares a single memory. In contrast, multicomputer has
several processing elements along with its own memory and I/O resources, rather than sharing the
memory it implements the distributed memory.
Multiprocessor model needs proper communication between the processing elements and memory
for the effective allocation of resources. Contrariwise, there is no interaction between the processing
elements and memory resources is required.
Multiprocessors use a dynamic network in which the communication links can be rearranged by
setting the active switching unit of the system. On the contrary, the multicomputer employs static
network where the connection of switching units is fixed and determined by direct point-to-point
connections.
The microprocessor is referred to as the tightly coupled systems while multicomputer is known as
loosely coupled systems.
RISC: 
It stands for Reduced Instruction Set Computer. It is a type of microprocessor architecture that uses
a small set of instructions of uniform length. These are simple instructions that are generally
executed in one clock cycle. RISC chips are relatively simple to design and inexpensive. The setback
of this design is that the computer must repeatedly perform simple operations to execute a larger
program having many processing operations. 
Examples: SPARC, POWER PC, etc.

CISC: 
It stands for Complex Instruction Set Computer. These processors offer the users, hundreds of
instructions of variable sizes. CISC architecture includes a complete set of special-purpose circuits
that carry out these instructions at a very high speed. These instructions interact with memory by
using complex addressing modes. CISC processors reduce the program size and hence lesser number
of memory cycles are required to execute the programs. This increases the overall speed of
execution. 
Examples: Intel architecture, AMD

Key Differences Between RISC and CISC

 In CISC many instructions are present in the architecture while in RISC very few instructions
are present. The number of instructions is generally less than 100.
 In CISC some instructions with long execution times. These include instructions that copy an
entire block from one part of memory to another and others that copy multiple registers to
and from memory while in RISC no instruction with a long execution time due to a very
simple instruction set. Some early RISC machines did not even have an integer multiply
instruction, requiring compilers to implement multiplication as a sequence of additions.
 Variable-length encodings of the instructions in CISC, Fixed-length encodings of the
instructions are used in RISC
 In CISC multiple formats are supported for specifying operands. A memory operand specifier
can have many different combinations of displacement, base, and index register while in
RISC no instruction with a long execution time due to a very simple instruction set. Some
early RISC machines did not even have an integer multiply instruction, requiring compilers to
implement multiplication as a sequence of additions.
 CISC supports array, RISC does not support an array.
 In CISC arithmetic and logical operations can be applied to both memory and register
operands. In RISC arithmetic and logical operations only use register operands. Memory
referencing is only allowed by loading and storing instructions, i.e. reading from memory
into a register and writing from a register to memory respectively.
 In CISC Implementation programs are hidden from machine-level programs. The ISA provides
a clean abstraction between programs and how they get executed, In RISC implementation
programs exposed to machine-level programs. Few RISC machines do not allow specific
instruction sequences
 Condition codes are used in CISC while no condition codes are used in RISC
 In CISC the stack is being used for procedure arguments and returns addresses. In RISC
registers are being used for procedure arguments and return addresses. Memory references
can be avoided by some procedures.
Flynn’s classification –
Single-instruction, single-data (SISD) systems –
An SISD computing system is a uniprocessor machine which can execute a single instruction,
operating on a single data stream. In SISD, machine instructions are processed in a sequential
manner and computers adopting this model are popularly called sequential computers. Most
conventional computers have SISD architecture. All the instructions and data to be processed must
be stored in primary memory.

The speed of the processing element in the SISD model is limited(dependent) by the rate at which
the computer can transfer information internally. Dominant representative SISD systems are IBM PC,
workstations.

Single-instruction, multiple-data (SIMD) systems –


An SIMD system is a multiprocessor machine capable of executing the same instruction on all the
CPUs but operating on different data streams. Machines based on an SIMD model are well suited to
scientific computing since they involve lots of vector and matrix operations. So that the information
can be passed to all the processing elements (PEs) organized data elements of vectors can be divided
into multiple sets(N-sets for N PE systems) and each PE can process one data set.

Dominant representative SIMD systems is Cray’s vector processing machine.

Multiple-instruction, single-data (MISD) systems –


An MISD computing system is a multiprocessor machine capable of executing different instructions
on different PEs but all of them operating on the same dataset .
Example Z = sin(x)+cos(x)+tan(x)
The system performs different operations on the same data set. Machines built using the MISD
model are not useful in most of the application, a few machines are built, but none of them are
available commercially.

Multiple-instruction, multiple-data (MIMD) systems –


An MIMD system is a multiprocessor machine which is capable of executing multiple instructions on
multiple data sets. Each PE in the MIMD model has separate instruction and data streams; therefore
machines built using this model are capable to any kind of application. Unlike SIMD and MISD
machines, PEs in MIMD machines work asynchronously.

MIMD machines are broadly categorized into shared-memory MIMD and distributed-memory


MIMD based on the way PEs are coupled to the main memory.
In the shared memory MIMD model (tightly coupled multiprocessor systems), all the PEs are
connected to a single global memory and they all have access to it. The communication between PEs
in this model takes place through the shared memory, modification of the data stored in the global
memory by one PE is visible to all other PEs. Dominant representative shared memory MIMD
systems are Silicon Graphics machines and Sun/IBM’s SMP (Symmetric Multi-Processing).
In Distributed memory MIMD machines (loosely coupled multiprocessor systems) all PEs have a local
memory. The communication between PEs in this model takes place through the interconnection
network (the inter process communication channel, or IPC). The network connecting PEs can be
configured to tree, mesh or in accordance with the requirement.
The shared-memory MIMD architecture is easier to program but is less tolerant to failures and
harder to extend with respect to the distributed memory MIMD model. Failures in a shared-memory
MIMD affect the entire system, whereas this is not the case of the distributed model, in which each
of the PEs can be easily isolated. Moreover, shared memory MIMD architectures are less likely to
scale because the addition of more PEs leads to memory contention. This is a situation that does not
happen in the case of distributed memory, in which each PE has its own memory. As a result of
practical outcomes and user’s requirement , distributed memory MIMD architecture is superior to
the other existing models.
Question 3 .Explain Flynn classifications of various computers based on notions
of instructions and data streams.

Answer : 
Flynn’s classification –
Single-instruction, single-data (SISD) systems –
An SISD computing system is a uniprocessor machine which can execute a single
instruction, operating on a single data stream. In SISD, machine instructions are
processed in a sequential manner and computers adopting this model are popularly
called sequential computers. Most conventional computers have SISD architecture.
All the instructions and data to be processed must be stored in primary memory.
The speed of the processing element in the SISD model is limited(dependent) by the
rate at which the computer can transfer information internally. Dominant
representative SISD systems are IBM PC, workstations.
Single-instruction, multiple-data (SIMD) systems –

An SIMD system is a multiprocessor machine capable of executing the same


instruction on all the CPUs but operating on different data streams. Machines based
on an SIMD model are well suited to scientific computing since they involve lots of
vector and matrix operations. So that the information can be passed to all the
processing elements (PEs) organized data elements of vectors can be divided into
multiple sets(N-sets for N PE systems) and each PE can process one data set.

Dominant representative SIMD systems is Cray’s vector processing machine.


Multiple-instruction, single-data (MISD) systems –

An MISD computing system is a multiprocessor machine capable of executing


different instructions on different PEs but all of them operating on the same dataset .
Example Z = sin(x)+cos(x)+tan(x)
The system performs different operations on the same data set. Machines built using
the MISD model are not useful in most of the application, a few machines are built,
but none of them are available commercially.
Multiple-instruction, multiple-data (MIMD) systems –

An MIMD system is a multiprocessor machine which is capable of executing multiple


instructions on multiple data sets. Each PE in the MIMD model has separate
instruction and data streams; therefore machines built using this model are capable
to any kind of application. Unlike SIMD and MISD machines, PEs in MIMD machines
work asynchronously.
MIMD machines are broadly categorized into shared-memory
MIMD and distributed-memory MIMD based on the way PEs are coupled to the main
memory.
In the shared memory MIMD model (tightly coupled multiprocessor systems), all the
PEs are connected to a single global memory and they all have access to it. The
communication between PEs in this model takes place through the shared memory,
modification of the data stored in the global memory by one PE is visible to all other
PEs. Dominant representative shared memory MIMD systems are Silicon Graphics
machines and Sun/IBM’s SMP (Symmetric Multi-Processing).
In Distributed memory MIMD machines (loosely coupled multiprocessor systems) all
PEs have a local memory. The communication between PEs in this model takes place
through the interconnection network (the inter process communication channel, or
IPC). The network connecting PEs can be configured to tree, mesh or in accordance
with the requirement.

You might also like