Flynn's taxonomy

The Flynnsche classification (also called Flynn'sche taxonomy) is a subdivision of computer architectures, which was published in 1966 by Michael J. Flynn. The architectures based on the number of existing instruction (instruction streams) and streams (data streams) are divided. The four-letter abbreviations used SISD, SIMD, MISD and MIMD were derived from the first letters of the descriptions, for example SISD stands for " Single Instruction, Single Data ".

SISD ( Single Instruction, Single Data )

In SISD computers are understood traditional single-core machines, can carry out their tasks sequentially. SISD computers are, for example, personal computers ( PCs) or workstations, which are constructed according to the Von Neumann or Harvard architecture. In the former case, the same memory is used for commands and data, in the latter case they are separated.

SIMD ( Single Instruction, Multiple Data )

An architecture of mainframes or supercomputers. SIMD computer, also known as array processors or vector processor is used for rapid execution of similar arithmetic operations on multiple simultaneous incoming or available input data streams and are mainly used in the processing of image, sound and video data.

This makes sense, because in these areas the data to be processed are usually highly parallelizable. Thus, the operations for the many individual image points are identical, for example, in a video editing. In theory, would be optimal here the execution by a single law applicable to all the points command.

Furthermore, in the multimedia and communications required operations often no simple, single operations, but more extensive chains of command. The insertion of an image and the background, for example, a complex process of mask formation by XOR, preparation of the background using AND and NOT, as well as the superposition of the fields by OR. This requirement is met by the provision of new complex instructions. Thus united, for example, the MMX instruction PANDN an inversion and AND operation of the form x = y AND ( NOT x ).

Many modern processor architectures ( such as PowerPC and x86) now include SIMD extensions which specific additional instruction sets, the same process with a command call several similar records.

However, one must distinguish between commands that perform only the same type arithmetic operations and others that extend into the area of ​​DSP functionality (such as AltiVec in this respect is much more powerful than 3DNow ).

See also:

  • Field Calculator - multiple processors compute in parallel on different data, the same operation
  • Vector processor - virtually parallel processing of multiple data pipelining

MISD ( Multiple Instruction, Single Data )

An architecture of mainframes and supercomputers. The assignment to this class of systems is difficult, it is therefore controversial. Many are of the opinion that it should not exist such systems. One can classify fault-tolerant systems that perform redundant computations in this class. An example of this processor system is a chess computer.

A reaction is the Makropipelining, wherein a plurality of arithmetic units are connected in series. Another is redundant data streams for error detection or correction.

MIMD ( Multiple Instruction, Multiple Data )

An architecture of mainframes and supercomputers. MIMD computers perform simultaneously different operations on different kind of input data streams, and the distribution of tasks is usually performed on the available resources by one or more processors of the processor association itself at runtime. Each processor has access to data from other processors.

A distinction is tightly coupled systems and loosely coupled systems. Tightly coupled systems are multiprocessor systems, while loosely coupled systems are multi- computer systems.

Multiprocessor systems share the available memory and thus are thus a shared-memory system. Current shared-memory systems can be continue in UMA (uniform memory access), NUMA divide (non- uniform memory access) and COMA (cache -only memory access).

People are trying to get to grips with a MIMD problem by solving subproblems. Here again, the problem arises that different subsections of the problem must be synchronized with each other.

An example in this case, the UNIX command would make. Here several related program codes can be simultaneously translated into machine language with multiple processors.

See also:

  • Transputer
  • Distributed system - autonomous processors on different instructions on different data simultaneously
341008
de