MemoriasTutoriales

La memoria RAM: qué es y cómo funciona

Si quieres aprender qué es la memoria RAM y cómo funciona, atento a estas claves que te damos en este artículo para que este componente esencial de un PC no tenga secretos para ti, y explicado con una analogía de cocina que seguro que te ayudará a entenderlo de forma muy fácil.

¿Qué es la memoria RAM? ¿Para qué sirve la memoria RAM?

cambiar memoria ram

La memoria RAM se utiliza para almacenar datos cuando un ordenador está encendido, a diferencia de una unidad de disco duro, que puede mantenerlos mientras está apagado. Además, la RAM permite un acceso rápido a los datos para su lectura y escritura, por lo que el ordenador carga los datos desde ella en lugar de hacerlo directamente desde un disco duro.

La memoria de acceso aleatorio (RAM) es un tipo de almacenamiento de datos utilizado por los ordenadores, normalmente situado en la placa base. Es de acceso aleatorio es una forma de almacenamiento informático que puede leerse y escribirse, es decir, accederse. Normalmente utilizada para el almacenamiento de datos de trabajo y código de máquina. Y, este componente de hardware, que se utiliza para almacenar de forma temporal los procesos o programas que se ejecutan en un ordenador, como puede ser un videojuego, una aplicación, etc.

La memoria de acceso aleatorio, o RAM, debe contener tanto al sistema operativo (o al menos un software básico de gestión de recursos) y a los programas.  De este modo, estarán accesibles por la CPU. Y, a pesar de ser una memoria más pequeña en capacidad, es más rápida, ya que es de tipo SDRAM. Esto aporta grandes beneficios en cuanto a rendimiento.

Si tienes demasiados programas abiertos, tu ordenador intercambia datos entre la RAM  y el disco duro (memoria virtual). Cuando abres un programa o pones en marcha el ordenador, los datos pasan temporalmente del disco duro a la RAM, que los retiene para permitir que la CPU (o procesador central) los maneje. Pero solo si se está alimentando la RAM con energía, pero si se apaga el equipo se borrará todo, no es así en el disco duro, por eso ambos son necesarios.

Cada vez que tu ordenador necesita ejecutar una aplicación o un programa, la RAM se utiliza para terminar la tarea. Cuando un ordenador arranca, partes del sistema operativo y los controladores se cargan en la memoria, así como rutinas esenciales para crear el espacio de archivos, el propio arranque del SO, etc., lo que permite a la CPU manejar las instrucciones más rápidamente y acelera el proceso de arranque.

Dicho de otro modo, los sistemas informáticos utilizan la memoria RAM como un búfer, lo que ayuda a acceder a los datos críticos con una menor latencia de acceso que si hubiera que buscarlos en la memoria secundaria. El acceso a la memoria RAM debe ser realmente rápido si se compara con los discos duros convencionales, y algo más rápido en el caso de los nuevos SSDs.

Los tiempos de acceso dentro de la RAM son independientes de las direcciones, es decir, cada ubicación de almacenamiento dentro de la memoria es tan fácil de alcanzar como las demás, y tarda lo mismo.

Los desarrolladores tienen, en teoría, memoria infinita para sus programas, aunque físicamente haya límites. Esto es gracias a la memoria virtual del sistema.

Por otro lado, es importante que el sistema de E/S, o de entrada y salida, también se puede entender como una memoria. En el sistema de entrada se leerán datos que llegan desde los dispositivos o periféricos de entrada. En el sistema de salida se escribirán datos para que se puedan interpretar en los periféricos o dispositivos de salida. Por ejemplo, la CPU verá un teclado y un monitor como una memoria. En el monitor «escribe» información para mostrarla en pantalla, y del teclado «lee» las pulsaciones de las teclas para interpretar qué está indicando el usuario.

La memoria RAM tiene términos muy variados, toda una «macedonia de siglas» cuyos detalles puedes conocer en el artículo que enlazamos.

Funcionamiento de la RAM

qué hace la memoria RAM: módulos DIMM, reparar memoria RAM

Imagina que tienes que preparar una receta, puesto que eres el cocinero de un restaurante, y que vamos a hacer esta analogía:

  • Receta de bizcocho será el programa a ejecutar
  • Tú vas a ser la CPU
  • Los ingredientes serán los datos
  • Los utensilios de cocina serán las instrucciones
  • La despensa/muebles de la cocina será la memoria RAM
  • El supermercado será el disco duro
  • Y la encimera será la memoria caché
  • El sistema E/S, o de entrada y salida, estará compuesto por los camareros, que serán los que lleven las comandas a la cocina o los que saquen los platos terminados al comensal.

Para que puedas realizar la receta necesitarás los ingredientes y los utensilios. Y lo que comenzarás a hacer es ir al supermercado a comprar todo lo que necesitas (lengua, bol, batidor,…) y también irás a la despensa para traer los ingredientes (huevo, leche, harina,…). Por supuesto, durante este proceso no podrás hacer nada más que eso, e implica una pérdida de tiempo importante.

En cambio, si todos los utensilios e ingredientes los tienes cerca, en la despensa y en los muebles de tu cocina, entonces no tendrás que ir tan lejos, y podrás tener acceso a ellos de forma rápida. Además, si vas a usar los ingredientes o utensilios más de una vez, puedes dejarlos junto a ti, en la encimera, lo que te daría acceso aún más rápido.

