Single instruction, multiple data
SIMD is an acroynm for Single Instruction, Multiple Data. It is a computing term that refers to a set of operations for effeciently handling large quantities of data, a modern version of a vector processor.
An example of an an application that can take advantage of SIMD is one where the same value is being added to a large number of data points. This is common when lightening or darkening an image for instance. In a traditional CPU each data point from the image would have to be loaded, the number added to it, and then the new value saved back out again.
With a SIMD processor there are two improvements to this process. For one the data is understood to be in blocks, and a number of values can be loaded all at once. For a variety of reasons, this can take much less time than it would to load each one by one. The other advantage is that SIMD systems typically include only those instructions that can be applied to all of the data in one operation. In other words if the SIMD system works by loading up eight data points at once, the add will happen to all eight values at the same time.
Sadly many SIMD designers are hampered by design considerations outside their control. One of these considerations is the cost of adding registers for holding the data to be processed. Ideally one would want the SIMD units of the CPU to have their own registers, but many are forced for practical reasons to re-use existing CPU registers - typically the floating point registers. These tend to be 64-bits in size, smaller than optimal for SIMD use, as well as leading to problems if the code attempts to use both SIMD and normal floating point instructions at the same time - at which point the units fight over the registers.
In the past there were a number of dedicated processors for this sort of task, commonly referred to as Digital Signal Processors, or DSPs. The main difference between SIMD and DSP is that DSPs were complete processors with their own (often difficult to use) instruction set, whereas with a SIMD design you rely on the general-purpose CPU to handle the program details and the SIMD instructions handle the data manipulation only (no logic).
The first obvious use of SIMD was PA-RISC's MAX instruction set, dating to before 1994. Today SIMD instructions can be found to one degree or another on most CPUs, including the PowerPC's AltiVec, Intel's MMX and SSE (formerly KNI), SPARCs VIS and the MIPS MIPS V, MDMX and MIPS-3D. However the majority of the market ignores this functionality as it is often offloaded to special-purpose hardware like the graphics card anyway.
Note:
There is a more general definition of SIMD which refers to parallel processing, as opposed to MIMD. This is not widely used.