La jerarquía de memoria actual
Lo primero que hay que comprender, si no lo sabes ya, es cómo funciona el ordenador de forma básica. Para eso, tienes que tener bien presentes los siguientes conceptos:
- Programa o proceso: es un conjunto de datos e instrucciones que se ejecutarán de forma secuencial en la CPU para obtener el resultado requerido para la ejecución de dicho software.
- Datos: son valores numéricos representados en binario.
- Instrucciones: son valores binarios también, pero que al pasar por la unidad de control o el decodificador de instrucciones de la CPU, serán interpretados como un tipo de operación aritmética o lógica que se debe aplicar sobre los datos.
- Jerarquía de memoria: toda esta información necesita ser almacenada en algún lugar, y para eso se ha creado una jerarquía de memoria con diferentes niveles (de la mayor capacidad y más barata, hasta la de capacidad menor y más cara):
- Almacenamiento secundario: puede ser de diversos tipos, como un SSD, HDD, memorias USB, etc. Se trata de memorias no volátiles de gran capacidad de almacenamiento, pero con un tiempo de acceso lento. Sirven para almacenar allí los programas y otros archivos mientras el equipo está apagado.
- Memoria principal o RAM: es una memoria más rápida que la anterior, pero más reducida en capacidad, ya que las celdas de esta memoria son más caras que las anteriores. Esa rapidez le permite a la CPU acceder (leer/escribir) de forma más rápida, por eso el sistema operativo, mediante un planificador, va subiendo los procesos desde la unidad secundaria a la RAM.
- Memoria caché: es una memoria volátil tipo SRAM, más cara y rápida que la anterior, por lo que sus capacidades son inferiores para no elevar el precio de producción. Esta memoria se encuentra dentro de la propia CPU, reduciendo al máximo la latencia de acceso. Es decir, con menor pérdida de ciclos durante el acceso. Además, como sabes, puede haber varios niveles, del que tiene menor capacidad y es más rápido, hasta el de mayor capacidad y más lento, es decir, desde la L1 hasta la LLC (generalmente suele ser una L2 o L
- Registros: son pequeñas memorias creadas mediante biestables que resultan muy rápidas y cercanas a las unidades funcionales de la CPU dentro del núcleo. Solo pueden almacenar unos cuantos bits, y se usarán para almacenar instrucciones o datos que van a ser procesados de forma inminente.
Puedes pensar que con la memoria caché y con la memoria RAM, los problemas para agilizar los accesos están salvados, pero no es así. Aún sigue habiendo una enorme brecha de rendimiento entre la CPU y la RAM, que no han venido avanzando al mismo ritmo durante las últimas décadas. Por eso, la RAM puede ser un cuello de botella importante.
Para permitir cambiar esto, se están desarrollando numerosas tecnologías con la esperanza de que cambien estos problemas y ya no haya tanta penalización en los accesos, ya que, todos los ciclos de reloj que espera la CPU para acceder a un dato o instrucción, son ciclos perdidos que podrían estar siendo invertidos en cómputo.
Una de esas tecnologías es la UltraRAM de la que te comentaré en el siguiente apartado, y que podría traer algo más de rapidez a esta jerarquía que tiene sus lagunas…
Qué es la UltraRAM
Con la UltraRAM todo esto podría cambiar en los próximos años, ya que tendríamos una memoria con tiempos de acceso muy rápidos, pero que no es volátil. Es decir, podría eliminar de la jerarquía de memoria convencional a la RAM y a las unidades de almacenamiento secundario, dejando un único dispositivo. No obstante, hay que ser cautos, puesto que ya han aparecido numerosas tecnologías que pretendían revolucionar el panorama de la memoria, y finalmente no ha sido así…
Siguiendo con la descripción de la UltraRAM, se trata de una memoria que podría superar a la RAM en velocidad, es decir, tener celdas de memoria más rápidas que la SDRAM. Sin embargo, no sería volátil como ésta, lo que quiere decir que no necesitaría energía constante para que la información guardada no se pierda. Esto implicaría menor consumo, hasta 5 veces menos, pero sin la desventaja de los tiempos de latencia altos de la memoria secundaria convencional.
Desde Reino Unido, en la Universidad de Lancaster, se han estado dando pasos importantes para el desarrollo de esta UltraRAM, Un equipo de ingenieros ha podido crear celdas como las que ves en la imagen superior que utilizan el efecto túnel cuántico para su funcionamiento. Además, se pueden fabricar como el resto de memorias semiconductoras, usando un sustrato de silicio y diferentes capas (silicio, arseniuro de galio, metales,…).
Esto ya es un avance importante, aunque aún se encuentra en una fase de desarrollo temprana. Pero de llegar al mercado, podría alterar la jerarquía citada anteriormente y sustituir a la RAM y a los SSD.
Ventajas de la UltraRAM
Para finalizar y tener más claro lo que la UltraRAM podría hacer por el futuro de la computación, vamos a ver algunas de sus ventajas:
- Baja latencia en los accesos (escritura y lectura), incluso es más rápida que la SDRAM actual empleada para los chips de RAM (por tanto, también más rápida que la flash).
- Puede tener una fiabilidad superior a las memorias flash NAND actuales, ya que se deterioran tras muchos más ciclos.
- No volátil, pudiendo retener información durante más de 1000 años sin energía.
- Un consumo muy bajo, entre 100 y 1000 veces menos que la DRAM y la flash respectivamente en cuanto a conmutación se refiere. Y hasta 5 veces menos consumo general.
- Su precio no sería tan caro como otras alternativas fallidas como la 3D XPoint, que cuesta el doble que la memoria actual.
- ¿Qué opinas? ¿Alterará el paradigma de la memoria actual o se quedará en el camino como la 3D XPoint?