Sobre el doble procesador de comandos en PS4 y Xbox One

En medio de buscarle tres pies al gato para salvaguardar su enorme ridículo ahora ha aparecido el argumento que el hecho de tener un doble procesador de comandos gráficos en la GPU de Xbox One demuestra que la consola tiene el doble de potencia de la estipulada, en realidad el procesador de comandos es un elemento que tienen todas las GPUs y lo que hace es leer el búfer de comandos, la cual es la lista de cosas que le manda la CPU a hacer a la GPU. ¿Pero la pregunta es… ? ¿Para que un doble procesador de comandos gráficos en ambas consolas? ¿Y como sabemos que existe un doble procesador de comandos gráficos?

Ambas son arquitectura Sea Islands, no obstante si miramos en el documento de dicha arquitectura se nos describe el procesador de comandos de la siguiente manera:

El procesador de comandos de Sea Islands lee los comandos que el huesped ha escrito en el espacio de memoria del espacio de memoria del sistema a los que están escritos directamente los registros de la Sea Islands. El procesador de comandos envía interrupciones generadas por hardware al huésped cuando el comando ha sido completado.

¿Y que es el huesped? Pues como se ve en el siguiente diagrama es la CPU del sistema:

Captura de pantalla 2014-12-01 a la(s) 11.14.23

El Host es la CPU, ahora bien, en el caso de Xbox One y PS4 nos encontramos con algo curioso y es un doble procesador de comandos en ambos casos, aunque hay gente que lo niegue en el caso de PS4 y crea que es algo exclusivo de Xbox One.

gpu_queues-600x504

En el caso de PS4 tenemos dos procesadores de comandos, el llamado GFX Ring y el VSHELL Ring, este diagrama esta sacado de un artículo de VGLeaks de Febrero de 2013 que es cuando empezaron a filtrar datos técnicos de la actual generación:

– Graphics (GFX) ring and pipeline

  • Same as R10xx
  • Graphics and compute
  • For game 

– High Priority Graphics (HP3D) ring and pipeline

  • New for Liverpool
  • Same as GFX pipeline except no compute capabilities
  • For exclusive use by VShell

En el caso de Xbox One:

xbox-one-gpu-diagram-100051501-orig

En ambos casos tenemos dos procesadores de comandos gráficos en vez de uno solo que es lo que ocurre en PC.. ¿Y eso por qué? Pues es muy sencillo, en ambas consolas tenemos el contexto juego y el contexto sistema en la CPU. El primero tiene asignadas unos 6 núcleos de la CPU, el segundo unos 2 núcleo y ambos contextos de la CPU tienen acceso a la GPU por lo que es necesario un doble procesador de comandos que comunique ambos contextos de la CPU con la GPU, uno para cada contexto de la GPU. pero esto no significa en ningún momento que tengamos una GPU duplicada como muchos afirman y como se puede ver también y tampoco es algo exclusivo de la Xbox One como afirman algunos, más bien es algo exclusivo de PS4 y Xbox One que no se encuentra en PC.

Anuncios