Blog Personal.

3DIC, Futuro, TSV

Last Level Cache

La cache de último nivel se refiere a la cache de nivel más alto en la jerarquía y por tanto la más alejada de los núcleos pero con la particularidad de ser compartida por todas las unidades funcionales del SoC y no solamente de u tipo de procesador en concreto .Esta cache se coloca por tanto antes del controlador de memoria y después de lo que es el Puente Norte. Su tamaño ha de ser 2X la suma de todas las caches de más nivel de cada uno de los procesadores y aceleradores dentro del propio SoC.

¿Su utilidad? Principalmente tres:

  • Permite la coherencia en cuanto al acceso y direccionamiento de memoria de todos los procesadores.
  • Disminuye la contención en lo que a los accesos de memoria se refiere entre varios clientes.
  • Precisamente la parte que más energía consume en un chip es la interfaz de memoria externa por lo que evitar tocarla lo máximo posible es una de la claves de cara al futuro de cara a aumentar el rendimiento/w.

Si sabéis Ingles en este vídeo aunque muy técnico lo explican muy bien en que consiste la LLC, lo cual es un concepto que encuentro totalmente interesante.

¿Tiene que ver esto en las consolas next gen?

Es algo que va más allá pero es el siguiente paso evolutivo que vamos a ver de manera general en los SoC por el hecho que es el más fácil de implementar a corto plazo, es más, Intel con su Lakefield ya ha empezado a implementar cache de ultimo nível.

La confusión en la terminologia viene por el hecho que se le suele llamar también como LLC al último nivel de cache de la GPU, pero el concepto como he dicho antes no es el de un último nivel de cache para la CPU sino para el SoC, fijaos como la cache LLC se encuentra en el Puente Norte.

Cortesía de Wikichip

Vais a ver arquitecturas que no van a utilizar una mayor densidad para colocar más unidades sino una Cache de Último Nivel con tal de reducir enormemente el impacto energético de las operaciones con la memoria a base de reducir enormemente la cantidad de veces que necesitamos pasar por el controlador de memoria externo debido a que las posibilidades de tener los datos en la cache aumentan considerablemente con este nivel de cache adicional.

Muchos se van a poner en modo…

Cuando vean que ciertas arquitecturas a corto plazo no habrán implementado una mayor cantidad de núcleos sino una LLC como la que estoy hablando, pero tiene sentido desde el momento que el problema principal contra el que están luchando los arquitectos no es aumentar la cantidad de operaciones por ciclo que ahora mismo son casi gratuitas, el problema real es que el desplazamiento de datos de un punto A a un punto B se ha convertido en el mayor cuello de botella porque resulta en un sobrecoste energético tremendo que se ve limitado por el sobrecoste, por eso los papers ya no hablan de FLOPS y cosas así sino de consumo por dato enviado.

En el caso de Intel la LLC en el puente norte/uncore es algo que vamos a ver si o si en todos sus futuros procesadores incluyendo las GPU Gen12/Intel Xe, ya sea a través de la LLC dentro del chip…

Donde XEMF no es más que el Xe (Memory Fabric) y por tanto el puente norte de sus GPUs fijaos en la implementación de la Rambo Cache cuyo nombre es rimbombante , la cual es una Cache de último nivel. ¿Y que tiene de especial dicha cache? Si tenemos en cuenta que el rendimiento de un procesador depende de la localización de la memoria donde esta el dato, es decir, de la distancia con el procesador entonces este gráfico se entiende mucho mejor.

Si no tenemos suficiente espacio en las caches los datos entonces estos caen en la RAM principal aumentando considerablemente la latencia por instrucción y con ello bajando el rendimiento por lo que es recomendable tener la mayor cantidad de memoria posible cercana al procesador pero esto no resulta posible por el espacio que necesita dicha memoria en el chip y los altos costes que suponen para ser rentables en el mercado doméstico.

¿Entonces como lo vamos a ver? Pues en configuraciones 3DIC donde los componentes del SoC van a estar conectados no en «horizontal» con el Puente Norte/Uncore sino en «vertical» y por tanto en dos niveles distintos y esto le va a dar un espacio mucho más grande a la LLC que se encontrara al mismo nivel que el puente norte. pero al mismo tiempo esto encarece los chips. ¿Y que sentido tiene? Como he comentado antes el hecho de maximizar la cantidad de operaciones cercanas al núcleo en cuanto a la localización de los datos reduce el consumo enormemente y la latencia por instruccion.

