With the launch of K6-2, in May 1998, AMD stole something of a march on Intel, whose similar Katmai technology was not due for release until up to a year later, in the first half of 1999. By the end of March 1999 the installed base of 3DNow! technology-enhanced PCs was estimated to have reached about 14 million systems worldwide.
By improving the processor’s ability to handle floating-point calculations, 3DNow! technology closed the growing performance gap between processor and graphics accelerator performance – and eliminated the bottleneck at the beginning of the graphics pipeline. This cleared the way for dramatically improved 3D and multimedia performance.
Processing in the graphics pipeline can be viewed as comprising four stages:
- Physics: The CPU performs floating-point-intensive physics calculations to create simulations of the real world and the objects in it
- Geometry: Next, the CPU transforms mathematical representations of objects into three-dimensional representations, using floating point intensive 3D geometry
- Setup: The CPU starts the process of creating the perspective required for a 3D view, and the graphics accelerator completes it
- Rendering: Finally, the graphics accelerator applies realistic textures to computer-generated objects, using per-pixel calculations of colour, shadow, and position.
Each 3DNow! instruction handles two floating-point operands, and the K6-2 micro-architecture allows it to execute two 3DNow! instructions per clock cycle, giving a total of four floating-point operations per cycle. The K6-2’s multimedia units combine the existing MMX instructions, which accelerate integer-intensive operations, with the new 3DNow! instructions, and both types can execute simultaneously. Of course, with graphics cards which accelerate 3D in hardware, a great deal of 3D rendering is already being done off the CPU. However, with many 3D hardware solutions, that still leaves a lot of heavily floating-point intensive work at the front-end stages of the 3D graphics pipeline – scene generation and geometry mainly, but also triangle setup. Intel’s P6 architecture, as used in Pentium II and Celeron, has always been particularly strong in this area, leaving AMD, Cyrix and IBM behind. The new 3DNow! instruction redress the balance with Single Instruction Multiple Data (SIMD) floating-point operations to enhance 3D geometry setup and MPEG decoding.
A wide range of application types benefited from 3DNow! technology, which was also licensed by Cyrix and IDT/Centaur for use in their processors. As well as games, these included VRML web sites, CAD, speech recognition and software DVD decoding. Performance was further boosted by use with Microsoft’s DirectX 6.0, released in the summer of 1998, which included routines to recognise and get the most out of the new instruction set. Future versions of the OpenGL API were also be optimised for 3DNow!