Ir al contenido principal

Memorias

¿Qué es la memoria RAM?

La memoria RAM (Random Access Memory, o Memoria de Acceso Aleatorio) es un tipo de memoria volátil que se utiliza para almacenar los datos y los programas que están en uso activo por el sistema operativo y las aplicaciones.

A diferencia del almacenamiento permanente (como un SSD o un disco rígido), la RAM es muchísimo más rápida y permite acceder a cualquier dato en el mismo tiempo, sin importar dónde esté guardado. Eso es lo que acelera el rendimiento del sistema.

El punto clave es que es volátil: pierde todo su contenido cuando se apaga la computadora. Por eso la RAM no sirve para guardar archivos, sino para tener a mano lo que se está usando en este momento. Cuando se cierra un programa, su contenido en RAM se descarta; lo que se quiera conservar tiene que estar guardado en el disco.

Memoria volátil y no volátil

Esta es la distinción fundamental de todo el tema:

Tipo Qué pasa al apagar Velocidad Para qué se usa Ejemplos
Volátil Pierde todo Muy alta Trabajar con lo que se está usando ahora RAM, caché, registros
No volátil Conserva todo Menor Guardar de forma permanente SSD, disco rígido, memoria flash, ROM

Un archivo que no se guarda en el disco se pierde al apagar el equipo, aunque se haya estado trabajando con él durante horas. Es el motivo por el que los programas insisten tanto en recordar guardar.

Los dos tipos de memoria RAM

Dentro de la RAM hay dos tecnologías distintas, que se usan para cosas distintas:

SRAM

Static RAM

Muy rápida y no necesita refrescarse. Es más cara y ocupa más espacio en el chip.

Se usa en pequeñas cantidades para la memoria caché del procesador.

DRAM

Dynamic RAM

Más lenta, porque necesita refrescarse miles de veces por segundo. Es más barata y permite mucha más capacidad.

Es la que se usa en los módulos de memoria que se instalan en la placa madre. De ahí viene el nombre DDR.

La idea es simple: se combina un poco de SRAM muy rápida y chica (la caché) con bastante DRAM más lenta pero abundante (los módulos), y el procesador intenta trabajar siempre sobre la primera. Es exactamente el principio de la jerarquía de memoria.

La memoria caché

La caché es una memoria pequeña y muy rápida que está dentro del propio procesador. Su función es guardar los datos e instrucciones que se usan con más frecuencia, para no tener que ir a buscarlos a la RAM cada vez.

Está organizada en niveles:

  • Caché L1: la más pequeña y rápida. Está integrada en cada núcleo del procesador.
  • Caché L2: más grande y algo más lenta. También por núcleo.
  • Caché L3: la más grande, compartida entre todos los núcleos.

Cuando el procesador busca un dato y lo encuentra en la caché, se dice que hubo un acierto. Ese acierto es lo que hace que un programa que repite operaciones sobre los mismos datos corra tanto más rápido.

La memoria ROM

Al hablar de memorias aparece siempre la ROM (Read Only Memory, memoria de solo lectura). Es una memoria no volátil que solo puede leerse, y se usa para guardar información que no cambia y que tiene que estar disponible apenas el equipo recibe energía.

Su aplicación más conocida es la BIOS: el firmware que vive en un chip de la placa madre y que arranca la computadora antes que cualquier otra cosa. Sus variantes modernas, como la memoria flash, permiten además reescribir el contenido, y eso es lo que hace posible actualizar la BIOS cuando el fabricante publica una versión nueva.

Este tema se explica en detalle en BIOS y UEFI.

Velocidad y ancho de banda

La velocidad de la memoria RAM se describe con dos medidas que conviene no confundir:

  • La frecuencia, medida en MHz: cuántos ciclos puede completar la memoria por segundo. Cuanto más alto, más rápido responde.
  • El ancho de banda, medido en GB/s: cuánta información puede transferir por segundo. Es el dato que realmente importa para juzgar el rendimiento.

Los dos están relacionados, porque el ancho de banda depende de la frecuencia y de cuántos datos se transfieran por ciclo. Y hay un detalle que multiplica el resultado: cuando se instalan los módulos en doble canal, la memoria puede trabajar por dos caminos a la vez y el ancho de banda se duplica.

Los buses: direcciones, datos y control

La memoria no está unida al procesador por un cable único, sino por un bus: un conjunto de conductores paralelos por los que viaja la información entre los componentes. Cada conductor transporta un bit por vez, así que cuantos más conductores tenga el bus, más información viaja de un solo golpe. Ese conjunto de conductores es el ancho del bus.

Y por el bus de memoria no viaja una sola cosa, sino tres, cada una con su propio grupo de líneas. Distinguirlas es la clave para entender cómo funciona una lectura de memoria.

Bus de direcciones

Por acá viaja la dirección de la celda que se quiere leer o escribir: es el "domicilio" del dato. Va en un solo sentido, del procesador hacia la memoria, porque la memoria no pide nada: solo responde a lo que le piden.

