Flynn's taxonomy

Flynn's taxonomy

Flynn's taxonomy is a classification of computer architectures, proposed by Michael J. Flynn in 1966. [Flynn, M., Some Computer Organizations and Their Effectiveness, IEEE Trans. Comput., Vol. C-21, pp. 948, 1972.] [Duncan, Ralph, "A Survey of Parallel Computer Architectures", IEEE Computer. February 1990, pp. 5-16.]


The four classifications defined by Flynn are based upon the number of concurrent instruction (or control) and data streams available in the architecture:

; Single Instruction, Single Data stream (SISD): A sequential computer which exploits no parallelism in either the instruction or data streams. Examples of SISD architecture are the traditional uniprocessor machines like a PC or old mainframes.

; Single Instruction, Multiple Data streams (SIMD): A computer which exploits multiple data streams against a single instruction stream to perform operations which may be naturally parallelized. For example, an array processor or GPU.

; Multiple Instruction, Single Data stream (MISD): Multiple instructions operate on a single data stream. Uncommon architecture which is generally used for fault tolerance. Heterogeneous systems operate on the same data stream and must agree on the result. Examples include the Space Shuttle flight control computer.

; Multiple Instruction, Multiple Data streams (MIMD): Multiple autonomous processors simultaneously executing different instructions on different data. Distributed systems are generally recognized to be MIMD architectures; either exploiting a single shared memory space or a distributed memory space.

Diagram comparing Classifications

Visually, these four architectures are shown below where each "PU" is a processing unit::

Further Divisions

As of 2006, all the top 10 and most of the TOP500 supercomputers are based on a MIMD architecture.

Some further divide the MIMD category into the following categories: [ ] [ ] [ ] [ ] [ ]

; Single Program, Multiple Data (SPMD): Multiple autonomous processors simultaneously executing the same program (but at independent points, rather than in the lockstep that SIMD imposes) on different data. Also referred to as 'Single Process, multiple data' [] . SPMD is the most common style of parallel programming [] . The term was originally coined by Gregory F. Pfister [Frederica Darema, David A. George, V. Alan Norton, and Gregory F. Pfister. "A single-program-multiple-data computational model for epex fortran". Parallel Computing, 7:11-24, 1988.] .

; Multiple Program Multiple Data (MPMD): Multiple autonomous processors simultaneously operating at least 2 independent programs. Typically such systems pick one node to be the "host" ("the explicit host/node programming model") or "manager" (the "Manager/Worker" strategy), which runs one program that farms out data to all the other nodes which all run a second program. Those other nodes then return their results directly to the manager.

Even further subdivisions are sometimes considered [ ] .


External links

* [ Michael J. Flynn]

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Flynn — is a surname of Irish descent specifically meaning ruddy or in general reddish. It may refer to: People as a first name* Flynn Adam Atkins (also known as FLYNN), rapper and member of hip hop group LA Symphony * Flynn Taggart, a fictional… …   Wikipedia

  • Duncan's Taxonomy — is a classification of computer architectures, proposed by Ralph Duncan in 1990.[1] Duncan proposed modifications to Flynn s taxonomy[2] to include pipelined vector processes.[3] Contents 1 Taxonomy …   Wikipedia

  • Michael J. Flynn — Michael Flynn Born May 20, 1934 (1934 05 20) (age 77) New York City …   Wikipedia

  • Flynnsche Taxonomy — Flynnsche Klassifikation   Single Instruction Multiple Instruction Single Data SISD MISD Multiple Data SIMD MIMD Die Flynnsche Klassifikation [1] …   Deutsch Wikipedia

  • Parallel computing — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • MIMD — v · d · …   Wikipedia

  • Simultaneous multithreading — Simultaneous multithreading, often abbreviated as SMT, is a technique for improving the overall efficiency of superscalar CPUs with hardware multithreading. SMT permits multiple independent threads of execution to better utilize the resources… …   Wikipedia

  • Central processing unit — CPU redirects here. For other uses, see CPU (disambiguation). An Intel 80486DX2 CPU from above An Intel 80486DX2 from below …   Wikipedia

  • Microarchitecture — Computer organization redirects here. For organizations that make computers, see List of computer system manufacturers. For one classification of computer architectures, see Flynn s taxonomy. For another classification of instruction set… …   Wikipedia

  • Instruction set — An instruction set, or instruction set architecture (ISA), is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.