What is Superscalar?
[[Image:Superscalarpipeline.png|thumb|220x220px|right|A simple superscalar pipeline. Up to two instructions can be completed in each cycle by fetching and executing two instructions at once.]] [[Image:Processor board cray-2 hg.jpg|thumb|[[Motherboard|Processor board]] of a [[Cray T3E|CRAY T3e]] parallel computer with four ''superscalar'' [[DEC Alpha|Alpha]] processors]] '''Superscalar''' technology supports basic [[parallel computing]] (specifically, [[instruction level parallelism|instruction-level parallelism]]) on one [[CPU]] (processor), which allows more than one [[Instruction (computer science)|instruction]] in each [[Clock rate|clock cycle]] by using more than one [[execution unit]] at the same time. Superscalar processors are often [[Instruction pipelining|pipelined]] as well, but that's a different technology that allows more than one instruction at once in each execution unit, rather than using multiple execution units at once. Superscalar technology usually involves: * Instructions coming into the processor in order. * The processor looking for [[Data dependency|data dependencies]] while it runs. * Loading more than one instruction in each clock cycle The simplest processors are scalar processors. On a [[scalar processor]], instructions usually work with one or two data items at once. On a [[vector processor]], instructions usually work with many data items at once. A superscalar processor is a mix of a scalar process and a vector processor: each instruction processes one data item, but more than one instruction runs at once, so many data items are handled at once by the processor. In a superscalar processor, it's very important to have an accurate '''[[Out-of-order execution|instruction dispatcher]]''', so that the execution units are always busy with work that probably will be needed. If the instruction dispatcher isn't accurate, the processor will have to throw away some work and might not be any faster than a scalar processor. In 2008, all normal CPUs were superscalar, and could have up to 4