El medio especializado Hardware.fr se adentra en el rendimiento de la caché de los procesadores AMD Ryzen y vemos que hay un problema con las latencias de esta memoria.
Los procesadores AMD Ryzen están rindiendo por debajo de lo esperado en determinadas aplicaciones y en gaming y el problema reside en un punto: la memoria. Los procesadores AMD Ryzen antes de que llegaran al mercado, se comentó que estos procesadores habían sido desarrollados con gran cantidad de nuevas tecnologías e instrucciones dentro de su arquitectura para ofrecer el máximo rendimiento en cada uno de sus núcleos. Hemos visto en la práctica como, no ha sido posible que estos procesadores funcionen como era previsto.
Debemos esperar aún la llegada de los procesadores Ryzen 5 y Ryzen 3 para saber que los problemas de rendimiento se solucionaran, pero parece bastante complicada la mejora en el manejo de la latencia de la memoria caché L3. Para ver como rinde realmente la caché, el medio especializado Hardware.fr, ha trabajado en ver como rinde la caché y las diferencias con otros procesadores mediante AIDA 64. Los benchmark parecen dejar entrever algún tipo de problema en el uso de la caché L3.
Vemos en la comparativa, como el procesador Ryzen 7 1800X da una latencia de 98ms, mientras que los procesadores i7 6900K y el FX 8350, dan un resultado que ronda los 70ms, con lo cual estos nuevos procesadores de AMD tienen una latencia superior en prácticamente 30ms, lo cual, afecta de manera directa en el rendimiento del procesador, ya que cuanta más latencia, más se tarda en cargar las instrucciones.
También se han hecho pruebas a la caché L1, sigue estando en rendimiento, como se puede ver por delante de la de Intel, mientras que la L2 de los Ryzen parece ser ligeramente más potente. El problema reside básicamente en la L3, que es la que está más lejos de la de Intel, con casi tres veces más latencia que en el i7 6900K.
El problema se ve magnificado cuando aumenta la carga. El procesador de Intel tiene una caché L1 de 32Kb, que ofrece un mayor rendimiento en las cargas de trabajo y cuando los paquetes de instrucciones superan ese tamaño, lo pasa a la cache L2 que es de 256Kb. Para cargas mayores de 256Kb y menores de 16MB, se pasan a la caché L3 de 20Mb en el procesador de Intel. Si el tamaño de la instrucción supera los 16Mb, ya lo pasa directamente a la memoria RAM, la cual tiene una latencia aproximada de 70ms.
La cosa cambia bastante en los procesadores AMD Ryzen, ya que las latencias son bastante elevadas. La caché L1 tiene 32Kb y la caché L2 tiene 512Kb. El problema reside en el salto a la caché L3 que es de 16Mb, que es donde se comporta de manera diferente. La latencia en paquetes de 4Mb es más o menos estable, pero cuando pasamos ese techo la cosa se empieza a disparar en cuanto a latencia. Esto parece ser problema de la modularidad de los procesadores AMD Ryzen, con su estructura CCX (se compone de 4 núcleos y 8MB de cache L3), lo cual solo permite acceso hasta 8Mb de caché L3 en cualquier momento.
Podemos explicar esto mediante el diseño de los procesadores Ryzen, los cuales afectan en los tiempos de acceso, según el volumen del paquete que debe pasar por la L3, debido al diseño CCX. Esto quiere decir que el procesador se ‘divide’ en dos partes CCX y por lo tanto cada una de las ‘divisiones’ solo tendría acceso a 8MB de caché L3. Aunque centráramos la carga en los núcleos más próximos a la división del CCX, para hacer uso de toda la caché, estaríamos limitados por en ancho de banda del CCX, que es de 22GB/s, que es muchísimo más bajo que los 175GB/s de la caché L3 y menor también que el ancho de banda de la memoria RAM.
Claro que los procesadores AMD Ryzen son buenos, pero vemos que llegan al mercado sin estar pulidos y con determinados problemas. La realidad es que AMD no tenía alternativas, ni opciones, debía lanzar ya un procesador, estuviera desarrollado al 100% o al 50%, les daba igual, pero no se podían permitir más tiempo en el banquillo viendo como Intel ganaba cada vez más terreno. Esta generación de procesadores, nos da un buen rendimiento y unas excelentes prestaciones, pero seguramente Zen 2 y Zen 3 solventaran estos problemas y serán procesadores completos y cañeros, ya que los actuales Ryzen, por decirlo de alguna manera, son una fase beta, la cual ofrece un rendimiento bastante interesante.
Fuente: Hardware.fr
Los conceptos explicados en este articulo no se ajustan a la realidad. La jerarquia de memoria cache esta pensada para predecir el uso de las siguientes instrucciones y datos posibles. El rendimiento de una jerarquia de memoria cache no se mide por la latencia de los niveles l1, l2, l3 o cuantos haya ;sino por su tasa de aciertos. Los niveles L1 y L2 son decisivos. En cualquier caso el algoritmo de predicción de instrucciones y datos y el tamaño de la cache son los que marcan la tasa de acierto. Nada te asegura que con menor latencia el procesador vaya a procesar mas instrucciones….
Lo que dices es cierto, la tasa de aciertos es fundamental.