Blog Personal.

Uncategorized

Fast Feedback (VII)

Sinceramente no me extrañaba semejante cantidad de comentarios y la gente tan…

Pero gajes de tener un blog donde se comentan temas técnicos y esto es normal.

Comentario#1:

Un millón de gracias, es la primera vez que entiendo el Smartshift.

Apreciaciones mías:

1. La CPU de Xbox Series X con SMT activado son 3,66 GHz. Es una frecuencia muy específica, seguro que es por lo que has dicho.
2. ¿Las frecuencias máximas pueden ser sostenidas? En el caso de PS5 y de un juego que lo necesitara ¿la GPU iría siempre a 2,23 GHz?

El diseño me parece muy inteligente, ya que no todos los juegos requerirán que un componente esté siempre al máximo.

En el caso de Xbox Series X en la ejecución de los juegos va siempre a velocidad fija y no fluctua con la carga de trabajo, en el caso de PlayStation 5 si que fluctua con la carga de trabajo y por tanto solo alcanzará los máximos en ciertas situaciones.

Y para que la GPU fuese a 2.23 Ghz debería tener un carga de trabajo lo suficientemente alta que hiciese que el «Platform Control» colocase a esa velocidad la GPU, es decir, tiene que ser un escenario de mucho estrés para la GPU.

Comentario#2:

Urian lo del Flck no me queda claro, en los ryzen basados en zen2 como bien dices el Infinity Fabric Clock (fClk), se ajusta segun el rango de frecuencias del controlador de memoria IMC(uClk), asi como el reloj de la memoria (mClk) siendo recomendable usar un rango que este en 1:1, por ejemplo en mi pc tengo un 3700x con memorias 4000MHz seteadas a 3800MHz t1 15:15:15:30 y el flck va a 1900MHz indiferentemente de la velocidad de la cpu, si pongo memorias a 3200mhz (velocidad máxima soportada Oficialmente por las cpu zen2 según AMD, fuera de tweaking u overclock del usuario) funciona a 1600MHz o si las pongo memos a 3600MHz el fClk se pone a 1800Mhz. Pero en las nuevas consolas lo ajustan a la frecuencia de la cpu? o lo he entendido mal? no es esto un tanto raro, mas teniendo en cuenta que montan al menos Xbox series X memoria GDDR6 a 14Gbps 7000MHz que les permitiría tener un fClk fijo a 1750MHz (7000MHz:4=1750MHz)? un fClk a esta velocidad ya esta pro encima del que daria un zen2 de escritorio con las memorias recomendadas como maximas por AMD (dejando aparte elt emade tweaking o OC del usuario).

«Velocidad máxima de memoria: 3200MHz»
https://www.amd.com/es/products/cpu/amd-ryzen-7-3700x

con tweaking y oc de memoria se puede mejorar, pero ojo esto no lo cubre amd en su garantia.

No se si me explicare bien 😉

El FClk (Fabric Clock) es la velocidad interna del Puente Norte/Data Fabric que en el caso de la arquitectura Zen lo que ha hecho AMD es que su velocidad de reloj sea dependiente de la velocidad de reloj de la memoria que se utilice en el sistema.

La DDR4 es una memoria del tipo DDR, esto significa que su ratio de datos por pin de E/S sera 2X, por ejemplo si la memoria es DDR4-3200 significa que por cada pin retransmitira unos 3200 Mbits por segundo pero al ser memoria DDR entonces el memclk es de 1600 Mhz y por tanto si la utilizamos con un procesador Zen el UClk (velocidad de reloj del UMC) se colocará a a esos 1600Mhz.

La GDDR6 en cambio es un caso particular, es una memoria QDR por lo que en teoría si tenemos una memoria con un memclk de unos 1600 Mhz entonces hablaríamos de unos 6400 Mbits por segundo por cada pin, pero resulta que es una memoria con dos puertos de acceso simultaneo que transmiten y reciben datos en paralelo, por lo que esos 6400 Mbits por segundo en cada pin se convierten en unos 12800 Mbits por segundo en cada pin.

En la arquitectura Zen independientemente de si utilizamos Zen, Zen+ o Zen 2, el FClk esta directamente relacionado con la velocidad del UClk y este con la velocidad de reloj de la memoria, incluso si el memclk es demasiado alto y no es soportado lo que hace es adoptar una velocidad de reloj múltiple y por tanto sincronizada ya que los diferentes elementos para la comunicación han de tener velocidades de reloj múltiples.

Pero esto es de las velocidades de reloj múltiples y sincronizadas es normal en todo sistema, si tienes un elemento que va más rápido entonces tienes que colocar un mecanismo intermedio que lo que haga es regularizar la señal, es decir, la enlentezca. En PC donde hay multitud de velocidades de reloj dispares entre los diferentes componentes esto no lo puedes evitar y tienes que colocar periodos de espera en las velocidades de reloj más altas a través de ciertos mecanismos.

