La memoria RAM

La memoria RAM (Random Access Memory) de un ordenador, es una memoria de alta velocidad que el ordenador emplea para guarda los programas y los datos con los que está trabajando. También conocida como la RAM del Sistema, ya que es la memoria principal de este.

La memoria RAM
La memoria RAM

Estas memorias son más caras y tienen menor capacidad que los discos duros, pero son muchos más rápidas. Si trabajáramos directamente con el Disco duro, leyendo y escribiendo la información durante la ejecución de un programa, el tiempo de acceso a los datos aumentaría considerablemente y todo el sistema se vería ralentizado. Es por este motivo que la RAM del Sistema es crítica y determina en gran medida el rendimiento de un equipo.

Cuando el usuario quiera trabajar con un programa, lo primero que hace la CPU es recuperarlo del disco duro y cargarlo en la Memoria del Sistema. De esta forma, lo tendrá accesible a una velocidad mucho más elevada. Así pues, por norma general, cuanto más RAM tengas en tu ordenador, más rápido va a funcionar.

Con todo, hay remarcar que las memorias RAM no son las más rápidas de todas las disponibles en el ordenador. Las memorias Caché son más rápidas, pero tienen una capacidad muy inferior a las RAM. Así pues, la ventaja de estas últimas, lo que hace que se empleen como memoria del Sistema, es su equilibrio entre alta velocidad y gran capacidad de almacenamiento.

Tarjetas de memoria RAM

La RAM del sistema se presenta en unas tarjetas que se conectan a la placa base y que tienen soldados los distintos circuitos integrados de memoria. En no pocas ocasiones nos referimos a las tarjetas de memoria RAM como los módulos de RAM. En la siguiente figura puede observarse el aspecto de un módulo RAM

Módulo RAM
Módulo RAM

La placa madre viene provista de varias ranuras para conectar estas tarjetas de memoria, pudiendo ampliar la RAM de nuestro ordenador conectando más módulos.

Ranuras de la RAM
Ranuras de la RAM en la placa base

Las tarjetas de RAM pueden tener soldados circuitos integrados de memoria en una o en ambas caras. El primer caso son los módulos conocidos como Single Rank, mientras el segundo es Dual Rank. Los fabricantes utilizan el Dual Rank para ampliar la capacidad de sus módulos.

Características de las memorias RAM

Todas las memorias RAM tienen dos características principales:

  • Son volátiles: pierden la información almacena si se interrumpe la alimentación eléctrica.
  • Y son de acceso aleatorio: podemos acceder a cualquier dirección aleatoria de memoria. Cosa que no es posible con las memorias de acceso secuencial, en las que hay que leer siempre los datos empezando por el principio.

Pero estas son las características comunes, ¿Cuáles son aquellas que nos permiten diferenciar las distintas memorias RAM y escoger la que mejor se adapte a nuestras necesidades? Además, a la hora de escoger los módulos de memoria a instalar en tu ordenador, es muy importante que compruebes la compatibilidad con la placa base. Por todo ello, es importante conocer estas otras características que listo a continuación:

  • Bus de datos: Es el canal por el que circulan los datos. El modulo de la RAM tiene que tener las conexiones adecuadas para trabajar con el bus de datos de la placa base (normalmente 64 bits)
  • Bus de direcciones: El canal por el que se indica a la memoria la posición a la que se quiere acceder. Tiene que ser posible direccionar todas las posiciones de memoria empleando los bits del bus de direcciones.
  • Bus de control: Controla si estamos recuperando o guardando datos, es decir, la operación que estamos realizando con la memoria: lectura o escritura.
  • Canales de memoria: Determinan la cantidad de accesos simultáneos a la RAM.
  • Latencia: Tiempo empleado en acceder al dato guardado en la de memoria.
  • Reloj de la memoria: Determina la velocidad a la que puede trabajar la RAM. Recordemos que trabaja de forma síncrona (son chips SDRAM) con la mediación del chip Northbridge.

Tipos de memorias RAM

En un post anterior, en una primera clasificación muy simple de las memorias RAM, comentaba que había dos tipos de memorias:

  1. RAM estática (SRAM): Mantienen la información de manera indefinida, siempre que se mantenga la alimentación eléctrica, no olvidemos que todas las memorias RAM son volátiles. Este tipo de memorias se emplearán normalmente en las memorias cache, de las que hablare en otro post, pero no en la memoria del sistema, la que habitualmente llamamos la RAM del ordenador.
  2. RAM dinámica (DRAM): En este tipo de memorias no es suficiente con mantener la alimentación eléctrica para mantener los datos, sino que es necesario volver a cargarlos cada cierto tiempo, con un proceso conocido como refresco. La RAM del ordenador es de este tipo.

