Flynn's Taxonomy
Flynn's Taxonomy classifies computer architectures according to how many instruction streams and data streams they can process simultaneously, dividing them into four categories: SISD, SIMD, MISD, and MIMD.

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. All the instructions and data to be processed have to be stored in primary memory.

The speed of the processing element in the SISD model is limited by the rate at which the computer can transfer information internally.
Single-Instruction, Multiple-Data(SIMD) Systems
An SIMD system is a multiprocessor machine capable of executing the same instruction on al 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.
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 seperate instruction and data streams. Unlike SIMD and MISD machines, PEs in MIMD machines work asynchronously.

MIMD machines are classified into shared-memory and distributed-memory models depending on how processors connect to memory. In a shared-memory MIMD system, all processors use the same global memory, and communication happens through it.
In a distributed-memory MIMD system, each processor has its own local memory, and they communicate through an interconnection netowrk.