Es por ello que en el diseño de los sistemas dedicadas y a medida se busca normalmente que la velocidad de reloj de los diferentes componentes sea sincrona para evitar tener que colocar dichos mecanismos dado que el espacio es limitado, pero claro, en las consolas actualmente de lo que hablamos es de arquitectura de PC con todo lo que ello conlleva en cuanto a velocidades de reloj.

Comentario#3:

edite la respuesta para ampliarla, por otro lado la cpu esta capada a 3,5GHz como maximo, pero Cerny dijo que tambien tiene frecuencia variable como la gpu o al menos eso es lo que indicaban en su presentacion…


No entiendo que ahora se diga que la frecuencia de la cpu es fija.

La frecuencia de reloj es fija en el SDK porque el Razor que es la herramienta que te dice el nivel de estrés y por tanto de utilización de cada componente necesita un rendimiento constante como rendimiento máximo para medir cual es el nivel de utilización de cada parte del sistema. Si tu colocas velocidades de reloj variables ese máximo pasa de ser una constante a ser una variable y por tanto pasa a indeterminado y con un valor indeterminado el Razor no puede medir.

Y lo de que la CPU esta capada a 3.5 Ghz como máximo es lo que concluyo YO tras leer el artículo de DF. Sabemos que esta podría alcanzar velocidades más altas pero la velocidad máxima son esos 3.5 Ghz para dejarle más energía a la GPU. Luego te das cuenta que esos 3.5 Ghz son sincronos con los 1.75 Ghz del FClk y el UClk y…

En realidad creo que la CPU si fluctúa lo hará hacía abajo y no hacía arriba de esos 3.5 Ghz. Pero claro, tened en cuenta que esto son patrones que yo veo y mi cerebro tiene la tendencia en encontrar patrones regulares.

Comentario#4:

Urian.¿Cual crees que debería ser la velocidad de memoria óptima para esos 2,23Ghz de GPU?

Da igual cual sea, no la van a tocar al ser una consola, principalmente porque la parte que más consume en un procesador son los envíos de datos a la memoria externa y el hecho de colocar una memoria más rápida afectaría el presupuesto energético del chip y posiblemente tengas que bajarle la velocidad de reloj.

En una consola tienes el presupuesto energético ya decidido desde el principio y este es completamente fijo, en PC el presupuesto energético del sistema lo escoge el usuario pero en una consola cerrada no. Utilizar una memoria más rápida afecta a las especificaciones energéticas y tendrían que re-diseñar la parte térmica y mecánica del sistema por completo.

Comentario#5:

Lo de limitar los Frames no necesariamente tiene que ser menor uso de la GPU, ya que si el contexto es en tiempo de desarrollo, los desarrolladores pueden aprovechar el uso dormido para meter mas carga gráfica :

– En PC por ejemplo tu puedes capar un juego 30 fps, y si tu GPU es muy potente, tenerla 60% de uso segun monitoreo del MSI af, pero no solo puedes aumentar resolución para llenarla a 99%, puedes subir algunos setting graficos, poner MSSA 4x etc.

En tiempo de desarrollo las consolas no van tener la GPU a 50% de uso, los desarrolladores van meter mas poligonos, mayor LOD, mayores efectos de particulas, mas elementos de panatalla etc para aprovechar al máximo la GPU. Puede que cerny se refiera a tiempos de esperas mas internos o diferentes.

Otro factor que se da es que entre mayor carga grafica, menor sera el uso de CPU, al tener menos frame hara menos llamadas. En PC se da el caso que entre mayor carga grafica le pongas al GPU los FPS bajan y la CPU bajara su uso, por eso hay pocos cuello de CPU en CPU modesta a 4k de resolucion.

El problema es que habláis de PC, PC… PC.

En PC no haces un juego para una especificación fija, en consolas si y se utilizan herramientas de optimizan durante el desarrollo como el Razor de Sony que he comentado en las entradas. En PC no vas a perder el tiempo en optimizar para un hardware en concreto, si no le llega al usuario que se compre un PC mejor, esa es la norma. En consolas no es así, el presupuesto es fijo en cuanto a recursos y lo tienes que optimizar alrededor de ello.

El ejemplo del juego de PlayStation 4 en PlayStation 5 sin cambios. viene porque el Smartshift no busca que la velocidad sea la más rapida posible sino que la velocidad sea la adecuada según la carga de trabajo en cada momento y por tanto con el Smartshift esas condiciones provocaran una velocidades de reloj a la baja ya que se ideo para maximizar la vida de la batería en los portátiles y para que al hacer tareas poco pesadas los componentes no estén consumiendo energía a destajo.

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

0 0 vote
Article Rating
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
nolgan

«»