Parallel Processing & Flynn's Taxonomy
1. The Two Variables
- Instruction Stream: A sequence of instructions read from memory and executed by the processor.
- Data Stream: The actual data values being used as operands for those instructions.
2. The Four Architectures
SISD
Single Instruction, Single Data
One processor, one instruction, one piece of data. This is the classic Von Neumann model.
SIMD
Single Instruction, Multiple Data
One instruction is broadcast to multiple processors, which apply it to different data points at once (e.g., Array Processors/GPUs).
MISD
Multiple Instruction, Single Data
The same piece of data is processed by different instructions on different processors. Primarily used for redundancy in critical systems.
MIMD
Multiple Instruction, Multiple Data
Multiple processors, each executing different instructions on different data. This is the basis for all modern multi-core systems.
If an exam question asks you to classify a Multi-core PC, the answer is MIMD. If it asks about a Graphics Card doing 3D rendering, the answer is usually SIMD.