Learn something new every day More Info... by email
The part of a computer that allows it to function, carrying out the instructions of various programs, is the central processing unit (CPU). The CPU, also called a processor, receives a program's instructions; decodes those instructions, breaking them into individual parts; executes those instructions; and reports the results, writing them back into memory. The format for that processor comes in one of two primary types: vector and scalar. The difference between the two is that scalar processors operate on only one data point at a time, while vector processors operate on an array of data.
Scalar processors are the most basic type of processor. These process one item at a time, typically integers or floating point numbers, which are numbers too large or small to be represented by integers. As each instruction is handled sequentially, basic scalar processing can take up some time. Most modern computers use a type of scalar processor.
In contrast, vector processors operate on an array of data points. This means that rather than handling each item individually, multiple items that all have the same instruction can be handled at once. This can save time over scalar processing, but also adds complexity to a system, which can slow other functions. Vector processing works best when there is a large amount of data to be processed, groups of which can be handled by one instruction.
Vector and scalar processors also differ in their startup times. A vector processor often requires a prolonged startup of the computer because of the multiple tasks being performed. Scalar processors start a computer in a much shorter amount of time, since only single tasks are being executed.
The superscalar processor takes elements of each type and combines them for even faster processing. Using instruction-level parallelism, superscalar processing can perform multiple operations at the same time. This allows for the CPU to perform much faster than a basic scalar processor, without the additional complexity and other limitations of the vector processor. There can be problems with this type of processor, however, as it must determine which tasks can be performed in parallel and which are dependent on other tasks being completed first.
Vector and scalar processors are still used on a daily basis. Some video game consoles, for example, use a combination of both vector and scalar processors. Vector processing is seen to have promise when dealing with multimedia tasks in which one instruction can address the large amount of data required for video and audio.
@miriam98 - Vector processing would handle some of your problems, but personally I think that it’s overkill. If you only use vector processing for a few functions, and the rest of your software does fine with scalar processing, then you have a lot of unused computer power.
I think that it comes down to a cost-benefit analysis on the part of the computer manufacturers. They can probably pack more power into their machines than they currently have, but who will use it?
If most people won’t need it, then it affects the marketability of the product line. When I think of vector processors and such, I think of physicists working at CERN or some other laboratory needing that power, but not the average computer user.
One of our editors will review your suggestion and make changes if warranted. Note that depending on the number of suggestions we receive, this can take anywhere from a few hours to a few days. Thank you for helping to improve wiseGEEK!