Single Instruction Single Data
The original Von Neumann Architecture that does not employ any kind of parallelism. The sequential processor takes data from a single address in memory and performs a single instruction on the data. All single processor systems are SISD.
- Older Computers
- Low power requirements as only a single core
- Simpler architecture than others therefore cheaper and easier to manufacture
- Speed of the system limited due to it being a single core
Single Instruction Multiple Data
A single instruction is executed on multiple different data streams. These instructions can be performed sequentially, taking advantage of pipelining, or in parallel using multiple processors. Modern GPUs, containing Vector processors and array processors, are commonly SIMD systems.
- Graphics Processing Units
- Very efficient where you need to perform instruction on large amounts of data
Multiple Instruction Single Data
In this architecture multiple instructions are performed on a single data stream. An uncommon type commonly used for fault tolerance. Different systems perform operations on the data and all the results must agree. Used on flight control systems where fault detection is critical.
- Not used commercially.
- Some specific use systems (space flight control)
- Excellent for situation where fault tolerance is critical
Multiple Instruction Multiple Data
Multiple autonomous processors perform operations on difference pieces of data, either independently or as part of shared memory space.
- Most modern desktop / laptop / mobile processors are MIMD processors.
- Great for situations where you need to perform a variety of processor and data intensive tasks (such as video editing, game rendering)
Resources & Quiz