Streaming SIMD Instructions
What can we look forward to in SSE, formerly known as KNI? We've seen what 3DNow can do for the anemic floating point performance of the K6-2, so can we expect to see the same performance increase for Pentium III? Well, that's a complicated question (ugh). Here's the lowdown!
SSE greatly increases the efficiency of floating point calculations by being able to work on four numbers in one clock cycle. 3DNow essentially does the same, but instead uses two instructions to handle half the load each. What makes SSE different is that it can simultaneously handle single-precision (for SIMD) and double-precision ("normal" x86 floating point) instructions - in short there is no penalty for switching from SIMD to normal x87 (in contrast to 3DNow!), as long as programs take advantage of the Pentium III's new processor mode.
What's that about a new processor mode? Yep, for the first time since the 80386 was released, Intel has introduced a new processor mode, or state, to the x86 architecture. What exactly does this mean? Well, remember back when MMX was released? The one big flaw (besides the fact that MMX didn't turn out to be quite as useful as first anticipated) was that the Pentium couldn't switch from MMX to regular floating point without incurring a heavy penalty. This made it virtually impossible for applications to use both MMX and FPU, and thus heavily floating-point intensive games such as Quake did not support MMX.
Intel is looking to change that with SSE. With its new processor state, the x87 and MMX instructions can access SSE registers, and as such the data between them can all be shared. Is this a good thing? Yes and no. Having the ability to use x86/MMX/SSE instructions without switching penalty is excellent, but incurring a new CPU state is not. At the most basic level, this means that in order to take full advantage of SSE's new instructions, software must be heavily rewritten and re-coded.
In the real world, this means that only the most popular games may be patched to support SSE - most SSE-ready titles will have to be new apps designed and written from the ground up. In the past 6-7 months, Intel has seeded application and game companies with SSE machines, as well has technical help and money, in order to push for simultaneous release of SSE software with the Pentium III processor. A few games just coming out, such as Wargasm, and Descent III, do have Katmai support built in, but how do they fare?