La memoria de acceso aleatorio (Random Access Memory, RAM) es una memoria de almacenamiento a corto plazo. El sistema operativo de ordenadores u otros dispositivos utiliza la memoria RAM para almacenar de forma temporal todos los programas y sus procesos de ejecución.1 En la RAM se cargan todas las instrucciones que ejecuta la unidad central de procesamiento (CPU) y otras unidades del ordenador, además de contener los datos que manipulan los distintos programas.
Se denominan
«de acceso aleatorio» porque se puede leer o escribir en una posición de
memoria con un tiempo de espera igual para cualquier posición, no
siendo necesario seguir un orden para acceder (acceso secuencial) a la
información de la manera más rápida posible.
Durante el
encendido de la computadora, la rutina POST verifica que los módulos de
RAM estén conectados de manera correcta. En el caso de que no existan o
no se detecten los módulos, en la mayoría de las placas base emiten una
serie de sonidos que indican la ausencia de memoria principal. Terminado
ese proceso, la memoria BIOS puede realizar un test básico sobre la
memoria RAM indicando fallos mayores en la RAM.
La expresión
memoria RAM se utiliza frecuentemente para describir a los módulos de
memoria utilizados en las computadoras personales y servidores.
La
RAM es solo una variedad de la memoria de acceso aleatorio: las ROM,
memorias Flash, caché (SRAM), los registros en procesadores y otras
unidades de procesamiento también poseen la cualidad de presentar
retardos de acceso iguales para cualquier posición.
Los
módulos de RAM son la presentación comercial de este tipo de memoria,
que se compone de circuitos integrados soldados sobre un circuito
impreso independiente, en otros dispositivos como las consolas de
videojuegos, la RAM va soldada directamente sobre la placa principal.
Tipos de RAM
Las dos formas principales de RAM moderna son:
1. SRAM (Static Random Access Memory), RAM estática, memoria estática de acceso aleatorio.
o volátiles.
o no volátiles:
NVRAM (non-volatile random access memory), memoria de acceso aleatorio no volátil
MRAM (magnetoresistive random-access memory), memoria de acceso aleatorio magnetorresistiva o magnética
2. DRAM (Dynamic Random Access Memory), RAM dinámica, memoria dinámica de acceso aleatorio.
o DRAM Asincrónica (Asynchronous Dynamic Random Access Memory), memoria de acceso aleatorio dinámica asincrónica.
FPM RAM (Fast Page Mode RAM)
EDO RAM (Extended Data Output RAM)
o SDRAM (Synchronous Dynamic Random-Access Memory), memoria de acceso aleatorio dinámica sincrónica
Rambus: RDRAM (Rambus Dynamic Random Access Memory)
XDR DRAM (eXtreme Data Rate Dynamic Random Access Memory)
XDR2 DRAM (eXtreme Data Rate two Dynamic Random Access Memory)
SDR SDRAM (Single Data Rate Synchronous Dynamic Random-Access Memory, SDRAM de tasa de datos simple)
DDR SDRAM (Double Data Rate Synchronous Dynamic Random-Access Memory, SDRAM de tasa de datos doble)
DDR2 SDRAM (Double Data Rate type two SDRAM, SDRAM de tasa de datos doble de tipo dos)
DDR3 SDRAM (Double Data Rate type three SDRAM, SDRAM de tasa de datos doble de tipo tres)
DDR4 SDRAM (Double Data Rate type four SDRAM, SDRAM de tasa de datos doble de tipo cuatro).
DDR5 SDRAM (Double Data Rate type five SDRAM, SDRAM de tasa de datos doble de tipo cinco).
DDR6 SDRAM (Double Data Rate type six SDRAM, SDRAM de tasa de datos doble de tipo seis).
Módulos de RAM
La
conexión con los demás componentes se realiza por medio de un área de
pines en uno de los filos del circuito impreso, que permiten que el
módulo al ser instalado en un zócalo o ranura apropiada de la placa
base, tenga buen contacto eléctrico con los controladores de memoria y
las fuentes de alimentación.
La necesidad de hacer intercambiable los
módulos, y de utilizar integrados de distintos fabricantes, condujo al
establecimiento de estándares de la industria como los Joint Electron
Device Engineering Council (JEDEC).
Paquete DIP (Dual In-line Package, paquete de pines en-línea doble).
Paquete
SIPP (Single In-line Pin Package, paquete de pines en-línea simple):
fueron los primeros módulos comerciales de memoria, de formato
propietario, es decir, no había un estándar entre distintas marcas.
Módulos
RIMM (Rambus In-line Memory Module, módulo de memoria en-línea rambus):
Fueron otros módulos propietarios bastante conocidos, ideados por la
empresa RAMBUS.
Módulos SIMM (Single In-line Memory Module, módulo de
memoria en-línea simple): formato usado en computadoras antiguas.
Tenían un bus de datos de 16 o 32 bits.
Módulos DIMM (Dual In-line
Memory Module, módulo de memoria en-línea dual): usado en computadoras
de escritorio. Se caracterizan por tener un bus de datos de 64 bits.
Módulos SO-DIMM (Small Outline DIMM): usado en computadoras portátiles. Formato miniaturizado de DIMM.
Módulos FB-DIMM (Fully-Buffered Dual Inline Memory Module): usado en servidores.
SDR SDRAMMemoria
síncrona, con tiempos de acceso de entre 25 y 10 ns y que se presentan
en módulos DIMM de 168 contactos. Fue utilizada en los Pentium II y en
los Pentium III, así como en los AMD K6, AMD Athlon K7 y Duron. Está muy
extendida la creencia de que se llama SDRAM a secas, y que la
denominación SDR SDRAM es para diferenciarla de la memoria DDR, pero no
es así, simplemente se extendió muy rápido la denominación incorrecta.
El nombre correcto es SDR SDRAM ya que ambas (tanto la SDR como la DDR)
son memorias síncronas dinámicas. Los tipos disponibles son:
• PC66: SDR SDRAM, funciona a un máx de 66,6 MHz.
• PC100: SDR SDRAM, funciona a un máx de 100 MHz.
• PC133: SDR SDRAM, funciona a un máx de 133,3 MHz.
RDRAM
Se presentan en módulos RIMM de 184 contactos. Fue utilizada en los
Pentium 4. Era la memoria más rápida en su tiempo, pero por su elevado
costo fue rápidamente cambiada por la económica DDR. Los tipos
disponibles son:
• PC600: RIMM RDRAM, funciona a un máximo de 300 MHz.
• PC700: RIMM RDRAM, funciona a un máximo de 350 MHz.
• PC800: RIMM RDRAM, funciona a un máximo de 400 MHz.
• PC1066: RIMM RDRAM, funciona a un máximo de 533 MHz.
• PC1200: RIMM RDRAM, funciona a un máximo de 600 MHz.
DDR SDRAM
Memoria
síncrona, envía los datos dos veces por cada ciclo de reloj. De este
modo trabaja al doble de velocidad del bus del sistema, sin necesidad de
aumentar la frecuencia de reloj. Se presenta en módulos DIMM de 184
contactos en el caso de ordenador de escritorio y en módulos de 144
contactos para los ordenadores portátiles.
La
nomenclatura utilizada para definir a los módulos de memoria de tipo
DDR (esto incluye a los formatos DDR2, DDR3 y DDR4) es la siguiente:
DDRx-yyyy PCx-zzzz; donde x representa a la generación DDR en cuestión;
yyyy la frecuencia aparente o efectiva, en Megaciclos por segundo (MHz);
y zzzz la máxima tasa de transferencia de datos por segundo, en
Megabytes, que se puede lograr entre el módulo de memoria y el
controlador de memoria. La tasa de transferencia depende de dos
factores, el ancho de bus de datos (por lo general 64 bits) y la
frecuencia aparente o efectiva de trabajo. La fórmula que se utiliza
para calcular la máxima tasa de transferencia por segundo entre el
módulo de memoria y su controlador, es la siguiente:
Tasa de transferencia en MB/s = (Frecuencia DDR efectiva) × (64 bits / 8 bits por cada byte)5
Por ejemplo:
1
GB DDR-400 PC-3200: Representa un módulo de 1 GB (Gigabyte) de tipo
DDR; con frecuencia aparente o efectiva de trabajo de 400 MHz; y una
tasa de transferencia de datos máxima de 3200 MB/s.
4
GB DDR3-2133 PC3-17000: Representa un módulo de 4 GB de tipo DDR3;
frecuencia aparente o efectiva de trabajo de 2133 MHz; y una tasa de
transferencia de datos máxima de 17000 MB/s.
Los tipos disponibles son:
• PC1600 o DDR 200: funciona a un máx de 200 MHz.
• PC2100 o DDR 266: funciona a un máx de 266,6 MHz.
• PC2700 o DDR 333: funciona a un máx de 333,3 MHz.
• PC3200 o DDR 400: funciona a un máx de 400 MHz.
• PC3500 o DDR 433 funciona a un máx de 433 MHz.
• PC4500 o DDR 500: funciona a una máx de 500 MHz.
DDR2 SDRAM
Las
memorias DDR 2 son una mejora de las memorias DDR (Double Data Rate),
que permiten que los búferes de entrada/salida trabajen al doble de la
frecuencia del núcleo, permitiendo que durante cada ciclo de reloj se
realicen cuatro transferencias. Se presentan en módulos DIMM de 240
contactos. Los tipos disponibles son:
• PC2-3200 o DDR2-400: funciona a un máx de 400 MHz.
• PC2-4200 o DDR2-533: funciona a un máx de 533,3 MHz.
• PC2-5300 o DDR2-667: funciona a un máx de 666,6 MHz.
• PC2-6400 o DDR2-800: funciona a un máx de 800 MHz.
• PC2-8600 o DDR2-1066: funciona a un máx de 1066,6 MHz.
• PC2-9000 o DDR2-1200: funciona a un máx de 1200 MHz.
DDR3 SDRAM
Las
memorias DDR 3 son una mejora de las memorias DDR 2, proporcionan
significantes mejoras en el rendimiento en niveles de bajo voltaje, lo
que lleva consigo una disminución del gasto global de consumo. Los
módulos DIMM DDR 3 tienen 240 pines, el mismo número que DDR 2; sin
embargo, los DIMMs son físicamente incompatibles, debido a una ubicación
diferente de la muesca. Los tipos disponibles son:
• PC3-6400 o DDR3-800: funciona a un máx de 800 MHz.
• PC3-8500 o DDR3-1066: funciona a un máx de 1066,6 MHz.
• PC3-10600 o DDR3-1333: funciona a un máx de 1333,3 MHz.
• PC3-12800 o DDR3-1600: funciona a un máx de 1600 MHz.
• PC3-14900 o DDR3-1866: funciona a un máx de 1866,6 MHz.
• PC3-17000 o DDR3-2133: funciona a un máx de 2133,3 MHz.
• PC3-19200 o DDR3-2400: funciona a un máx de 2400 MHz.
• PC3-21300 o DDR3-2666: funciona a un máx de 2666,6 MHz.
DDR4 SDRAM
• PC4-1600 o DDR4-1600: funciona a un máx de 1600 MHz.
• PC4-1866 o DDR4-1866: funciona a un máx de 1866,6 MHz.
• PC4-17000 o DDR4-2133: funciona a un máx de 2133,3 MHz.
• PC4-19200 o DDR4-2400: funciona a un máx de 2400 MHz.
• PC4-25600 o DDR4-2666: funciona a un máx de 2666,6 MHz.
Relación con el resto del sistema
Dentro
de la jerarquía de memoria, la RAM se encuentra en un nivel después de
los registros del procesador y de las cachés en cuanto a velocidad.
Los
módulos de RAM se conectan eléctricamente a un controlador de memoria
que gestiona las señales entrantes y salientes de los integrados DRAM.
Las señales son de tres tipos: direccionamiento, datos y señales de
control. En el módulo de memoria esas señales están divididas en dos
buses y un conjunto misceláneo de líneas de control y alimentación.
Entre todas forman el bus de memoria que conecta la RAM con su
controlador:
• Bus de datos: son las líneas que llevan información
entre los integrados y el controlador. Por lo general, están agrupados
en octetos siendo de 8, 16, 32 y 64 bits, cantidad que debe igualar el
ancho del bus de datos del procesador. En el pasado, algunos formatos de
módulo, no tenían un ancho de bus igual al del procesador. En ese caso
había que montar módulos en pares o en situaciones extremas, de a 4
módulos, para completar lo que se denominaba banco de memoria, de otro
modo el sistema no funciona. Esa fue la principal razón para aumentar el
número de pines en los módulos, igualando al ancho de bus de
procesadores como el Pentium a 64 bits, a principios de los años 1990.
•
Bus de direcciones: es un bus en el cual se colocan las direcciones de
memoria a las que se requiere acceder. No es igual al bus de
direcciones del resto del sistema, ya que está multiplexado de manera
que la dirección se envía en dos etapas. Para ello, el controlador
realiza temporizaciones y usa las líneas de control. En cada estándar de
módulo se establece un tamaño máximo en bits de este bus, estableciendo
un límite teórico de la capacidad máxima por módulo.
• Señales
misceláneas: entre las que están las de la alimentación (Vdd, Vss) que
se encargan de entregar potencia a los integrados. Están las líneas de
comunicación para el integrado de presencia (Serial Presence Detect) que
sirve para identificar cada módulo. Están las líneas de control entre
las que se encuentran las llamadas RAS (Row Address Strobe) y CAS
(Column Address Strobe) que controlan el bus de direcciones, por último
están las señales de reloj en las memorias sincrónicas SDRAM.
Algunos
controladores de memoria en sistemas como PC y servidores se encuentran
embebidos en el llamado puente norte (North Bridge) de la placa base.
Otros sistemas incluyen el controlador dentro del mismo procesador (en
el caso de los procesadores desde AMD Athlon 64 e Intel Core i7 y
posteriores). En la mayoría de los casos el tipo de memoria que puede
manejar el sistema está limitado por los sockets para RAM instalados en
la placa base, a pesar de que los controladores de memoria en muchos
casos son capaces de conectarse con tecnologías de memoria distintas.
Una
característica especial de algunos controladores de memoria, es el
manejo de la tecnología canal doble o doble canal (Dual Channel), donde
el controlador maneja bancos de memoria de 128 bits, siendo capaz de
entregar los datos de manera intercalada, optando por uno u otro canal,
reduciendo las latencias vistas por el procesador. La mejora en el
desempeño es variable y depende de la configuración y uso del equipo.
Esta característica ha promovido la modificación de los controladores de
memoria, resultando en la aparición de nuevos chipsets (la serie 865 y
875 de Intel) o de nuevos zócalos de procesador en los AMD (el 939 con
canal doble, reemplazo el 754 de canal sencillo). Los equipos de gamas
media y alta por lo general se fabrican basados en chipsets o zócalos
que soportan doble canal o superior, como en el caso del zócalo (socket)
1366 de Intel, que usaba un triple canal de memoria, o su nuevo LGA
2011 que usa cuádruple canal.