¿Vamos a ver la RAM integrada en los procesadores del futuro?

¿Vamos a ver la RAM integrada en los procesadores del futuro?

Josep Roca

¿Es posible integrar la RAM dentro de una CPU? ¿Qué beneficios aportaría? ¿Es posible que lo veamos en el futuro? Una de las ideas más interesantes es la de colocar la RAM lo más cerca posible del procesador. Os explicaremos como va a ser esto posible y en el caso de que se cumpla como afectará al hardware del PC y los programas que este ejecuta.

En el 2003 se realizo una de las mejoras más importantes en lo que al importante de los procesadores se refiere, la implementación del Northbridge dentro del procesador, el cual hasta ese momento se había encontrado fuera del mismo. El Northbridge es la pieza que comunica la CPU y otros procesadores de la placa base con la RAM.

¿El siguiente paso de cara a la integración? Posiblemente integrar la memoria RAM o al menos parte de ella dentro de la CPU.

La distancia a los datos afecta al rendimiento

Jerarquia Caches

Uno de los principios básicos en lo que al rendimiento de un procesador se refiere es la distancia existente entre la memoria que almacena el dato y la unidad que procesa el dato, la cual cuanto más corta es mucho mejor por el hecho que la señal eléctrica ha de recorrer una distancia mucho menor, lo que se traduce en menos tiempo de ejecución de la instrucción.

Es por ello que un dato al que se pueda acceder en la cache de primer nivel va a ejecutarse más rápido que un dato que se encuentre en la memoria RAM. Lo ideal sería poder colocar ingentes cantidades de memoria cercanas al procesador.

Pero no es posible hacerlo ya que el espacio es limitado y el hecho de colocar la RAM junto al procesador acabaría por afectar negativamente a ambos, haciendo que en conjunto alcancen temperaturas enormemente altas que pueden llevar a que el rendimiento combinado de ambos sea más bajo que con ambos por separado.

Haciendo uso de la tecnología 3DIC para integrar la RAM en el procesador

RAM COmputaicional 3DIC

Hemos visto la tecnología 3DIC combinando varias pilas de chips de memoria, pero no combinando la CPU con la memoria, especialmente en PCs. Por ejemplo, la memoria HBM se ideo inicialmente para ser montada encima de un procesador, pero las temperaturas que se alcanzaban eran tan altas que tenían que bajar la velocidad de reloj de ambas partes.

En smartphones Samsung intento hacer uso del estándar Wide I/O, el cual consiste en una interfaz vertical a través de vías de silicio de 512 bits, a 200 Mhz y del tipo SDR. Alcanzaba solo los 12.8 GB/s pero se planteo como una alternativa de menor latencia y consumo energético respecto a las memorias LPDDR de la época. ¿El problema? Aumentaba los costes por lo que fue rechazada por la industria.

La solución se ha mostrado esquiva, pero una de las ventajas de un sistema 3DIC es que rompe el problema de la densidad de la memoria embebida.

El problema de la capacidad de la memoria embebida

Transistor

La memoria DRAM tiene una densidad 3 veces mayor que la SRAM, el problema es que más allá de los 40nm no es viable implementar memoria DRAM dentro de un procesador, por lo que se paso a hacer uso de memoria SRAM. El problema es que la memoria SRAM incluso a con la alta densidad nos hace imposible colocar dentro de un procesador suficiente densidad de la RAM.

La lógica más simple nos indica que si colocamos un chip de solo RAM encima de un procesador con tecnología 3DIC deberíamos aumentar la densidad, el problema es que para aumentar la densidad de memoria necesitaríamos una enorme pila de memoria, la cual encarecería a niveles ingentes el procesador y no sería viable.

Pero existe una solución, dividir la RAM en dos pozos de memoria distintos, en una jerarquía diferenciada.

Dos pozos de RAM, una integrada en el procesador, la otra en los módulos DIMM

El concepto consistiría en que por un lado tendríamos un pozo de memoria RAM conectado al procesador, de muy baja latencia y con un ancho de banda mucho más rápido. Por otro lado tendríamos la clásica memoria RAM en los clásicos módulos de memoria RAM de toda la vida.

La idea sería asignar a través del sistema operativo el uso de los diferentes pozos de RAM en el sistema, estos no tendrían a la vista dos pozos de memoria sino uno solo donde la única diferencia en el direccionamiento sería precisamente la dirección de memoria a la que apuntaría cada programa.