Un Random Access Memory Digital-to-Analog Converter ( RAMDAC o convertidor digital-analògic de RAM) és l'encarregat de transformar els senyals digitals amb els quals treballa l'ordinador en una sortida analògica que pugui ser interpretada pel monitor. Aquest és format per tres DACs ràpids amb una petita SRAM i és utilitzada en adaptadors gràfics per emmagatzemar la paleta de colors i generar un senyal analògic (generalment una amplitud de voltatge) per posteriorment mostrar en un monitor a color. El nombre de color lògic de la memòria de pantalla és situat en les adreces d'entrada de la SRAM per a seleccionar un valor de la paleta que apareix a la sortida de la SRAM. Aquest valor es descompon en tres valors separats que corresponen als tres components (vermell, verd, i blau) del color físic desitjat. Cada component del valor alimenta un DAC separat, la sortida analògica va al monitor, i en última instància a un dels seus tres canons d'electrons (o els seus equivalent a les pantalles sense tub de raigs catòdics).

La longitud d'una paraula en el DAC oscil·la generalment en un rang de 6 a 10 bits. La longitud de la paraula de la SRAM és tres vegades la de la paraula del DAC. La SRAM actua com una taula de cerca de color (Color Lookup Table o CLUT en anglès). Té generalment 256 entrades (el que ens dona una adreça de 8 bits). Si la paraula del DAC és també de 8 bits, tenim 256 x 24 bits de la SRAM el que ens permet seleccionar entre 256-16777216 colors possibles per a la pantalla. El contingut de la SRAM pot canviar mentre que la pantalla no està activa (durant els temps de blanqueig de la pantalla).

La SRAM pot usualment ser pont i carregar els DACs directament amb les dades de pantalla, per la modalitat de color veritable. De fet aquest és la manera habitual d'operar del RAMDAC des de mitjans dels 90, per la qual cosa la paleta programable es conserva com una prestació heretada per assegurar la compatibilitat amb el vell programari. En la majoria de targetes gràfiques modernes, pot programar-se el RAMDAC amb altes freqüències de rellotge en modes de color veritable, durant els quals no es fa servir la SRAM.

Història modifica

El terme RAMDAC no es va començar a utilitzar en l'argot del PC fins que IBM va introduir la VGA el 1987. La targeta gràfica IBM VGA utilitzava el RAMDAC Inmosan G171 RAMDAC. Aquest era un xip separat, que oferia 256 colors simultanis en pantalla (CLUT de 8 bits) d'una paleta de 262.144 colors possibles, i suportava ràtios de fins a 30 MPixel/s.

Els fabricants de PC compatibles van copiar el maquinari de la IBM VGA, també utilitzant el Inmosan VGA RAMDAC. Els avenços en la fabricació de semiconductor i l'augment de potència en els PC van permetre als RAMDACs afegir operacions de "color directe", que és una manera d'operació que permet que el controlador SVGA passi directament els valors de color de cada píxel a les entrades dels DAC, saltant el pas per la SRAM. Una altra innovació va ser el CEGDAC de Edsun, que presentava anti-àlies per maquinari per a les operacions de dibuix vectorial de línies.

A principis dels 90, la indústria del xip per a PC havia avançat fins al punt que el RAMDAC s'integrava en el xip controlador SVGA, reduint el nombre de xips auxiliars i abaratint el cost de les targetes SVGA. Això va portar la desaparició del mercat de RAMDACs independents per VGA. Avui, encara es fabriquen aquests RAMDACs per vetes de mercat, conseqüentment en quantitats limitades.

En els moderns PC, els RAMDACs VGA estan integrats en el xip de vídeo, que al seu torn pot anar muntat en targetes d'ampliació o directament a la placa mare del PC, com xip independent o formant part del chipset de la placa (com passa amb nombrosos xipsets de Intel o NVIDIA), fins i tot de la mateixa CPU (un xip de Cyrix). El propòsit original del RAMDAC, proporcionar uns modes gràfics basats en CLUT, s'utilitza rarament avui en dia, havent estat substituït per la modalitat true color . A mesura que guanyen popularitat i prestacions les pantalles TFT, LCD i altres tecnologies de pantalles digitals, més obsoleta es torna la part DAC dels RAMDACs.