Explaination of a CPU's Instructions and Extensions

hyrule571

Distinguished
Dec 7, 2010
280
0
18,790
Hello everyone. I was curious as to what the purpose of the instructions and extensions are in regards to a microprocessor.

What is difference between the two?

How large of an impact in performance would a processor take if one instruction set or extension would be removed from it? For example, take a Westmere-EP Xeon processor. If you removed the CLMUL instruction set, how would this affect the performance of the processor? What if you removed the SSE4.1 extension from the processor, how would this affect the performance of the processor?

When a series of processors are succeeded by a new series of processors, is it fair to say that the new series of processors are faster because they're equipped with more instruction sets and extensions?

Is it even correct to say that a processor is faster when equipped with more instruction sets and extensions? Now, I am aware that there's also other changes and optimizations to a processor's microarchitecture that increase the processor's performance overall. In this case, we're just talking about instructions and extensions that a processor is equipped with.

This topic has been bothering me for a while, so I think it's time to get some information about it! Thanks you for your time guys.
 
Solution
Their purpose is usually to accelerate a certain set of tasks, or handle specific data faster or in a more efficient way. Some of them are also used to accelerate video encoding and transcoding; others deal with encryption and decryption; and so on.

Let's take CLMUL instructions you mentioned for example: according to wiki, "one use of these instructions is to improve the speed of applications doing block cipher encryption in Galois/Counter Mode, which depends on finite field GF(2k)) multiplication".

As far as you can see, this is a very specific scenario. The very same CPU, only without those instructions, would have exactly 0% performance difference unless this scenario is in question.

So, in general, if a certain application is...
Their purpose is usually to accelerate a certain set of tasks, or handle specific data faster or in a more efficient way. Some of them are also used to accelerate video encoding and transcoding; others deal with encryption and decryption; and so on.

Let's take CLMUL instructions you mentioned for example: according to wiki, "one use of these instructions is to improve the speed of applications doing block cipher encryption in Galois/Counter Mode, which depends on finite field GF(2k)) multiplication".

As far as you can see, this is a very specific scenario. The very same CPU, only without those instructions, would have exactly 0% performance difference unless this scenario is in question.

So, in general, if a certain application is written to use the instructions, it will perform better on a CPU that supports them. If not, there will be no difference.
 
Solution