Pipelining and vector
processing
Notes for exam (Pipeline and vector processing: Parallel processing, Flynn’s
classification, Pipelining, Example of pipeline, space time
diagram, speedup, Basic idea of arithmetic pipeline, example
of floating point addition/ subtraction using pipeline )
Parallel Processing
• Parallel Processing is the most important method for information processing, where
multiple tasks or processes are executed simultaneously. This approach allows computers
to handle complex calculations and large amounts of data more efficiently. It can be
achieved using multiple processors, cores, or distributed systems, enabling faster
execution and improved performance in various applications, such as scientific
computing, artificial intelligence, and real-time data analysis.
• Parallel processing is also known as parallel computing.
• Parallel processing is generally used to emphasize the exploitation of concurrent event in
the computing process.
• Concurrency refers to parallelism, simultaneity and pipelining
1. Parallel event may occur on multiple resources during same time interval.
2. Simultaneous events may occur at the same time.
3. Pipelined event may occur in overlapped time spans.
Need of parallel computing
1. Overcoming memory constraints: One computer can only store a limited amount of data.
When dealing with larger problems, using the memory of multiple computers can help solve
this problems.
2. Lost Saving: A supercomputer is not required when multiple “cheap” resources can be used.
3. Taking Advantages of Non Local Resources: When available computing resources are used on
a wide area network or even the Internet then local computing resources are scared.
4. Limits to serial computing: There are both physical and practical limitations that make it
difficult to construct even faster serial computer.
I. Economic Limitations: It is less expensive to achieve fast processing with a larger number of
moderately fast commodity processors than with a single CPU.
II. Limits to miniaturization: Process technology is the technology that allows an increasing
number of transistors to be placed on a chip. The smallest components that can exist even at
the molecular or atomic level will eventually reach a limit.
III. Transmission speed: Data speed, or the rate at which data can pass through hardware,
determines the speed of serial computer.
Flynn’s Classification
DONE BY M.J.FYNN
The Flynn’s Classification is based on organization of computer system according to the number of instruction
and data items manipulated simultaneously.
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.
• Single-instruction, single-data (SISD) systems - An SISD computing system is a
uniprocessor machine which is capable of executing 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 have to be stored in primary memory.
• 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.
•
There are two types of mimd machines-
1. Distributed memory
2. Shared memory
• There are three types of shared memory
Machines:
1. Extended
2. Hierarchical and
3. Bus based
What is pipelining?
• Pipeline is a process of arranging hardware of CPU in such a way that the overall
performance is improved.
• It is such a process through which the overall performance of the hardware is
accelerated.
• Pipelining helps in executing multiple instruction at a time , this speeds up the
process and provides faster access.
• In pipelining multiple stages are there, in this one stage overlap the process of another
stage.
• In the state of time table the vertical column are represented by stage and the
horizontal row by the time slices , in between two stages there is an interface flip flop
that will immediately store the output of the previous stage and provide it as a input
of the next stage.
Difference between Pipelined system and non pipelined
system
Pipelined System Non Pipelined System
• In this multiple instructions are • In this, processes like decoding,
overlapped during execution. fetching, execution and writing
• Many instruction are executed at the memory are merged into a single unit
same time and execution time is or a single step.
comparatively less. • Only one instruction is executed at the
• The efficiently of the pipelining same time and execution time is
system depends upon the comparatively high.
effectiveness of the CPU schedular. • The efficiency is not dependent the
• Execution is done is fewer CPU cycles. CPU schedular.
• Execution requires more on: of CPU
cycles comparatively.