¿Como afecta la velocidad de la RAM a las arquitecturas AMD Zen?

¿Como afecta la velocidad de la RAM a las arquitecturas AMD Zen?

Josep Roca

Uno de los elementos de cara al rendimiento más importante en todas las CPU basadas en las arquitecturas AMD Zen, ya desde la primera generación, es la memoria RAM que tengamos instalada en el sistema. Os vamos a desgranar los motivos que hacen que esto ocurra y de paso vais a aprender un poco más sobre las diferentes generaciones de la arquitectura Zen que han aparecido en los últimos años.

Los diferentes procesadores de AMD basados en la arquitectura Zen tienen un rendimiento variable según la velocidad de la memoria RAM que se haya instalado en el sistema. Para entender el motivo antes de nada hemos de tener unos conceptos básicos sobre la arquitectura de microprocesadores, especialmente relacionados con la comunicación interna.

Comunicación Núcleos Zen-memoria RAM: Scalable Data Fabric

Se le llama Northbridge a la interfaz que comunica los diferentes procesadores que tienen acceso a una memoria y que tienen también intercomunicación entre ellos. Los elementos que están intercomunicados al Northbridge son:

  • Clústeres de CPU con sus Cachés.
  • El Southbridge: el cual es el encargado de manejar los periféricos de E/S.
  • El controlador e interfaz de memoria para poder comunicarse con la RAM exterior.
  • Co-procesadores adicionales de apoyo como GPUs, NPUs (Redes Neuronales), decodificadores de vídeo, adaptadores de pantalla, etc.

Pensad en el Northbridge como la autopista radial de una ciudad. Los diferentes elementos conectados a ella serían los barrios o distritos que forman dicha ciudad mientras que los vehículos que entran y salen son los paquetes de datos que se van enviando entre los diferentes barrios.

Autopista Radial Ejemplo Northbridge Zen Memoria RAM Rendimiento

La idea es que podemos crear un SoC con cualquier configuración de elementos pero todos ellos han de estar conectados al Northbridge para comunicarse entre si y con la memoria.

Scalable Data Fabric = Northbridge

El nombre de Northbridge viene porque hace unos años esta pieza no se encontraba dentro de los microprocesadores, sino que era un elementto que se colocaba en la parte superior (norte) de la placa y se quedó este nombre de manera coloquial.

Intel le llama a este elemento uncore y AMD le da el nombre de Scalable Data Fabric o Data Fabric a secas en el caso de todas las arquitecturas basadas en Zen, ya sean núcleos monolíticos, basados en chiplets, SoCs con GPU integrada, etc.

Zen Diagrama Memoria RAM

Relación velocidad memoria RAM-rendimiento en CPUs Zen

El término Infinity Fabric se ha repetido mucho por parte de AMD en los últimos años… ¿pero que es el Infinity Fabric? En términos simples es un conector que permite conectar los diferentes elementos del procesador entre si, ya sea si hablamos de un chip monolítico como de un MCM compuesto por varios chiplets como es el caso de los procesadores basados en Zen 2.

Intercomunicación

El Infinity Fabric es en realidad un transceptor que envía datos a otro Infinity Fabric a una velocidad de reloj concreta y bajo un bus de 32 bytes/ciclo (256 bits/ciclo). Pensad en las velocidades de reloj como la velocidad a la que van a ir los paquetes de datos/vehículos por ese carril hasta llegar a su destino.

  • Core clock: la velocidad de reloj a la que funcionan los núcleos de la CPU.
  • Fabric clock (Fclk): la velocidad a la que funciona el SDF (Northbridge). Su velocidad se puede ajustar en múltiplos de 33 Mhz.
  • Memory controller clock (Uclk): la velocidad de reloj del controlador de memoria (Unified Memory Controler en el diagrama de arriba de la propia AMD).
  • Memory clock (Mclk o memclk): la velocidad de reloj de la memoria externa.

El flujo de datos de manera simplificada va a ir por tanto de la siguiente manera.

Memoria RAM AMD Zen Diagrama

La memoria de reloj de los núcleos de la CPU no se puede modificar pero las otras tienen un ratio 1:1 con el Mclk que depende de la velocidad de la memoria que hayamos instalado en el sistema.

En el caso concreto de la DDR4, cada módulo DDR4 tiene un bus de 64 bits y su ancho de banda se obtiene de multiplicar 64 bits*2 (al ser DDR)*Memclk. La velocidad de reloj de la memoria DDR4 siempre es la mitad de sus Gbps marcados; por ejemplo si hablamos de una DDR4-3600 en realidad la memclk de la que estamos hablando sería de 1800 MHz pero cada tipo de memoria tiene una relación con su memclk distinta.

El hecho que las velocidades del Fclk, el Uclk y el MClk sean la misma es por tanto lo que hace dependiente a todas las arquitecturas Zen en PC dependientes de la velocidad a la memoria que tienen conectada y cuanto más rápida sea la memoria instalada en el sistema mejor rendimiento tendrá este.