ATI Radeon R600
Published: 16th May 2007 | Source: ATI |
Now onto the Technical bits that make up the r600. As I said earlier this is going to be a brief run-through and not a University dissertation on r600.
Unified Shader Architecture
The R600's design is similar to the xbox360's GPU as it is based on the Unified Superscalar shader architecture.
The Unified Shader Architecture coupled with Microsofts new DirectX 10 API allows the shaders to be 'unified'.
What this means is that instead of having a fixed number of shaders assigned to certain tasks, (eg x1900: 8 vertex shader processors & 48 pixel shader processors) they can be assigned depending on the job at hand meaning all of the shaders are used.
As a result, the GPU will be fully utilised and therefore performance will be enhanced, gaining up to 25% in performance.
Unified Superscalar Shader Architecture
Now I don't need to say that the 2X00 series support DX10 fully with full SM 4.0 support. This is ATI's first card supporting the new Microsoft API and they've followed their Xenos Xbox 360 chip in making r600. In saying that, r600 has taken Xenos that bit futher and gone with a completely unified shader architecture, something nVidia have also done with G80.
ATI have also added a "programmable tessellation unit". This is notable as the current DX10 specification do not include this, although Microsoft is said to have plans in including it at a later stage.
ATI have gone a different router to nVidia in as far as their Shader Units are concerned. This isn't in so much as the actual number (though they do differ), more the approach to the way that each stream processor is layed out. r600 uses a 5-way superscaler shader processor, with 5 parts and 5 instructions per clock. These sit in clusters of 16 shaders (80 stream processing units each cluster altogether) and added to them is a branch execution unit. Added is a 64KB memory read/write cache which can be accessed by any shader cluster. This means that in DX10 architecture you can avoid going through the render backend and write straight to memory.