Tal vez te preguntes ¿qué hace la memoria RAM? Uno de los componentes más importantes del ordenador, y en el que siempre te fijas a la hora de adquirir un nuevo equipo, o que piensas en actualizarlo para conseguir mejor rendimiento, etc. Pero… ¿sabes realmente cuál es su función? ¿por qué se ideó esta memoria? Todas esas dudas quedarán disipadas tras un breve recorrido por la historia y por todo el conocimiento que deberías tener sobre este componente.
Índice de contenidos
Un repaso rápido a la historia
Las primeras computadoras comenzaron usando tarjetas perforadas como medios para cargar programas o almacenar datos, después llegarían los relés, las memorias de tambor, y los tubos de vacío, que finalmente se terminaron por sustituir por transistores.
La primera memoria de acceso aleatorio, oRandom Access Memory (RAM), llegó en 1947, con el tubo Williams. Se trataba de una especie de CRT como el de las pantallas antiguas, ya que el tubo de rayos catódicos podía leer y escribir en puntos cargados en cualquier orden. A pesar de que esta memoria solo podía almacenar unos miles de bits, era más compacta y eficiente energéticamente que los tubos de vacío.
Ese mismo año se inventaría la memoria de núcleo magnético, y que se terminaría convirtiendo también en una memoria de acceso aleatorio. Se basaba en una serie de anillos magnetizados, pudiendo almacenar 1 bit por cada anillo, usando el magnetismo en uno u otro sentido.
Con la llegada de los primeros circuitos integrados, y los dispositivos de estado sólido a principios de los años 70, la memoria de núcleo magnético fue desplazada y se comenzó a integrar en chips. Uno de los primeros tipos de memoria de estado sólido que se desarrolló fue la tipo ROM, llegando después la SRAM, luego la DRAM, etc.
Compañías como Intel, Toshiba, IBM, Fairchild Semiconductor, etc., fueron algunas de las compañías pioneras en el ámbito de la memoria en estas décadas. Actualmente, apenas existe un puñado de fabricantes de chips de memoria RAM que proveen a muchas marcas. Algunos de los ejemplos de los fabricantes son Samsung, Micron, SK Hynix, y más recientemente también otras se han unido,como Philips.
Los tipos de memoria RAM
Recuerda que mientras más rápida es la memoria, más cara de producir, por lo que se destina a unidades de capacidad inferior. Por ejemplo, los biestables para registros de unos pocos bits, la SRAM para la caché de algunos kilobytes o megabytes, pasando por la memoria RAM de varios gigas. Mientras que las más baratas, como la flash (SSD) o las magnéticas (HDD) pueden tener capacidades muy superiores sin disparar los precios.
Antes de ver qué hace la memoria RAM, veamos cuántos tipos de RAM existen en este resumen, para tener una idea más clara. Como podrás comprobar, se puede diferenciar principalmente entre dos grandes familias:
- SRAM (Static RAM): un tipo de memoria cuya célula usa solo 6 transistores y es muy rápida. Se suele usar como registro o para la memoria caché de la CPU. El mayor inconveniente es su coste. En este caso, Robert H. Norman de Fairchild Semiconductor fue su inventor en 1963.
- DRAM (Dynamic RAM): a diferencia de la estática, esta memoria es dinámica y usa condensadores para almacenar la información. Es mucho más barata que la anterior, por lo que se pueden obtener capacidades superiores manteniendo los precios en niveles aceptables. Fue inventada en 1966 por Robert Dennard de IBM.
- FPM: son las siglas de Fast Page Mode, un subtipo de DRAM. Se inspiró en el Burst Mode de los procesadores Intel 486, recibiendo una dirección desde el controlador de memoria y leyendo las posiciones de memoria consecutivas sin necesidad de más direcciones. Se empleó en los 486 y en los primeros Pentium, y tenía accesos de 70 o 60 ns.
- EDO: la Extended Data Output RAM es otro tipo de memoria lanzado en 1994, con accesos de 40 a 30 ns, lo que suponía una importante mejora con respecto a la FPM.
- BEDO: Burst EDO es una evolución de la EDO, presentada en 1997, aunque no llegaría a comercializarse por falta de apoyo.
- SDRAM: la Synchronous DRAM fue desarrollada por Samsung, aunque Intel ya había hecho sus «pinitos» con ella con antelación. En este caso se mejora el acceso a 25 o 10 ns. Se basa en condensadores y si se corta el suministro de electricidad se borrará todo su contenido. Necesita estar constantemente alimentada. De esta, a su vez, han ido surgiendo variantes:
- RDRAM: la Rambus se hizo muy popular, y la adoptó Intel para sus Pentium 4. Sin embargo, pronto fue desplazada por la DDR. También hay que destacar que la compañía Rambus lanzaría otras variantes como la XDR (eXtreme Data Rate), o la XDR2 (eXtreme Data Rate 2).
- SDR SDRAM (Single Data Rate): tasa de datos simple.
- DDR (Double Data Rate): un tipo de SDRAM con tasa de datos doble para mejorar el rendimiento.
- DDR2: dobla a la anterior.
- DDR3: doble de tasa de datos que la anterior.
- DDR4: duplica nuevamente a la anterior tasa.
- DDR5: doble de tasa de datos que la anterior.
- DDR6: dobla la anterior.
Por supuesto, existen otros tipos de memoria, pero estos son los más interesantes dado el tema del artículo.
Te recomendamos la lectura de MHz o MT/s.
¿Qué hace la memoria RAM?
En la introducción a la historia anterior se puede comprobar cómo se han hecho esfuerzos por ir mejorando la velocidad de la memoria. El problema es que esta evolución ha sido muy disonante en comparación con la evolución de las unidades de procesamiento, siendo éstas mucho más rápidas. Por eso se introdujeron algunas memorias intermedias, reduciendo así la latencia y cuello de botella.
Dicho esto, me valdré de este esquema de una computadora tipo Von Neumann para explicar qué hace la memoria RAM. Lo primero es presentar los elementos:
- En cualquier ordenador o PC, tenemos el sistema operativo y cualquier otro software almacenados en el disco duro o memoria secundaria. Puede ser SSD, HDD, o híbrido. Esta memoria, aunque se ha dado un paso de gigante con la introducción de los SSD, sigue siendo mucho más lenta que la CPU.
- Por otro lado tenemos la memoria virtual que aparece en este esquema, y que en Windows se corresponde con el archivo pagefile.sys, mientras que en entornos Unix sería la SWAP o memoria de intercambio. En esta memoria se alojarán datos y procesos cuando no pueden entrar en la memoria RAM.
- La memoria RAM, o memoria principal, es una memoria intermedia entre la secundaria y la CPU. Es bastante más rápida que la secundaria, aunque más lenta que la caché.
- Dentro de la CPU existen memorias mucho más rápidas, como la caché en sus diferentes niveles, actuando también como una especie de buffer rápido entre la RAM y las unidades funcionales de la CPU. Y también están los bancos de registros, donde se almacenan datos o instrucciones y que son muy veloces, pero limitados en número.
Ahora bien, una vez presentados estos elementos, por si no los conocías, ahora pasamos a describir cómo funciona una computadora explicado de forma sencilla, para ayudarte a comprender qué hace la memoria RAM:
- Cuando se ejecuta cualquier programa (código compuesto por instrucciones y datos), el sistema operativo lo trata como a un proceso, cargando dicho programa en la memoria principal o RAM. Según el algoritmo de planificación del kernel y la prioridad, puede subir o bajar procesos de la memoria RAM hacia/desde la memoria virtual.
- Al hacer esto, todo lo necesario para la ejecución de dicho programa se encuentra en una memoria más rápida. En este momento, la CPU accederá a la RAM para ir trayendo las instrucciones de dicho programa y los datos oportunos.
- Luego la CPU interpretará la instrucción y realizará alguna operación sobre los datos. Así se obtiene el resultado. Cuando se procesan todas las instrucciones del proceso, se ha terminado de ejecutar.
La respuesta a la pregunta qué hace la memoria RAM es simple: actúa como memoria intermedia entre la secundaria y la CPU, mejorando el rendimiento. Si tuviese que ir hasta la memoria secundaria, la demora representaría un impacto negativo considerable en el rendimiento. Ten en cuenta que:
- Los registros son de acceso casi instantáneo, mientras la L1 puede demorarse en torno a 1 a 5 ns. La caché L2 de entre 5-10 ns, y la L3 entre 10 y 20 ns.
- La memoria RAM tiene tiempos de acceso de entre 50-100 ns, dependiendo del tipo.
- Mientras que la secundaria está en unos 0.1 ms para algunos SSD, o entre 5-8 ms para un HDD.
- Es decir, estamos hablando de un salto entre la memoria de la CPU y la secundaria de un millón de veces más lenta en algunos casos. Mientras que los saltos de la CPU a la RAM son inferiores, de tan solo unas decenas o centenas de veces más lenta.
- Conclusión: sin la memoria RAM entre la CPU y la memoria secundaria se desperdiciarían una enorme cantidad de ciclos de reloj para acceder a los datos, lo que se traduce en un rendimiento muy pobre.
Futuro
Además de ir acelerando la tasa de transferencia, crear memorias RAM con latencias cada vez más bajas, y aumentando la memoria caché, también se está apuntando a un futuro «lleno de luz», ya que se está experimentando con transferencias por fibra óptica para interconectar unidades que ahora usan conductores convencionales e impulsos eléctricos.
Te recomendamos la lectura de nuestra comparativa DDR5 vs DDR4
La llegada de los nuevos dispositivos ópticos podrían suponer otro gran salto que volviese a rebajar la latencia y aumentar el ancho de banda entre la memoria y la CPU. ¿Llegará esta tecnología pronto?