Desgraciadamente, ni tus muebles, ni despensa, ni encimera son infinitos como para almacenar todo para todas las recetas, por lo que el supermercado será imprescindible siempre, pero habría que tratar de ir las menos veces posibles para agilizar la receta. Así es como actúan los ordenadores modernos.

Anteriormente a esta arquitectura, los ordenadores tenían que ir a acceder al disco duro a los datos del programa, es decir, a la memoria secundaria. Esto suponía una penalización de tiempo bastante importante, dada la alta latencia de acceso en estos dispositivos, más aún antes de la invención de los SSDs. Es como tener que ir a por cada ingrediente o cada utensilio al supermercado, lo que haría la receta casi eterna.

Aumentar la capacidad de tu encimera puede hacer que todo sea más rápido, pero también podría dificultar el acceso a los ingredientes y utensilios. Imagina una encimera mayor, con más objetos sobre su superficie. Sería más complicado encontrarlos ¿verdad? Por ese motivo, los diseñadores de CPUs no agregan más y más caché sin más, puesto que eso podría también afectar al rendimiento.

Sin embargo, debes imaginar algo más para terminar de comprender el funcionamiento de la RAM. Y es que, no se puede tener siempre todo a mano en los muebles de la cocina o en la encimera. Además, cuando se hace otra receta diferente, se necesitará coger otros objetos diferentes que también habrá que tener a mano.

Y, también deberías ponerte en el caso de que cada vez que se apague la cocina se vaciarán los muebles y encimera como por arte de magia, en cambio, todo permanecerá en el supermercado al que poder acudir para la próxima receta. Así es la volatilidad de la caché y de la RAM en un ordenador, y la permanencia de datos en la memoria secundaria.

Aunque a menudo se confunde con la RAM, hay otros tipos de memoria presentes en un ordenador. La RAM, que es el núcleo de este artículo, se asocia incorrectamente con la memoria del disco duro para algunos usuarios inexpertos.

Seguro que te interesa conocer si realmente merece la pena adquirir memoria RAM RGB: ¿Debo pagar más por tener más luces?

El papel de la CPU y del sistema operativo

cpu

Por otro lado, y siguiendo con la analogía anterior, hay que destacar el papel de la CPU y del sistema operativo en todo lo relacionado con el funcionamiento de la memoria RAM.

Durante la preparación de la receta, tú irás cogiendo los utensilios y los ingredientes que necesitas. Con los utensilios aplicas algún proceso sobre los ingredientes (cortar, pelar, batir, mezclar, calentar,…) según los pasos de la receta. En cambio, los cocineros más avanzados puede que hagan varias cosas a la vez, en vez de seguir paso a paso la receta. E incluso puede que alteren los pasos de la receta según le convenga. Sin embargo, el resultado de la receta debe ser el mismo. Así es como actúa una CPU moderna con la especulación, el paralelismo, y otras técnicas para aumentar el rendimiento.

Por ejemplo, imagina que estás calentando la leche. Mientras, en vez de estar parado, puedes ir batiendo los huevos.  Así, una vez la leche esté caliente, podrás tener los huevos listos para el siguiente paso. Si lo hicieras de forma secuencial, seguirías paso a paso la preparación de la receta y hasta que no terminas una tarea no pasas a la otra. Eso sí, tanto en una forma de proceder como en la otra, el resultado debe ser lo mismo, un bizcocho.

Por esto motivo, todo el sistema de memoria debe ser dinámico, y poder suministrar lo que se necesita en cada momento, incluso si no se sigue un orden establecido en la receta.

En cuanto a las tecnologías multihilo, como SMT, se podría también hacer otra analogía. Imagina que que:

  • Cada paso de la receta es un thread o hebra
  • La receta al completo es un proceso

Como cada receta se compone de varios pasos, hasta que no estén todos los pasos ejecutados no se completará la receta. Como he dicho, los pasos se pueden alterar según convenga. Por ejemplo, imagina que el paso 3 depende del 2, pero que el paso 4 no depende de nada. Además, el paso 2 puedes dejarlo haciéndose mientras haces otra cosa, y por eso podrías hacer primero el 4 mientras el 2.

Si introducimos en todo esto la labor del sistema operativo, también podemos destacar que el kernel del mismo se encargará del dinamismo del que hablaba, mediante un planificador irá llenando o sustituyendo los ingredientes y utensilios necesarios de los armarios para que se tengan más a mano y según la receta que se esté haciendo en cada momento.

Agregando la posibilidad de que puedas preparar varias recetas a la vez, entonces el sistema operativo será como un director de orquesta que te irá diciendo qué receta es la que se necesita con mayor prioridad. Por ejemplo, un proceso prioritario podría ser el primer plato, mientras que el bizcocho, que es para el postre, se podría posponer.

Además, por otro lado, es probable que algún comensal (usuario) no quiera algún plato, y el director de todo tendrá que cancelar dicho proceso de receta, dejando recursos al cocinero para que pueda meter otra receta el hueco que ha dejado la anulada.

Pues bien, así es como trabaja un sistema en torno a la memoria RAM, explicado en términos culinarios para que se pueda entender bien. Espero que te haya gustado esta analogía, y que después de leer esto puedas tener más claro cómo funciona un computador…

Isaac

Geek de los sistemas electrónicos, especialmente del hardware informático. Con alma de escritor y pasión por compartir todo el conocimiento sobre tecnología.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba