01 diciembre 2010

Tema 4. El procesador Xenon


                       Xenon es un microprocesador multinúcleo diseñado por IBM para la consola Xbox 360 de Microsoft. La XBOX 360 trae de serie las siguientes especificiaciones técnicas: 

- CPU Procesador Xenon con 3 núcleos de procesamiento paralelos basados en PowerPC con 2 hilos de instrucción por núcleo (6 hilos en total). Cada núcleo corre a 3,2 GHz 
- Características del CPU: Tres núcleos de procesamiento simétricos, 1 MB caché Nivel 2 
- GPU: ATI "Xenos", diseño custom desarrollado por ATI y Microsoft Basado en el núcleo ATI Radeon R500. Primera GPU en utilizar la nueva arquitectura de Shaders Unificados. 500 MHz. 
- VRAM: Integrada al GPU y basada en la tecnología EDRAM (más memoria compartida asignable por software). 10 Mb EDRAM 
- RAM: 512 MB GDDR3 a 700 MHz 

                        Según las especificaciones, Xenon tiene tres núcleos PowerPC de 21 etapas de segmentación, cada núcleo permite hyperthreading y trabaja a 3.2 GHz. Dicho así suena impresionante, pero vamos a mirarlo con más detenimiento.

                         Tanta frecuencia de reloj, a primera vista, parece un tanto abrumadora, pero teniendo en cuenta que en cada ciclo se ejecuta una etapa de una instrucción cualquiera, y también que una instrucción se divide en 21 etapas, entonces se ve que la velocidad de ejecución por instrucción es menor (y mejor medida de rendimiento) que la frecuencia de reloj. Aunque de cara al mercado queda bastante mejor decir que la CPU corre a 3.2 GHz, es lo que tiene el marketing.

                            Recordando los anteriores temas que se han tratado en el blog, vamos a ver cómo se relaciona el Xenon con lo que hemos comentado hasta ahora.

                       Al contrario que otras CPU de proposito general, la Xenon no puede trabajar con ejecución fuera de orden con las instrucciones, pero sí tiene la ventaja del multithreading. Esto nos permitirá ejecutar por ejemplo en cada núcleo un par de hilos de ejecución y teniendo en cuenta sus 3 núcleos, en la teoría podríamos ejecutar 6 hilos al mismo tiempo. Esto nos da un rendimiento bastante bueno, pero la arquitectura tiene una desventaja, esta filosofía es un problema para el desarrollo de software eficiente en la consola.

                          Si analizamos la jerarquía de memoria de la XBOX 360 y el acceso a ella, observamos que la arquitectura tiene dos niveles de memoria caché, que nos da una mejora de rendimiento respecto a 1 único nivel o el acceso a memoria principal directamente. Cada procesador tiene su propia cache de primer nivel de 64, dividida en dos (instrucciones y datos) para evitar fallos de acceso. En cambio el nivel 2 de memoria caché es compartida entre todos los procesadores, y la mayoría de veces utilizado únicamente como simple buffer de almacenamiento.

                                Xenon dispone de una unidad dedicada a la predicción de saltos. En éste blog, también hemos hablado acerca de de estos predictores, hablamos del buffer de predicción de saltos, predictores multinivel y adaptativos que mejoraban el rendimiento de los anteriores, así como también de la técnica de la pila de direcciones.

                              En principio, en este procesador deben ejecutarse como mínimo dos threads para sacar un máximo rendimiento de su arquitectura: threads de propósito general, de de generación de vértices para la GPU, física, inteligencia artificial...

                      Toda esta arquitectura nos da un máquina muy eficiente, centrada en el multithreading, parecida a las de propósito general, consigue simplificar el hardware y reducir el consumo de potencia. En resumen, se trata de una máquina de las más potentes del mercado, pero supone una dificultad añadida para compiladores y programadores, que tienen mucha carga de eficiencia de rendimiento que deben solucionar ellos.



Referencias:

• 3D Juegos: Todo sobre la Xbox y Xbox 360

No hay comentarios:

Publicar un comentario