¿Pero esto va a ser algo exclusivo de Intel? Bueno no, preparaos para que en un futuro Epyc de AMD el IO Die tenga asignada una LLC construida en modo 3DIC. Por ejemplo si el actual Epyc basado en Zen 2 tiene un total de 16MB por CCX y por tanto unos 32MB por chiplet…

Entonces esperáos a ver el IO Die central con unos… ¡512MB de LLC! Pero claro esto es un ejemplo para lo que es el mercado de computacion de alto rendimiento, si quereis algo más mundano como algo equivalente a los Ryzen 3000 entonces veríamos las siguientes configuraciones.

ConfigCCX ChipletsL3 Cache x ChipletLLC
CPU132MB64MB
CPU264MB128MB
SoCMonolitico8MB16MB

¿Pero como lo hacemos para colocar semejante cantidad de memoria en forma de cache? Pues fácil, tanto el puente norte como la LLC se encontrarían ambos en chips distintos y la LLC se interconectaría con el puente norte/uncore verticalmente. En el caso del SoC/APU al ser un chip monolitico entonces la LLC no estaría comunicado verticalmente al IO Die sino obviamente a todo el chip.

En realidad esta configuración en chiplet con el Puente Norte/Northbridge con memoria LLC no va a ser algo exclusivo de ninguna empresa en concreto y tampoco de las CPUs, vais a ver como la parte central de las GPUs (Procesador de comandos y LLC de la GPU) se van a unificar en un chip aparte al que estarán conectados los Chiplets donde estarán los Shader Arrays/Engines donde están las Compute Units, en realidad de cara a la GPU basada en Chiplets el concepto de la LLC es sumamente importante con tal de pasar de un modelo monolítico al modelo basado en Chiplets.

Toda GPU actualmente en el mercado tiene una cache L2 que hace de puente entre los diferentes componentes de la misma, la memoria y para comunicar un array de «Shaders» con otro, independientemente de si hablamos de Nvidia, AMD…

Esto ocurre en todas las GPUs independientemente de la marca por lo que dicha cache L2 es la que hace de LLC en la GPU pero sobretodo permite la intercomunicación entre lo que en el caso de Nvidia son los GTC y en el caso de AMD los Shader Engines tanto entre si como con la memoria, sin esta cache el rendimiento de la GPU simplemente…

Si separamos los Shader Engines en chiplets vamos a seguir necesitando esa LLC para mantener el rendimiento, es por ello que en el futuro vamos a ver esa LLC en el chiplet encargado de hacer de Puente Norte otorgando con ello el ancho de banda indispensable para que los diferentes chiplets puedan comunicarse entre si sin problemas y actuar a nivel de las aplicaciones como si si fuesen una sola GPU a ojos de las aplicaciones domésticas donde las aplicaciones en su mayoría están pensadas para funcionar con una sola GPU d ahí la necesidad de hacer que todo funciona a efectos prácticos como una sola GPU.

Pero claro, necesitamos que la interfaz con el Puente Norte+LLC sea tambien muy rápido por lo que vamos a ver esos chiplets no estando comunicados a través de interfaces en serie sino via TSV con el sustrato/interposer en común que comunicara el puente norte de la CPU/GPU/»SoC» y la LLC con el resto de componentes.

Si os cuesta visualizarlo, os dejo un diagrama sencillo para que os orientéis mucho mejor.

Esto es todo, tenéis el Discord y los comentarios de esta entrada para comentarla.

0 0 vote
Article Rating
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
IntelCeleronMasterRace

Van a «integrar una cache L4 pero en el northbridge» en sintesis, pero vamos, esto va a venir con el «efecto Turing» en precio, JA.

Me hace acordar al IMPRESIONANTE rendimiento de los i7 5775c con «Cache L4», que podian acceder a la Edram de los graficos Iris Pro. Que delicia…….pero su precio….

Dani

Sólo había visto caché L4 en los IBM Power del mercado empresarial. Me alegro que se baraje para el mercado doméstico.