La memoria RAM ha estado en todos los ordenadores desde los años 70, mientras ha ocurrido todo este tiempo hemos visto como han ido apareciendo y desapareciendo componentes. Unos por desuso, otros por estar integrados dentro de otros. Sin embargo, junto al procesador ahí sigue. Pero, ¿qué pasaría si integráramos la RAM dentro del procesador y la hiciéramos desaparecer? ¿Es posible hacerlo? Os lo explicamos.
La tendencia en el hardware es que las placas base sean cada vez más sencillas en comparación con las que hubo hace unos años. Desde hace unos años que se lleva hablando de ciertas tecnologías que permitirían que la memoria RAM y la CPU se fusionen en una misma entidad. ¿Lo veremos en el futuro o, en cambio, existen limitaciones para ello?
¿Es posible integrar la RAM dentro del procesador?
Uno de los conceptos en cuanto al rendimiento de los procesadores es que cuanto más cercana está la memoria a las unidades que ejecutan las instrucciones, mayor rendimiento, ya que se tarda menos tiempo en solucionar la instrucción. ¿La razón? Simple, la señal eléctrica tiene menos distancia a recorrer. Por lo que lo ideal sería que procesador y memoria estuviesen en el mismo chip.
Sin embargo, nos encontramos con el hecho de que existe la memoria RAM, la cual es la memoria de soporte que utiliza todo procesador para ejecutar los programas. La cual, como ya sabréis, se encuentra fuera del chip y, por tanto, no trae consigo el rendimiento ideal. Por si fuera poco, dicha distancia aumenta el consumo energético a la hora de transmitir los datos.
Teniendo en cuenta que la memoria RAM es una pieza fundamental de cualquier arquitectura y no la podemos suprimir, nos hemos preguntado qué pasaría si sacásemos dicho componente de la vista. Es decir, si lo integráramos dentro del procesador. En todo caso, ya existen chips de este tipo, desde el momento en que los microcontroladores tienen precisamente la memoria con la que trabajan en el interior del chip, pero su función es muy limitada.
Ventajas de integrar la RAM dentro del procesador
En primer lugar, vamos a hablar de las ventajas que supondría el integrar la RAM dentro del procesador. Lo ponemos en condicional por el hecho de que no vamos a tener en cuenta las limitaciones técnicas que impiden que los fabricantes lo hayan hecho hasta el momento. Sobre las cuales ya entraremos más adelante. Por lo que por el momento nos vamos a limitar a lo que sería el concepto en teoría y qué ventajas traería consigo.
El IMC desaparecería
El controlador de memoria integrado terminaría por desaparecer, ya que es el encargado de manejar los accesos con la memoria externa y, por tanto, su espacio lo ocuparía la memoria RAM dentro del procesador. De la misma forma, toda la parte de la periferia, la cual es la interfaz encargada de comunicarse con la memoria del sistema de forma externa, también dejaría de existir al no existir en teoría dicha memoria.
El rendimiento de los procesadores aumentaría
Obviamente, al reducir por completo el tiempo de acceso a los datos e instrucciones, todas ellas se ejecutarían en menos tiempo y obviamente el rendimiento de estos se mide por la cantidad de instrucciones que pueden ejecutar en un tiempo determinado. ¿Por qué? Pues por el hecho que esto se traduce en ejecutar los programas más rápido o en su defecto poder manejar varios de ellos al mismo tiempo.
El consumo disminuiría
Transmitir un bit de datos dentro del procesador tiene un coste energético de 0.1 pJ/bit en la actualidad, hacerlo a la DDR5 tiene un coste de 7 pJ/bit, es decir, se reduciría el consumo energético hasta 70 veces. en lo que a la comunicación de datos se refiere.
No desaparecería la memoria caché
El trabajo de la caché es tener una copia temporal de la información de la RAM, pero en dentro del chip, para que así se tarde menos en llegar a ella. Sí colocamos la memoria de acceso aleatorio dentro del chip, entonces nos encontraríamos con que llegaríamos a ella con menos latencia y por ello los niveles de caché más altos pasarían a ser innecesarios. Por lo que en teoría nos cargaríamos la utilidad de la memoria caché. Sin embargo, esto no es del todo así y nos encontraríamos con un problema.
Dado que las cachés tienen como segunda utilidad el reducir los atascos en los accesos a la memoria a través de tener copias locales en cada núcleo en los niveles más bajos de la misma, si no hubiese ningún tipo de caché tendríamos un problema de congestión en el bus de datos por la cantidad enorme de peticiones que habría. Es decir, tener un pozo de memoria para todos los procesadores y sin un respaldo local se carga el rendimiento por el exceso de accesos.
Por lo que terminaríamos teniendo como mínimo un nivel de caché, el de primer nivel, el cual suele estar dividido en datos e instrucciones y es el que menos latencia tiene. Sería posible añadir un nivel de caché intermedio, ya compartida entre varios núcleos, pero los diseñadores deberían asegurarse que su latencia fuese menor que la RAM integrada en el procesador.
Entonces, ¿por qué no se hace?
Si os preguntáis el motivo por el cual os hemos explicado lo de la memoria caché es por el hecho que uno de los motivos es la falta de espacio en el chip. A la hora de fabricar un procesador como ya sabréis quien lo quiere vender ha de tener en cuenta cuantas obleas tiene disponibles, cuantos procesadores por oblea y a qué coste. Coged un módulo DIMM o SO-DIMM de memoria RAM y mirad todos los chips que hay, ¿creéis que eso cabría dentro del procesador? No, no se puede.
Es por ello que los métodos utilizados para fabricar memoria RAM y los procesadores se han ido diferenciando con el tiempo, hasta el punto en que a día de hoy las fundiciones como TSMC que se han especializado en procesadores no destacan a la hora de fabricar memorias y viceversa. Es muy difícil ver un proceso que permita aunar ambos tipos de chips al mismo tiempo, a no ser que haya un chip en desarrollo para el mismo que económicamente lo justifique, lo cual es raro de ver en sistemas domésticos.
Alternativas a la RAM en el procesador
Las alternativas no son otra cosa que usar los nuevos métodos para construir circuitos integrados basados en las vías a través de silicio, ya sea colocando el procesador lado a lado con la RAM y ambos montados en un interposer, lo que se conoce como 2.5DIC y que ya hemos visto en los sistemas con memoria HBM. La otra solución es apilar chips de RAM encima del procesador o 3DIC. ¿El problema? Los sobrecostes de estos métodos son tal altos que no son viables para el mercado doméstico, aunque la memoria que ofrecen en ambos casos tiene una latencia y consumo menores que la RAM convencional.
En el mercado de los procesadores para servidor no tardaremos en ver configuraciones con memoria HBM, el problema es que son fijas en cuanto a tamaño y si se necesita una mayor cantidad de RAM será necesario de tirar zócalos RDIMM convencionales. Lo cual destroza por completo el integrar la RAM en el procesador para ahorrarnos tener que implementarla en el sistema. En todo caso, dichas soluciones no dan una latencia ni un consumo menor en lo que al acceso a los datos se refiere que una integración completa de la RAM en el procesador, ya que realmente no estamos haciendo eso, sino acercando la RAM.