Su ancho no es un detalle, porque define cuánta memoria se puede direccionar. Con n líneas se pueden distinguir 2n posiciones distintas, y ahí aparece la cuenta que explica los límites de cada época: con 32 líneas se llega a 4 GB, con 36 líneas a 64 GB, y los procesadores actuales usan alrededor de 40 líneas o más. Por eso a un procesador de 32 bits no se le pueden poner más de 4 GB de memoria: no es una limitación del sistema operativo, es que le faltan cables para nombrar tantas posiciones.

Bus de datos

Por acá viaja el dato en sí: lo que se leyó de la memoria o lo que se quiere escribir en ella. A diferencia del anterior, es bidireccional, porque la información va en los dos sentidos.

Su ancho dice cuánta información viaja de una vez: 8, 16, 32 o 64 bits. Un módulo de memoria actual tiene 64 líneas de datos, y por eso el doble canal duplica el ancho de banda: son dos grupos de 64 líneas trabajando en paralelo, o sea 128 bits por transferencia.

Bus de control

Por acá van las órdenes y la sincronización. Es el bus que dice qué hacer y cuándo: si la operación es de lectura o de escritura, cuál de los módulos debe responder, cuándo hay que refrescar la memoria y cuál es el compás de todo, que lo marca la señal de reloj.

En la DRAM clásica, parte de estas señales resolvían un problema práctico: como las direcciones no cabían en un solo envío, se mandaban en dos mitades, primero la fila y después la columna, y dos señales avisaban cuál de las dos estaba llegando (RAS y CAS, por row y column address strobe). De ahí salen las latencias que todavía hoy se publican como CL.

Bus Qué lleva Sentido Ancho típico De qué es responsable
Direcciones La posición de la celda que se busca Solo de ida: del procesador a la memoria 32 a 46 líneas según la época De cuánta memoria se puede direccionar
Datos El dato que se lee o se escribe En los dos sentidos 64 líneas por canal De cuánta información viaja de una vez
Control Las órdenes y las señales de tiempo Del procesador a la memoria, con algunas respuestas de vuelta Unas pocas líneas De qué operación se hace y cuándo

Con los tres buses separados, una lectura de memoria se entiende de corrido:

  1. El procesador pone en el bus de direcciones la posición de la celda que busca.
  2. En el bus de control marca que la operación es una lectura.
  3. La memoria ubica esa posición —fila y columna, en la DRAM— y copia el contenido al bus de datos.
  4. El dato viaja de vuelta. El tiempo que pasó desde el pedido hasta que el dato estuvo disponible es la latencia.

De estas tres piezas salen las dos medidas de las que se hablaba más arriba: el ancho del bus de datos y la frecuencia del bus determinan el ancho de banda, porque cada transferencia mueve tantos bits y se hacen tantas por segundo. Y la latencia depende del camino y de la lógica de la memoria, no del ancho: por eso ampliar un bus suma velocidad de conjunto, pero no acorta la espera de un dato pedido.

El recorrido completo de los buses en el sistema —el bus rápido que une procesador, memoria y placa de video, y los más lentos que van a los periféricos— está en Los buses del sistema. Y en una computadora actual el bus de memoria ya no sale del procesador como antes: el controlador de memoria está dentro del chip y desde ahí salen los canales DDR (ver Microprocesador).

La evolución de la tecnología DDR

La memoria RAM ha ido evolucionando por generaciones. Cada salto representa más velocidad y más ancho de banda, pero también una incompatibilidad total con la generación anterior: los módulos no entran físicamente en las ranuras de otro tipo.

Generación Velocidad Ancho de banda por canal Época
DDR
Double Data Rate
200 – 400 MHz Hasta 3,2 GB/s Principios de los 2000
DDR2 400 – 1066 MHz Hasta 8,5 GB/s Mediados de los 2000
DDR3 800 – 2133 MHz Hasta 17 GB/s Finales de los 2000 y principios de los 2010
DDR4 2133 – 4800 MHz Hasta 25,6 GB/s Desde 2014
DDR5 4800 – 8400 MHz y más Hasta 38,4 GB/s y más Desde 2020

Ojo con el nombre: DDR significa Double Data Rate (velocidad de datos doble) porque estas memorias transfieren datos dos veces por ciclo de reloj, en el flanco de subida y en el de bajada. Eso les permite duplicar el rendimiento sin aumentar la frecuencia.

¿Cuánta memoria hace falta?

Cantidad Alcanza para
4 GBUso muy básico: navegar y editar documentos de a uno. Es el mínimo exigible hoy.
8 GBEstudio y trabajo general, con varias pestañas del navegador abiertas. Es el piso recomendable.
16 GBUso cómodo, edición de imágenes y video liviano, programación.
32 GB o másEdición de video profesional, máquinas virtuales, diseño 3D.

Video: la memoria RAM

Cómo se fabrica una memoria RAM: