Differences between scalar and superscalar processors generally
boil down to quantity and speed. A scalar processor, considered to
be the simplest of all processors, works on one or two computer
data items at a given time. The superscalar processor works on
multiple instructions and several groups of multiple data items at
a time. Scalar and superscalar processors both function the same
way in terms of how they manipulate data, but their difference lies
in how many manipulations and data items they can work on in a
given time. Superscalar processors can handle multiple instructions
and data items, while the scalarprocessor simply cannot, therefore
making the former a more powerful processor than the latter.
Scalar and superscalar processors both have some similarities
with vector processors. Like ascalar processor, a vector processor
also executes a single instruction at a time, but instead of just
manipulating one data item, its single instruction can access
multiple data items. Similar with the superscalar processor, a
vector processor has several redundant functional units that let it
manipulate multiple data items, but it can only work on a single
instruction at a time. In essence, a superscalar processor is a
combination of a scalar processor and a vector processor.