Flynn's Taxonomy is a pretty simple classification of how computers process data. You have data and instructions. How many of each can the processor handle at once? Your options are "just one" or "more than one", leading to four combinations.
Single Instruction, Single Data (SISD)
A processor that can only do only one thing at a time from start to finish. Most computers up until the late 1980s were like this.Single Instruction, Multiple Data (SIMD)
Commonly called a vector processor, this type takes multiple pieces of data and does the same operation to all of them.Common applications include digital signal processors (DSP) and graphics processors. The major issue with SIMD processing is that it requires processing that doesn't rely on the results of some previous step for optimal performance. For example, when processing videos, frames tend to not be reliant on each other when being processed, so SIMD can handle this type of work easily. One type of processing that SIMD doesn't perform well in would be general applications, like running web browser, as there's many points in the processing flow that require data from a previous step. A web page needs the HTML to know the page structure and what else to grab, the CSS to know how to present it, and JavaScript to know how to make it interactive, if needed.
Another issue is it can tickle the way programmers write for SIMD applications. Instead of, for example, writing a loop to add values in an array one by one, one can tell the program to add the values at once.
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 in consumer, server, and supercomputer spaces, due to its limited throughput, but more common in safety critical systems.One major example is multiple redundant systems on aircraft and spacecraft where safety is paramount. However, once these computers are done with the task, they can't save the processed data unless they agree on the answer. For instance, the British Rail Solid State Interlocking
system ran logic through three parallel processors, which then voted to determine the final output. Though sometimes, the redundancy is there for the sake of redundancy: if one computer goes down, another can take its place.
Another version of 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 why when editing the page is locked. This problem is called a race condition.


