Do graphic cards have instruction sets of their own?

Matt picture Matt · Nov 8, 2009 · Viewed 24.1k times · Source

Do graphic cards have instruction sets of their own? I assume they do, but I have been wondering if it is proprietary or if there is some sort of open standard.

Is every GPU instruction preceded by a CPU instruction or is it seamless? That is does OpenGL or DirectX call on the driver layer via the CPU which then sends a GPU instruction down the bus or is it more elaborate.

Answer

Axel Gneiting picture Axel Gneiting · Nov 8, 2009

Yes they do. AMD does even provide the specification up to the HD4000 series at the moment.

Take a look here: http://developer.amd.com/wordpress/media/2012/10/R700-Family_Instruction_Set_Architecture.pdf

There is also a open source project called Nouveau that does reverse engineering of the NV instruction sets.

Note, that NVIDIA has a slightly different architecture than AMD, because they do not use VLIW but scalar execution (although multiple threads are additionally grouped in what is called a Warp or a Wavefront).

Also not every OpenGL/Direct3D call does map to a "GPU instruction". For example when binding a texture the driver will only set appropriate hardware registers that tell the GPU which texture memory to use for sampling.

Real programs are only run when executing shaders or stream processing kernels on the GPU.