Dawn of Unified Architecture
Graphics processors have come a long way since their origin. Their evolution started with rather simple devices like the GeForce 256 that had a modest selection of fixed-function capabilities. Such chips could not even be called processors in the true sense of the word because they were unable to execute unique program code. It was the Nvidia GeForce 3 (NV20) that became the first truly programmable GPU. It could run pixel and vertex shaders described in the Direct X 8.0 specification.
Later, the graphics processor was evolving in terms of programmability, so that it could execute ever more complex shader code. The GPU eventually transformed into an almost all-purpose computing device with tremendous calculating power and capable of visualizing the most sophisticated special effect the game developer’s imagination could bring forth. With some reservations, it came to be not unlike an ordinary CPU in terms of performance and universality: the maximum length and complexity of shader programs grew up with every new version of DirectX until became virtually infinite in Shader Model 3.0. But all GPUs have had one fundamental limitation until now: their execution units were divided into those that ran pixel and those that ran vertex shaders. So, each graphics processor had to contain two separate sets of units to process each kind of shaders.
This division, although it had a number of advantages, had a negative effect on the overall GPU efficiency. For example, in a pixel shader heavy scene the available pixel processors may turn to lack performance whereas the computational resources of the vertex processors remain uncalled for, or vice versa. Thus, the next step in the evolution of the GPU was evident. The described misbalance problem could only be solved by unifying the shader processors so that the overall load could be distributed among them dynamically depending on the specifics of the processed scene. The new product from Nvidia, the GeForce 8800 (G80) GPU, is the realization of that concept.
Telling you the truth, Nvidia is not a pioneer in this field. It was ATI Technologies that introduced the first graphics chip with unified architecture. It is called Xenos (and is also known under the codename of R500). The Xenos is employed in Microsoft’s Xbox 360 console. It contains 48 unified shader processors and fully supports all of the Shader Model 3.0 capabilities (and even goes beyond them in some aspects). That chip can be regarded as a predecessor to the hero of this article.