I've been googling this around and yet nothing showed up but some articles from middle ages which were talking about Gforce mx and ... . My question is just this: what are the different memories in a high-end graphics card and what is their size and usage?
|
|
There are memories where you have read/write access to it I use the Fermi architecture for this example.
Read-/Writeable:Global Memory (DRAM) Register file Shared Memory
Controlled by GPU:Instruction Cache |
|||
|
|
|
Generally in the old days you'd read things like how a Voodoo 2 might have 2 mb of texture memory per TMU and 4 mb of framebuffer memory, and everything would have been segmented in a similar manner on other models. I suspect that this is what you might be asking about. That kind of setup doesn't exist any more. Since the late 90s a GPU has had unified memory. To take another Jurassic piece of kit as an example, a TNT might have been specced at 16 mb, but there was no segmentation. If textures needed (say) 10 mb, they could take 10 mb. If the framebuffer needed 12 mb it could likewise take all 12. All modern GPUs are like this. There was a certain art to programming for the old way. Looking through the old Quake 2 source code, for example, I can see that it always bound it's lightmaps to GL_TEXTURE1, even when building them at load time - quite clearly to ensure that the texture always stayed in the memory space which was segmented off for that TMU. But by and large it's a good thing that we don't have to deal with this kind of thing nowadays. |
|||
|
|