Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Do graphic cards have instruction sets of their own?

Do graphic cards have instruction sets of their own? I assume they do, but I have been wondering if they are 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?

like image 300
Matt Avatar asked Nov 08 '09 20:11

Matt


People also ask

Does a graphics card have its own memory?

A discrete graphics card has its own random access memory (RAM), its own cooling system, and dedicated power regulators, with all components designed specifically for processing video images.

What instruction set does Nvidia use?

AFAIK, Nvidia does not publicly document it's hardware instruction sets. The best you can see officially is PTX ISA which is the instruction set of a virtual machine which Nvidia's compiler (or drivers) then convert to the real instruction set to be executed on specific GPU.

Do graphics cards have their own cpus?

A graphics card's processor, called a graphics processing unit (GPU), is similar to a computer's CPU. A GPU, however, is designed specifically for performing the complex mathematical and geometric calculations that are necessary for graphics rendering.

Why do graphics cards have their own memory?

Graphics cards have memory to store rendered frames and provide the GPU with fast access to essential data. The image on the screen is always held on the frame buffer, which is a part of the memory. Textures, shadows, and depth buffers are also stored in the graphics card memory.


2 Answers

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

Take a look here at AMD's R700 instruction set reference guide.

There is also an open source project called Nouveau that does reverse engineering of the Nvidia 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 maps 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.

like image 123
Axel Gneiting Avatar answered Nov 02 '22 21:11

Axel Gneiting


Yes, the GPU have their own proprietrary instruction sets. The GPU instructions are executed independent from the CPU instructions.

like image 30
swegi Avatar answered Nov 02 '22 19:11

swegi