Edge Rewrite
Jump to content

Shared graphics memory

From Wikipedia, the free encyclopedia

Shared graphics memory is a system design in which the graphics chip does not include dedicated memory, and instead may share the main system RAM with the CPU and other components.[1]

This design is used by many graphics cards to reduce cost and complexity, as no additional memory chips are required on the board. Some mechanism (via the BIOS or a jumper setting) to select the amount of system memory to use for graphics. The graphics system can be tailored to use only as much RAM as is required, leaving the rest free. A side effect of this is that when some RAM is allocated for graphics, it becomes unavailable for anything else, so an example computer with 512 MiB RAM set up with 64 MiB graphics RAM will appear to the operating system and user to only have 448 MiB RAM installed.

The disadvantage of this design is lower performance because system RAM usually runs slower than dedicated graphics RAM. Sharing the memory bus increases contention. It may also cause performance issues with the rest of the system if it is not designed to operate with the remaining amount of RAM.

A similar approach that gave similar results is used in some SGi computers, most notably the O2/O2+. The memory in these machines is one fast pool (2.1 GB per second in 1996) shared between system and graphics. Memory is allocated on demand, including pointer redirect communication between the main system and graphics subsystem. This is called Unified Memory Architecture (UMA).

History

[edit]

Most early personal computers used a shared memory design. Such designs reduced costs as a single bank of DRAM could be used for both display and program. Examples of this include Apple II, Commodore 64, Radio Shack Color Computer, Atari ST, and Apple Macintosh.[citation needed]

A notable exception was the IBM PC. Graphics display was facilitated by the use of an expansion card with its own memory occupying an ISA slot.

The first IBM PC to use the SMA was IBM PCjr. Video memory was shared with the first 128 KiB of RAM. Video memory could be reconfigured by software.

An early hybrid was Commodore Amiga, which could run as a shared memory system, but loaded executable code preferentially into non-shared "fast RAM" if it was available.

Later, DirectX 6.1 introduced software support for shared graphics memory. Hardware to further support shared graphics memory included Intel DVMT and NVIDIA TurboCache.

See also

[edit]

References

[edit]
  1. Riccio, Christophe; Cozzi, Patrick (July 2012). OpenGL Insights. CRC Press. p. 536. ISBN 9781040066034. Retrieved February 28, 2026.
[edit]