Video memory

As a graphic memory ( video memory ) the entire by the graphics hardware (graphics card, onboard graphics chip ) is called usable memory of computers and game consoles. It can be either a reserved section of main memory or an exclusively used in construction for this purpose memory module. (see video RAM )

Development

By the end of the 70s there was no separate and responsible for calculations screen output processing unit. All necessary operations are performed directly by the CPU caches (eg Atari 2600) and in the main memory of the computer.

The first generation

The first generation of graphics cards (up to 1990) used the local graphics memory merely as a frame buffer, ie the pixel data in text mode or the character data is calculated by the CPU and stored in the local graphics memory; the electronics on the card, which can not be referred to as GPU as such here, reads this data then merely repeats and transmits it to the monitor. The then current memory configuration shown in the following overview.

Require the combinations of image resolution and color depth in graphics mode which memory size for display - provided an appropriate monitor - can be read here. In that time still frequent text mode, the memory requirement is much lower.

Windows accelerator

The GPUs in this category were a few commands ( for example draw rectangle ) to conduct independently. The local graphics memory, usually between 1 MB and 8 MB, has been implemented by DRAM, EDO RAM, VRAM or MDRAM. The latter two are semiconductor memory technologies that have been developed specifically for graphics cards.

3D accelerator

Mid-90s, the first true 3D accelerators came on the market. Triangle transformations and texture mapping was calculated from these maps automatically. The first member of the series was 1996, the Voodoo Graphics with 4 MB or 6 MB EDO RAM.

The first graphics card in the retail business with an integrated T & L unit - the end of 1999 Nvidia GeForce256 appeared with 32 MB SGRAM.

Mid-2002 appeared ATI Radeon 9700 Pro with 128 MB DDR SDRAM - the first fully DirectX 9.0 compatible graphics card.

Current status

In current systems, the GPU is located on a separate plug-in card ( PCI usually rare PCI - Express or AGP ) is connected to the CPU and main memory via a bus system. On the plug-in card is specifically balanced for graphics operations semiconductor memory that is available directly to the GPU. New developments in the area of ​​real-time rendering and price erosion in the semiconductor memory segment contribute to the steady growth of video memory. How are graphics cards available with up to 16 GB GDDR 5 - SDRAM.

Another possibility is the integration of the GPU on the motherboard and is used in systems for applications where it is important to not have a high 3D performance (for example, office computers). This affordable and low-performance variant has no dedicated graphics memory; rather a part of the main memory is provided for storing data (shared memory).

Memory contents

What information is stored in the graphics memory?

  • Framebuffer In this regularly read by the RAMDAC memory area continuously held the calculations for image synthesis. The size of the framebuffer depends on the resolution used (for example, 1024 × 768), the depth of color used ( for example, 16 bits per pixel ), the anti- aliasing mode and the frame buffer concept used (for example, double buffering, triple buffering ).
  • Z- buffer Here a value is stored to the depth information for each screen pixel. The size is in turn dependent on the actual accuracy of the values ​​; common are 24 and 32 bits.
  • Vertex shader and pixel shader programs Since DirectX 8.0 game developers machine code operations similar to the deformation of objects or to implement specific graphical effects (eg shadows, mirroring) offered. These are very small, programs are stored directly in graphics memory.
  • Geometry data With the introduction of DirectX, the triangle was set as the default primitive for 3D representation. Accordingly, from composite objects with triangles (polygons ) almost every representable in graphical mode scene. The geometry data order, inter alia, each triangle to the vertices and store with each vertex of the normal vector. The size of this memory area is dependent on the complexity of the computed scene (currently up to 500,000 triangles), that is, the more triangles are to be processed, the greater the geometry data.
  • Texture data All textures of a scene are used mostly for reasons of space compressed in graphics memory stored; Compression algorithms are for example FXT1 and S3TC. This area occupies the largest portion of graphics memory and is dependent on many factors, including the number, size ( up to 8192 × 8192 pixels) and color depth of the textures used.

Bottleneck system

Older graphics cards give off graphics calculations to the CPU. Higher resolutions and more displayable colors grew over time, the flow of data between the CPU and GPU continues on until he was slowed down by the performance of the system bus. Another problem was the used graphics memory. This does not allow simultaneous read and write accesses. The RAMDAC must wait to read out unless the CPU writes to the memory and vice versa. On modern computers the system is the critical power-determining component; showing, in particular, at the current 3D graphics. The following example calculation illustrates this.

  • Representation of a scene in a resolution of 1280 × 1024 pixels with 32 bit color depth and 50 frames per second

This 2100 Mbit per second into account only the necessary to monitor the output stream. The entire incidentals data transmission for image synthesis contributes to the value at nothing. As a consequence, the use of the system bus should be reduced to a minimum.

  • All image synthesis or output resulting calculations are performed by a separate and locally separate from the CPU GPU.
  • The GPU has its own and directly accessible semiconductor memory. The rare possible use of main memory should only be done if the local memory is insufficient.
  • As the semiconductor memory in use is not a normal DRAM should be installed because it does not meet the high demands of the GPU. So DRAM allows for example, no simultaneous read and write operations. This is important for a graphics card, since the RAMDAC continuous parts of memory reads while the GPU results in the memory writes.
  • Memory module
  • Computer Architecture
124670
de