Parallel Processing:
Parallel processing is a term used to denote a large class of techniques that are used to provide simultaneous data-processing tasks for the purpose of increasing the computational speed of a computer system. Instead of processing a single instruction at a time, a parallel processing system is able to process multiple instructions at a time. The purpose of parallel processing is to speed up the computer processing capability and increase its throughput (i.e. the amount of processing that can be accomplished during a given interval of time). The amount of hardware increases with parallel processing so, the cost of the system increases.

In the above figure we can see that the data stored in the processor registers is being sent to separate devices based on operation to be performed on data. If the data inside processor register is requesting for arithmetic operation, then the data will be sent to arithmetic unit. Similarly if it is requesting for logical operation, then the data will be sent to logic unit. Now, in the same time, both arithmetic operations and logical operations are executing in parallel. This is called parallel processing.
Instruction stream → The sequence of instructions read from memory is called an instruction stream.
 Data stream → The operations performed on the data in the processor is called as data stream.
 The computers are classified into 4 types based on the Instruction stream and Data stream, they are called as the Plynns Classification of computers.
Plynns Classification of Computers:
Plynns classification divides computer into four major groups as follows:
- Single instruction stream, single data stream (SISD)
- Single instruction stream, multiple data stream (SIMD)
- Multiple instruction stream, single data stream (MISD)
- Multiple instruction stream, multiple data stream (MIMD)
SISD → SISD represents the organization of a single computer, containing a control unit, a processor unit, and a memory unit. Instructions are executed sequentially and the system may or may not have internal processing capabilities. Parallel functional units or by pipeline processing.
SIMD → SIMD represents an organization that includes many processing units under the supervision of a common control unit. All processors receive the same instruction from the control unit but operate on different items of data.
MISD → MISD structure is only of theoretical interest since no practical system has been constructed using this organization.
MIMD → MIMD organization refers to a computer system capable of processing several programs at the same time. Most multiprocessor and multi-computer systems can be classified in this category.
