09 diciembre 2010

Tema 5. Coprocesadores para gráficos: PPU, RTPU...


                    Los coprocesadores gráficos son microprocesadores que se encargan básicamente de realizar tareas de suplemento del GPU para facilitar el procesado y que éste logre llegar a la realización de las tareas en tiempo real.

                   Actualmente todos los ordenadores tienen algún tipo de GPU que permite liberar a la CPU de los cálculos necesarios para generar gráficos 3D, hoy en día se ha añadido más hardware de propósito específico, especialmente para juegos. La propuesta más importante ha sido la de un coprocesador físico normalmente conocido como PPU (Pysics Processing Unit).

              Una unidad de procesamiento físico (PPU) es un microprocesador dedicado diseñado para procesar los cálculos de la física, especialmente en los motores de física en los videojuegos. Ejemplos de cálculos que engloba una PPU pueden incluir dinámica de cuerpos rígidos, dinámica de cuerpos blandos, detección de colisiones, dinámica de fluidos, simulación de pelo y ropa, análisis de elementos finitos, y rotura de objetos. La idea es que procesadores especializados reduzcan el tiempo de las tareas de la CPU de un ordenador.

08 diciembre 2010

Tema 5. Benchmarks y comparativa entre GPUs


                    Para evaluar el rendimiento de un sistema gráfico se utilizan benchmarks, software real o "de juguete" diseñado para probar la eficiencia del sistema a la hora de generar los gráficos. Un ejemplo de benchmark es el SPECviewperf11, que ya comentamos en el blog. Hoy en día, los benchmarks sintéticos no interesan por su baja fiabilidad, de modo que se usa software real para analizar el rendimiento del sistema. Cuando hablamos de "software real" estamos diciendo que los mejores benchmarks son juegos actuales que requieren sacar lo mejor de las tarjetas gráficas, por ejemplo, se usa el Crysis, el Half Life 2, Mass Effect o el Call of Duty como benchmarks, por ejemplo analizando los frames por segundo en diferentes configuraciones, resolución de pantalla, filtrados, profundidad de color...

              Es importante aclarar que siempre se evalúa parte de un sistema, es decir, el resto de componentes, tanto hardware como software, también afectarán a los resultados obtenidos. No sólo se está evaluando la tarjeta gráfica, sino también el resto de componentes del sistema, y sobre todo, la relación entre todos ellos.

                     Hace poco Nvidia ponía en circulación la GeForce GTX 580, la mejor tarjeta gráfica simple del mercado, con un rendimiento altísimo y con la ventaja añadida de su silenciosa tarjeta. Ahora Nvidia ha vuelto a sorprendernos con su GTX 570, que proporciona las últimas prestaciones a un precio demencial: unos 350 $. Está claro que Radeon va a tener que emplearse a fondo para contrarrestar a Nvidia.

07 diciembre 2010

TEMA 5. Evaluación de rendimiento en arquitecturas para gráficos y multimedia



a. (B) Escoger una evaluación de rendimiento o una comparativa reciente y analizarla/criticarla.

b. (B) Coprocesadores para gráficos: PPU, RTPU, etc.

c. (E) Estudio de una arquitectura de altas prestaciones utilizada para aplicaciones gráficas: cluster, Grid, FPGA, ASIC, etc.

d. (E) Evaluación de rendimiento de la tarjeta gráfica como coprocesador de la CPU (benchmarks para CUDA).

e. (E) Detección de cuellos de botella.

04 diciembre 2010

Tema 4. Modelos de programación para el Cell


               El procesador Cell tiene unas excelentes prestaciones y será un gran procesador, siempre y cuando se le pueda sacar todo el rendimiento que de él se espera, pero la pregunta está en si eso será fácil para los desarrolladores.

             Como ya hemos comentado el chip Cell tiene 8 núcleos de procesamiento (Synergistic Processor Element o SPE). Cada uno de los SPE tiene una memoria única de 256KB, 128 registros con una anchura de 128 bits y elementos de ejecución de 128bits, se puede decir que cada SPE es una máquina de 128bits. Con esta capacidad de procesamiento tenemos que cada SPE puede ejecutar 2 Double-Float, 4 Floats o Long integers, ocho integers... etc, cada uno en un solo ciclo de reloj. Además cada SPE contiene siete elementos de ejecución de los que solamente dos podrán estar activos a la vez.

             Pero esta arquitectura tiene un inconveniente, y es que cada SPE solamente puede acceder a sus 256 KB de memoria y no verá nada más allá. Para pedir una palabra fuera de esos 256 KB se debe acceder a un DMA conectado a un BUS llamado Element Interconnect Bus (EIB). Esto presenta un problema a la hora de procesar grandes cantidades de información, pues hay que optimizar el "troceado" para que no haya pérdida de rendimiento.

03 diciembre 2010

Tema 4. Comparativa entre videoconsolas


                 La Guerra de consolas sigue causando estragos en el mundo de los videojuegos. Andamos ya por la séptima generación de videoconsolas, camino de la octava, y desde que las consolas existen, siempre ha habido una competición por ver quién de todas se lleva el gato al agua.

               Desde que la PlayStation 3 llegó en el mercado para destronar a la Xbox 360 en 2006, los jugadores debaten acerca de qué máquina es superior. Antiguamente cada consola tenía sus títulos propios, pero hoy en día vemos la portabilidad a todas las consolas por parte de una grandísima mayoría de las distribuidoras de juegos. A pesar de ello, y de que los títulos de consola exclusivos se han vuelto menos comunes, los jugadores están convencidos de que su sistema de elección es el mejor.

                Además de PS3 y Xbox 360, contamos con la Wii como tercera en discordia, si bien, la hemos apartado de este estudio técnico, puesto que sus capacidades hardware no son comparables con las otras dos. Según una entrevista con el diseñador de juegos de Nintendo, Shigeru Miyamoto, el concepto de la Wii se desarrolló teniendo como objetivo lograr una nueva forma de interacción con el jugador: "El concepto general era que el poder no lo es todo para una consola. Demasiadas consolas poderosas no pueden coexistir. Es como tener sólo dinosaurios feroces. Podrían luchar entre ellos y adelantar su propia extinción". La consola de Nintendo basa su fuerza en la diversión de los juegos, sus innovadores mandos y un precio muy competitivo, que se puede permitir por tener un hardware más sencillo que sus otras dos grandes rivales. 

02 diciembre 2010

Tema 4. Comparativa entre el Cell y el Xenon


                  La idea de una videoconsola es jugar a videojuegos. Los desarrolladores se tienen que preocupar de qué sistema es más rápido, que hardware es mejor y lo que eso significa para los juegos que ellos desarrollan. Pero, para el usuario final, que la Xbox 360 tenga una GPU más rápida o que el procesador de la PlayStation 3 sea el mejor invento desde el pan de molde, realmente no importa. Al final del día, son los juegos y la sensación global lo que vende las consolas. Puedes tener el mejor hardware del mundo, pero si los juegos y la experiencia no están ahí, no sirve de nada.

            Las consolas de última generación han traído dos novedosos procesadores que han introducido importantes modificaciones respecto a lo que se veía hasta ahora. La Xbox 360 estrena el flamante procesador Xenon, del que hablamos en este blog. Por su parte, la PlayStation 3 lleva el procesador Cell desarrollado por Sony, IBM y Toshiba.

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