stringtranslate.com

RAM de video de dos puertos

La RAM de video de doble puerto ( VRAM ) es una variante de doble puerto de la RAM dinámica (DRAM), que alguna vez se usó comúnmente para almacenar el búfer de cuadros en los adaptadores gráficos .

La RAM de doble puerto permite que la CPU lea y escriba datos en la memoria como si fuera un chip DRAM convencional, a la vez que agrega un segundo puerto que lee los datos. Esto facilita la interacción con un controlador de pantalla de video (VDC), que envía una señal de sincronización a la memoria y recibe datos en la secuencia correcta a medida que dibuja la pantalla. Debido a que la CPU y el VDC acceden a la memoria simultáneamente en diferentes puertos, la RAM de doble puerto no requiere que la CPU haga una pausa mientras el VDC usa la memoria, lo que elimina los estados de espera asociados y mejora el rendimiento general del sistema.

La memoria RAM de doble puerto fue común desde mediados de la década de 1980 hasta mediados de la década de 1990. Después de esa fecha, comenzaron a usarse nuevas formas de memoria de alto rendimiento que eventualmente reemplazaron a los diseños de doble puerto. Como estas otras formas de memoria también se conocen como memoria de video y, por lo tanto, VRAM, a veces se las confunde con esta forma más antigua de memoria.

Memoria VRAM de Samsung Electronics

Historia

Los primeros ordenadores utilizaban memoria RAM dinámica [a] para almacenar datos de vídeo que se enviarían a un televisor convencional o a una simple conversión de un televisor que aceptase una entrada de vídeo compuesto . Para trabajar con una pantalla de este tipo es extremadamente importante que el hardware de vídeo emita una señal sincronizada con mucha precisión. A las velocidades a las que funcionaba la memoria contemporánea, la lectura de datos para enviarlos al hardware de vídeo consumía gran parte del rendimiento posible de los dispositivos de memoria. Esto entraba en conflicto con la necesidad de que la unidad central de procesamiento (CPU) escribiera datos en la memoria para que el sistema de vídeo los leyera, ya que ambos no podían utilizar la misma memoria al mismo tiempo.

Se utilizaron dos soluciones generales para evitar problemas de sincronización. Para los sistemas de mayor precio, los sistemas de vídeo tenían su propia memoria dedicada y utilizaban un sistema independiente para que la CPU almacenara datos en ella. Esto eliminaba cualquier posibilidad de contienda por la memoria, pero a costa de requerir una memoria independiente en una época en la que la memoria era muy cara. Además, casi siempre se comunicaba a través de un bus de sistema lento que limitaba la velocidad a la que se podían realizar cambios en la pantalla, lo que dificultaba los gráficos interactivos. La otra solución, utilizada por la mayoría de las computadoras domésticas , era utilizar un único banco de memoria compartido y permitir que el hardware de vídeo controlara el acceso a la memoria, pausando la CPU cuando fuera necesario. Esto puede llevar a un rendimiento informático más lento ya que la CPU se pone repetidamente en estos " estados de espera ", pero tenía la ventaja de ser menos costoso y permitir que la CPU actualizara la pantalla más rápidamente y, por lo tanto, proporcionara más interactividad.

A principios de los años 1980, la introducción de monitores de resolución mucho más alta que exigían framebuffers más grandes y las nuevas interfaces gráficas de usuario (GUI) que requerían alta resolución y alto rendimiento general hicieron que el rendimiento del sistema de video fuera un problema cada vez más difícil. Surgieron sistemas complejos como el Amiga Agnus para controlar cuidadosamente el acceso a la memoria y reducir la contención, pero si bien redujeron el problema, no lo eliminaron.

La solución fue utilizar una memoria a la que pudieran acceder la CPU y el hardware de vídeo al mismo tiempo. Fue inventada por F. Dill, D. Ling y R. Matick en IBM Research en 1980, con una patente emitida en 1985 (patente estadounidense 4.541.075). [1] El primer uso comercial de VRAM fue en un adaptador de gráficos de alta resolución introducido en 1986 por IBM para su sistema RT PC , que estableció un nuevo estándar para las pantallas gráficas. Antes del desarrollo de VRAM, la memoria de doble puerto era bastante cara, lo que limitaba los gráficos de mapa de bits de mayor resolución a las estaciones de trabajo de alta gama. VRAM mejoró el rendimiento general del búfer de cuadros, lo que permitió gráficos en color de alta resolución, alta velocidad y bajo costo. Los sistemas operativos modernos basados ​​en GUI se beneficiaron de esto y, por lo tanto, proporcionaron un ingrediente clave para la proliferación de interfaces gráficas de usuario (GUI) en todo el mundo en ese momento.

