main index




Topical Tropes

Other Categories

TV Tropes Org
Kickstarter Message
TV Tropes Needs Your Help
Big things are happening on TV Tropes! New admins, new designs, fewer ads, mobile versions, beta testing opportunities, thematic discovery engine, fun trope tools and toys, and much more - Learn how to help here and discuss here.
View Kickstarter Project
Useful Notes: Flynns Taxonomy
Flynn's Taxonomy is a pretty simple classification of how computers process data. You have data, instructions, one or more. So it breaks it down into four categories.

Single Instruction, Single Data (SISD)

A processor that can only do one job at a time from start to finish. Early computers were like this until the advent of pipelining.

Single Instruction, Multiple Data (SIMD)

Commonly called a vector processor, this type takes multiple pieces of datum and does the same operation to all of them.

Common applications include digital signal processors (DSP) and graphics processors. The problem with SIMD style processing is that it tickles the way programmers write code. Instead of writing a loop to add numbers from two arrays one by one, you tell the program to take the numbers from two arrays at once and add them together. The other issue is that a lot of algorithms don't necessary benefit from SIMD style computing, especially when some parts of the data stream rely on the results of another not in sequence.

Some examples include:
  • A Multi Core Processor in a properly threaded task.
  • The PlayStation 2's VU0 and VU1, which were the forefront of the graphics and other math related tasks. The graphical part would be sent off to its Emotion Engine for further processing.
  • Supercomputers that crunch a ton of data.

Multiple Instructions, Single Data (MISD)

A rare type, since data throughput is limited.

One example could be a superscalar pipeline, but it's arguable since the datum can't be considered the same throughout. Another is multiple redundant systems on spacecraft and airplanes. However, once they're done with the task, they can't save the processed datum until they agree on the answer.

In a naive sense this could be two independent machines working on one piece of data, such as two people working a page in TV Tropes. However, this creates a problem: when one person saves then the other, the previous person's data is overwritten. Hence there's a lock. This problem is called a race condition.

Multiple Instructions, Multiple Data (MIMD)

The modern, multicore, superscalar processor. It can do multiple things on multiple sets of data independently. Also the modern GPU fits this category very well with shader units that are agnostic to what they're doing. A GPU can do geometry work, pixel coloring, physics, and even generic computing. But at the same time, it can morph into a SIMD processor.

Central Processing UnitHow Video Game Specs WorkMulti Core Processor

alternative title(s): Vector Unit
TV Tropes by TV Tropes Foundation, LLC is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Permissions beyond the scope of this license may be available from
Privacy Policy