Key words:
Pentium, processor, single instruction multiple data flow extension instruction, SSE, instruction set
Profile:
With the release of the Intel Pentium III processor, many new features have been brought to the program designers. With these new features, programmers can create better products for users. Many of the new features of Pentium III and Pentium III Xeon (Xeon processors) enable her to run faster than the Pentium II and Pentium II Xeon processors, which include a processor serial number (unique Processor ID) and the Add SSE processor instruction set, these new instruction sets are like the MMX instruction set added by Pentium II on the basis of classic Pentium.
1. Use SSE
After specifically describing the SSE instruction set, let's see how we can use them in the application.
1.1 Assembly language
Traditionally, programmers want to be able to use assembly language to take advantage of new processor features. This is usually necessary because advanced program development tools will only be released by the new version at a suitable time after the processor is officially launched. The same is true of Pentium III. Now, only Intel's C + + compiler and Microsoft Macro Assembler (6.11d and above) know the new SSE instruction set.
There is a paradox here: it is very difficult to write a large, complex application in pure assembly language, but the code written here is the fastest.
We can also use the SSE SDK (Software Developers kit, software Development Kit) to develop packages, Intel provides two programming mechanisms to use the SSE instruction set in the development package: a intrinsics library and a C + + that represents the new data type defined by SSE Class. Using these mechanisms is simpler than simply using assembly language. This is obvious because programmers no longer have to manage SSE registers by themselves, It's easy to create large applications. But the mechanism writes out more slowly than the code written in assembly language. Figure 6 illustrates the contradiction between the speed of execution and the degree of development difficulty of these three development methods.
Figure VI: Contradictions between the speed of program execution and the degree of development difficulty in different development environments