Descripción

La RAM dinámica está organizada internamente en una matriz de filas y columnas de capacitores , y cada intersección de fila/columna contiene un solo bit en una celda . En un uso típico, una CPU que accede a una DRAM solicitará una pequeña cantidad de datos a la vez, posiblemente un solo byte . Para leer un byte para la CPU, la DRAM decodifica la dirección proporcionada en una serie de ocho celdas, lee la fila completa que contiene esas celdas y bloquea los datos solicitados para que puedan leerse en el bus de datos . En ese momento, las filas tenían comúnmente 1024 celdas de ancho.

Los dispositivos DRAM son destructivos , lo que significa que el acto de leer una fila también hace que se borren los datos que contiene. Para que los datos sean permanentes, cualquier lectura debe ir seguida de que la DRAM vuelva a escribir los mismos datos en esa fila. Para lograr esto, se deben incluir pestillos separados para toda la fila y los datos se vuelven a escribir en la fila mientras la CPU lee el byte solicitado. Cuando se considera el proceso como un todo, esto significa que la DRAM lee repetidamente filas enteras de datos, selecciona un solo byte de esos datos y descarta el resto, para luego volver a escribirlos todos.

La VRAM funciona sin descartar los bits sobrantes de la fila. En cambio, los datos leídos en el almacenamiento de filas también se envían a un segundo conjunto de pestillos y un cambiador de bits asociado. A partir de ese punto, los datos se pueden leer bit a bit activando el cambiador, y para ello solo se requiere un único pin. La VRAM generalmente no tiene dos buses de direcciones , lo que significa que la CPU y los gráficos aún tienen que intercalar sus accesos al chip, pero como se lee una fila completa de datos en el controlador de gráficos, y esa fila puede representar varias líneas de escaneo en la pantalla, la cantidad de veces que tiene que interrumpir a la CPU se puede reducir en gran medida. [2]

Esta operación se describe en el artículo "All points addressable raster display memory" de R. Matick, D. Ling, S. Gupta y F. Dill, IBM Journal of R&D, vol. 28, n.º 4, julio de 1984, págs. 379-393. Para utilizar el puerto de vídeo, el controlador utiliza primero el puerto DRAM para seleccionar la fila de la matriz de memoria que se va a visualizar. A continuación, la VRAM copia toda esa fila en un búfer de filas interno que es un registro de desplazamiento . A continuación, el controlador puede seguir utilizando el puerto DRAM para dibujar objetos en la pantalla. Mientras tanto, el controlador envía un reloj llamado reloj de desplazamiento (SCLK) al puerto de vídeo de la VRAM. Cada pulso SCLK hace que la VRAM entregue el siguiente bit de datos , en estricto orden de dirección, desde el registro de desplazamiento al puerto de vídeo. Para simplificar, el adaptador gráfico suele estar diseñado de forma que el contenido de una fila, y por tanto el contenido del registro de desplazamiento, corresponda a una línea horizontal completa en la pantalla.

Cambiar a SDRAM

Durante la década de 1990, muchos subsistemas gráficos utilizaban VRAM, y la cantidad de megabits se consideraba un factor de venta. A fines de esa década, las tecnologías DRAM síncronas se volvieron gradualmente asequibles, densas y lo suficientemente rápidas como para reemplazar a la VRAM, a pesar de que solo tiene un puerto y requiere más sobrecarga. Sin embargo, muchos de los conceptos de organización y almacenamiento en búfer interno en chip de la VRAM se han utilizado y mejorado en los adaptadores gráficos modernos.

Véase también

Notas

  1. ^ Y en algunos sistemas tempranos, RAM estática o registros de desplazamiento .

Referencias

  1. ^ Patente US4541075 , recuperada el 7 de junio de 2017
  2. ^ Hoja de datos de VRAM SM55161A 262144×16 bit (PDF) , Austin Semiconductor , consultado el 2 de marzo de 2009