Flynn classified architecture in terms of streams of data and instructions. The essence of the idea is that computing activity in every machine is based on:
i. Stream of instructions, i.e., sequence of instructions executed by the machine.
ii. Stream of data, i.e., sequence of data including input, temporary or partial results referred by the instructions.
Further a machine may have a single or multiple streams of each kind. Based on these, computer architecture are characterized by the multiplicity of the hardware to serve instructions and data streams as follows:
I. SISD: Single Instruction and single data stream
II. SIMD: Single Instruction and Multiple Data Stream
III. MIMD: Multiple Instruction and Multiple Data Stream
IV. MISD: Multiple Instruction and Single Data Stream
Figure below shows the architecture based on the above four possibilities.
The SISD architecture corresponds to the conventional sequential computers. The SIMD architecture represents the synchronous multiprocessor in which a common instruction stream coming from a control unit is applied to all the PE’s operating in its own data stream.
The conventional multiprocessors are based on the MIMD architectures since the individual processors operate on the programs having their own instructions and data MISD architecture is used in specialized applications where the same data stream is required to be transformed simultaneously in a number of ways. There are no visible example of MISD architecture.
- The above classification scheme is too broad. It puts everything expect multiprocessor in one class. Johnson expanded the classification of MIMD machine as shown in figure below to account for current architecture.
- Classification scheme does not reflect the concurrency available through the pipeline processing and thus puts vector computers in SISD class.