Superscalar Processors (SP)

One type of architecture, where superscalar is a uniprocessor that can execute two or more scalar operations in parallel.

It is one of the designs to increase CPU speed. Most of today's computers use this superscalar mechanism. The standard pipeline used is for processing integer mathematical numbers (whole numbers, numbers that do not have fractions), most CPUs also have the ability to process floating point data (numbers with decimal places).

Pipelines that process integers can also be used to process floating point data, but for certain applications, especially for scientific applications, CPUs that have floating point processing capabilities can increase the processing speed dramatically.

The events that can be done with this superscalar method are in terms of estimating instruction branching (brach prediction) and command execution estimation (speculative execution). This event is very beneficial for programs that require branching from the group of instructions they run.

Programs consisting of groups of branching commands are often used in programming. For example, in determining the activities carried out by a system based on the age of a person being processed, say if the person is over 18 years old, then instructions related to that age will be applied, assume that the person is considered an adult, while for other conditions it is considered immature. Of course, the treatment will be differentiated according to the system being run.

So what does the CPU do for this? The computer will compare the age value of the data it obtains with 18 years so that the computer can determine the steps and attitudes it must take based on the results of the comparison. The attitude taken will of course be taken based on the existing branching.

On CPUs that support this branching instruction, the CPU requires quite a few clock cycles, since the CPU puts everything in the pipeline and finds the next instruction to execute. The branch prediction circuit does this work in conjunction with the pipeline, which is done before the ALU process is executed, and predicts the outcome of the branch.

If the CPU thinks that a branch will lead to a branch, usually based on previous work, then the next instruction is already prepared to be executed along with its data, even with this pipeline, if no reference is needed from the last instruction, then it can be executed immediately, because the data and instructions needed have been prepared beforehand.

In terms of speculative execution, it means that the CPU will use calculations on different pipelines based on the possibilities estimated by the computer. If the possibilities carried out by the computer are correct, then the results can be taken directly and just continue with the next command, while if the possibilities estimated by the computer are not correct, then other possibilities will be carried out according to the logic of the instruction.

The technique used for pipeline and superscalar can carry out branch prediction and speculative execution, of course, requires a lot of extra transistors for this. As a comparison, the computer that generated the processing on the first PC released by IBM on the 8088 machine had around 29,000 transistors. While on the Pentium III machine, with superscalar and superpipeline technology, supporting branch prediction, speculative execution and various other capabilities has around 7.5 million transistors. Some other recent CPUs such as the HP 8500 have around 140 million transistors.

Superscalar users Intel x86 processors that use the superscalar architecture are the Intel Pentium, Intel Pentium Pro, Intel Pentium II, Intel Pentium III, Intel Itanium, Intel Xeon, Intel Pentium 4, Intel Pentium M, Intel Core families from Intel Corporation. AMD K5, AMD K6, AMD Athlon, AMD Athlon 64, and AMD Opteron families.


Post a Comment

Previous Next

نموذج الاتصال