Las memorias DRAM han ido evolucionando y actualmente, las memorias que se emplean son del tipo SDRAM (DRAM síncronas). Aprovechando el sincronismo, se mejora el rendimiento de las comunicaciones entre la CPU y la RAM, mejorando los tiempos de respuesta. En estas comunicaciones, conviene recordar la función del chip Northbridge, que media entre CPU y RAM facilitando la comunicación entre ambos componentes.

De entre las memorias SDRAM, podemos distinguir dos tipos:

  1. SDR (Single Data Rate): Ejecutan una única operación de lectura o escritura por cada ciclo de reloj.
  2. DDR (Double Data Rate): Pueden llevar a cabo dos operaciones en cada ciclo de reloj.

Las memorias de tipo DDR son las empleadas actualmente en la RAM del Sistema. Normalmente vamos a encontrarnos con dos estándares: DDR3, DDR4, aunque DDR5 ya está disponible.

La memoria Caché

La memoria Cache es una memoria de tipo RAM, en concreto SRAM. La RAM del sistema es del tipo DRAM y es más lenta que la memoria Cache, pero tiene mayor capacidad. Las memorias Caché son las más rápidas de nuestro ordenador.

Estas memorias son volátiles y de tipo estático, es decir, no hay que andar refrescando los datos cada poco tiempo, sino que permanecen siempre que mantengamos la alimentación. ¡¡Ojo!!, no asociar erróneamente memoria estática con no volátil, las memorias caché son de tipo estáticas, pero son volátiles, es decir, si interrumpimos la alimentación eléctrica se perderán los datos.

La memoria Caché
La memoria Caché

Si estas son las memorias más rápidas de nuestro ordenador, nos interesaría tener muchas de este tipo. El problema es que tienen poca capacidad comparadas con la RAM. Al final, como siempre, hay que buscar un equilibrio entre velocidad y capacidad.

La controladora de Caché

La CPU tenderá a usar estas memorias para poder acceder más rápidamente a los datos, pero para trabajar de esta manera, tenemos que ser capaces de predecir los datos que va a necesitar la CPU y cargarlos antes en la memoria Caché. De esta tarea, nada sencilla, se ocupa la controladora de Caché, siguiendo los siguientes criterios:

Secuencialidad: La probabilidad de que la CPU valla accediendo a posiciones de memoria contiguas de forma secuencial, es muy alta. Es decir, si la CPU ha requerido datos de una determina posición de memoria, es altamente probable que lo siguiente que pida sean los datos de las posiciones de memoria siguientes. Así pues, la controladora de Caché se ocupará de cargar los datos de estas direcciones en la Caché, vaticinando que la CPU se los solicitaría a continuación.

– Datos de frecuente consulta: Hay ciertos datos que son consultados con bastante frecuencia, me refiero a bucles, pilas de almacenamiento, variables, etc. La controladora de la memoria Caché se encargará de que se carguen dichos datos.

Empleando estos dos criterios, se predicen los datos que va a necesitar la CPU y se cargan en la Caché. Posteriormente, cuando la CPU solicite los datos que necesite a la Caché, si los encuentra disponibles, se produce lo que se llama un acierto de Caché. Por el contrario, sino los encuentra, tenemos un fallo de Caché. El porcentaje de acierto de Caché suele estar en torno al 90%, por lo que usando estas memorias mejoramos sensiblemente la velocidad de acceso a los datos.

Por otro lado, cuando se produce un fallo de Caché, la CPU tiene que obtener los datos de la RAM. Para que esta contrariedad ralentice lo menos posible el funcionamiento del ordenador, la CPU realiza la petición de los datos a la Caché y a la RAM al mismo tiempo. En el caso de tener un acierto de Caché, sencillamente se ignora la petición realizada a la RAM. Si tenemos un fallo de Caché, esperamos a recibir los datos de la RAM.

Niveles de Cache

Existen distintos niveles de memorias Caché, dependiendo de su velocidad y capacidad de almacenamiento. La Caché de nivel 1 (L1) es la que tiene mayor velocidad, pero menor capacidad. La de nivel 2 sería algo más lenta, pero con algo más de capacidad y así sucesivamente, vamos componiendo la arquitectura de memorias Caché de nuestro ordenador. Hoy en día es corriente encontrarte hasta 3 niveles integrados en la CPU, como puede verse en el detalle de abajo:

Niveles de Caché en la CPU
Niveles de Caché en la CPU

Adicionalmente a las Cachés integradas en la CPU, la placa madre también incorporará una memoria Caché, en este caso sería la de nivel 4. Otros componentes, donde la velocidad de acceso a los datos es importante, como la tarjeta de video o incluso del disco duro, pueden incorporar también memorias Cachés.

Algunos fabricantes

Considero que una manera rápida y efectiva de mantenerse al día en la evolución de los distintos componentes del ordenador, es consultar con cierta periodicidad los sitios webs de fabricantes. Para el caso de la memoria RAM, aquí dejo dos fabricantes

NOTA:

Este post es parte de la colección “Arquitectura de Ordenadores” . Puedes ver el índice de esta colección aquí.