Flynn’s classic taxonomy (Flynn, 1966) depends on the number of control units and the multiple processors available in a computer. Flynn’s introduced the following notions −
Single Instruction stream means that architecture has a single control unit generating a single stream of instruction abbreviated as single instruction SI.
Multiple Instruction Stream means that architecture has multiple control units each producing has a distinct stream of instruction abbreviated as MI.
A single data stream is a single processor available which will execute a single stream of data abbreviates as SD.
In multiple data streams, there are multiple processors are available. Each will execute a definite stream of data abbreviated as MD.
It depends on these notions and can classified computers grouping the possible instruction streams and processing methods as displayed in the figure.
SISD defines a computer organization with a control unit, a processing unit, and a memory unit. SISD is just like the serial computer in use. SISD executes instructions sequentially and they can or cannot have parallel processing efficiency.
Instructions executed sequentially can obtain overlapped in their execution phases. A SISD computer can have greater than one functional unit in it. Therefore some functional units are below the administration of one control unit. Parallel processing in such systems can be obtained by pipeline processing or by utilizing multiple functional units.
SIMD represents single-instruction multiple-data streams. The SIMD model of parallel computing includes two parts such as a front-end computer of the usual von Neumann style, and a processor array as displayed in the figure.
This organization contains n processor unit each will distinct instruction over the same data stream. This structure has received very little attention and some practical flaws sometimes it also considers an impractical structure.
MIMD stands for Multiple-instruction multiple-data streams. It includes parallel architectures that are made of multiple processors and multiple memory modules linked via some interconnection network. They fall into two vast types including shared memory or message passing.
A shared memory system generally achieves an interprocessor strategy through a global memory shared by all processors. These are frequently server systems that connect through a bus and cache memory controller.
A message-passing system is also defined as distributed memory. It generally merges the local memory and processor at each node of the interconnection network. There is no global memory, so it is important to transfer information from one local memory to another using message passing. This is frequently completed by a Send/Receive couple of commands, which should be written into the application software by a programmer.