En arquitectura de computadoras , la memoria gráfica compartida se refiere a un diseño en el que el chip gráfico no tiene su propia memoria dedicada y, en cambio, comparte la RAM principal del sistema con la CPU y otros componentes.
Este diseño se utiliza con muchas soluciones de gráficos integrados para reducir el coste y la complejidad del diseño de la placa base , ya que no se necesitan chips de memoria adicionales en la placa. Normalmente hay algún mecanismo (a través del BIOS o una configuración de puente ) para seleccionar la cantidad de memoria del sistema que se utilizará para gráficos, lo que significa que el sistema de gráficos se puede adaptar para utilizar solo la RAM que realmente se necesita, dejando el resto libre para las aplicaciones. Un efecto secundario de esto es que cuando se asigna algo de RAM para gráficos, se vuelve efectivamente indisponible para cualquier otra cosa, por lo que un ordenador de ejemplo con 512 MiB de RAM configurado con 64 MiB de RAM para gráficos aparecerá ante el sistema operativo y el usuario como si solo tuviera 448 MiB de RAM instalados.
La desventaja de este diseño es que el rendimiento es menor porque la RAM del sistema suele funcionar más lentamente que la RAM dedicada a gráficos y hay más contención, ya que el bus de memoria debe compartirse con el resto del sistema. También puede causar problemas de rendimiento con el resto del sistema si no está diseñado teniendo en cuenta que los gráficos "quitarán" parte de la RAM.
Un enfoque similar que dio resultados similares es el aumento de la capacidad gráfica que se utiliza en algunas computadoras SGi , en particular la O2/O2+ . La memoria en estas máquinas es simplemente un conjunto rápido (2,1 GB por segundo en 1996) compartido entre el sistema y la tarjeta gráfica. La compartición se realiza a pedido, incluida la comunicación de redirección de puntero entre el sistema principal y el subsistema gráfico. Esto se llama Arquitectura de memoria unificada (UMA).
La mayoría de las primeras computadoras personales utilizaban un diseño de memoria compartida, en el que el hardware gráfico compartía la memoria con la CPU. Estos diseños ahorraban dinero, ya que se podía utilizar un solo banco de DRAM tanto para la pantalla como para el programa. Algunos ejemplos de esto son la computadora Apple II, la Commodore 64, la Radio Shack Color Computer, la Atari ST y la Apple Macintosh. [ cita requerida ]
Una notable excepción fue el IBM PC. La visualización de gráficos se vio facilitada por el uso de una tarjeta de expansión con su propia memoria conectada a una ranura ISA.
La primera IBM PC que utilizó el SMA fue la IBM PCjr , lanzada en 1984. La memoria de vídeo se compartía con los primeros 128 KiB de RAM. El tamaño exacto de la memoria de vídeo podía reconfigurarse mediante software para satisfacer las necesidades del programa actual.
Uno de los primeros sistemas híbridos fue el Commodore Amiga, que podía funcionar como un sistema de memoria compartida, pero cargaba el código ejecutable preferentemente en " RAM rápida " no compartida si estaba disponible.