SISD (single instruction and single data stream) SIMD (single instruction and multiple data streams) MISD (Multiple instructions and single data stream) MIMD (Multiple instructions and multiple data streams)
SISD Single Instruction, Single Data (SISD) refers to an Instruction Set Architecture in which a single processor (one CPU) executes exactly one instruction stream at a time and also fetches or stores one item of data at a time to operate on data stored in a single memory unit.
SISD Most of the CPU design, based on the von Neumann architecture, from the beginning till recent times are based on the SISD. The SISD model is a typical non-pipelined architecture with the general-purpose registers, as well as dedicated special registers such as the Program Counter (PC), the Instruction Register (IR), Memory Address Registers (MAR) and Memory Data Registers (MDR).
SISD No instruction parallelism No data parallelism SISD processing architecture example a personal computer processing instructions and data on single processor
SIMD Single Instruction, Multiple Data (SIMD) is an Instruction Set Architecture that have a single control unit (CU) and more than one processing unit (PU) that operates like a von Neumann machine by executing a single instruction stream over PUs, handled through the CU. The CU generates the control signals for all of the PUs and by which executes the same operation on different data streams.
SIMD The SIMD architecture, in effect, is capable of achieving data level parallelism just like with vector processor. Some of the examples of the SIMD based systems include IBM's AltiVec and SPE for PowerPC, HP's PA-RISC Multimedia Acceleration eXtensions (MAX), Intel's MMX and iwMMXt, SSE, SSE2, SSE3 and SSSE3, AMD's 3DNow! etc.
SIMD Multiple data streams in parallel with a single instruction stream SIMD processing architecture example agraphic processor processing instructions for translation or rotation or other operations are done on multiple data An array or matrix is also processed in SIMD
MISD Multiple Instruction, Single Data (MISD) is an Instruction Set Architecture for parallel computing where many functional units perform different operations by executing different instructions on the same data set. This type of architecture is common mainly in the fault-tolerant computers executing the same instructions redundantly in order to detect and mask errors.
MISD Multiple instruction streams in parallel operating on single instruction stream Processing architecture example processing for critical controls of missiles where single data stream processed on different processors to handle faults if any during processing
MIMD Multiple Instruction stream, Multiple Data stream (MIMD) is an Instruction Set Architecture for parallel computing that is typical of the computers with multiprocessors. Using the MIMD, each processor in a multiprocessor system can execute asynchronously different set of the instructions independently on the different set of data units.
MIMD The MIMD based computer systems can used the shared memory in a memory pool or work using distributed memory across heterogeneous network computers in a distributed environment. The MIMD architectures is primarily used in a number of application areas such as computer- aided design/computer-aided manufacturing, simulation, modeling, communication switches etc Multiple processing streams in parallel processiong on parallel data streams
MIMD MIMD processing architecture example is super computer or distributed computing systems with distributed or single shared memory.
The MOMS taxonomy of parallel machines The SIMD/MIMD taxonomy leaves something to be desired, since there are many subclasses of MIMD that do not appear in the model, and one class (MISD) that appears in the model but not in real life. Gustafson (1990) proposes the following taxonomy.