miércoles, 17 de junio de 2009

5.b Coprocesadores para gráficos: PPU, RTPU, etc

Coprocesadores

Un coprocesador es un microprocesador de un ordenador utilizado como suplemento de las funciones del procesador principal (la CPU). Las operaciones ejecutadas por uno de estos coprocesadores pueden ser operaciones de aritmética en coma flotante, procesamiento gráfico, procesamiento de señales, procesado de texto o Criptografía, etc. Y su función es evitar que el procesador principal tenga que realizar estas tareas de cómputo intensivo, estos coprocesadores pueden acelerar el rendimiento del sistema por el hecho de esta descarga de trabajo en el procesador principal y porque suelen ser procesadores especializados que realizan las tareas para las que están diseñado más eficientemente. Además estos coprocesadores permiten a los compradores de ordenadores personalizar su equipamiento ya que sólo tendrán que pagar ese hardware específico quienes deseen o necesiten tener el rendimiento extra ofrecido por estos dispositivos. En la siguiente figura podemos ver un coprocesador matemático Intel C8087.



La demanda de coprocesador gráfico dedicado ha crecido mucho en los últimos años debido a la alta demanda de procesamiento gráfico por parte de los videojuegos de ordenador que requieren gráficos 3D por computadora muy reales; este procesador dedicado elimina una considerable carga computacional a la CPU principal e incrementa el rendimiento en las aplicaciones gráficas intensivas.


A partir del año 2000, las tarjetas gráficas con una Unidad de Procesado de Gráfico (GPU) son comunes. Las tarjetas de sonido actuales también vienen con un potente procesador incluido con extensiones multimedia para eliminar tiempo de cómputo en al procesador principal. En 2006, AGEIA anunció otra tarjeta de expansión para ordenadores llamada PhysX, este dispositivo tiene un procesador integrado diseñado para ejecutar computación de los aspectos físicos de los escenarios 3D liberando de esta carga a la CPU y GPU. Está diseñado para trabajar con videojuegos, pero teóricamente se podrán ejecutar otras tareas matemáticas en él.


Un coprocesador no es un procesador de propósito general, algunos coprocesadores no pueden ni siquiera leer las instrucciones desde la memoria sino que ejecutan flujo de instrucciones. Estos procesadores requieren de un procesador principal que lea las respuestas del coprocesador y maneje todas las operaciones junto con las funciones del procesador. En algunas arquitecturas el coprocesador es otro procesador de propósito general, pero que solamente ejecutará un rango de funciones limitadas por el procesador principal que le ejercerá el control. Nótese la diferencia de este modelo con los términos de un multiprocesador, que también tiene más de un microprocesador de propósito general.



PPU

Años atrás, sobre los 90, la industria de los ordenadores introdujeron la GPU (Graphics Processing Unit). Esto liberó bastante al procesador de la carga de los videojuegos, pudiendo enfocarse en otras tareas como AI o la física. Gracias a este avance, los graficos en videojuegos han avanzado mucho y su calidad es impresionante.


La Ppu hace lo mismo que la GPU hace para los videojuegos, pero en vez de añadir potencia de procesamiento, está enfocado al código de la física. Éste elimina la carga de los cálculos físicos del procesador y los envía a la PPU.

Gracias a esto podemos tener juegos en tiempo real con una física hiperealista. Procesos tales como partículas o humo son ahora calculadas y desarrolladas, no como hasta ahora que sólo eran animaciones.


La PPU (Unidad de Procesamientos de Física) PhysX es un chip y un kit de desarrollo diseñados para llevar a cabo cálculos físicos muy complejos. Conocido anteriormente como la SDK de NovodeX, fue originalmente diseñada por AGEIA y tras la adquisición de AGEIA, es actualmente desarrollado por Nvidia e integrado en sus chip gráficos más recientes.



El 20 de Julio de 2005, Sony firmó un acuerdo con AGEIA para usar la SDK de NovodeX en la consola PlayStation 3. Esto provocó que muchos desarrolladores empezaran a crear juegos muy complejos, antes impensables, gracias a esta tecnología. AGEIA afirmó que el PhysX era capaz de realizar estos procesos de cálculos físicos cien veces mejor que cualquier CPU creada anteriormente.



Este coprocesador tiene las siguientes especificaciones:

      • 125 millones de transistores.

      • 182 mm² de tamaño.

      • Memoria: 128 MB GDDR3 RAM en interfaz de 128 bits.

      • Versiones de Asus y BFG tienen 128 MB GDDR3 RAM.

      • Interfaz: PCI.

      • Sphere: 530 millones por segundo (capacidad máxima).

      • Convex: 530,000 por segundo (capacidad máxima).

      • Ancho de banda de Instrucciones (picos): 20 billones por segundo.

      • Las tarjetas de Nvidia que soportan PhysX son las series GeForce 8, 9 y 200.



RTPU

Hace pocos meses se revolucionó el mundo gráfico añadiendo realismo a las escenas mediante el uso de Ray-tracing sin que ello hiciera mella en el rendimiento. Para ello se desarrollo la Ray Tracing Processing Unit (RTPU), que junto a la colaboración de las GPUs o gráficas actuales, alcanza un número de imágenes por segundo que permite la interactividad.



De momento con el hardware actual sólo se consiguen entre 3 y 5 imágenes por segundo, pero nos aseguran que para el año que viene podrán multiplicar los números por catorce con una nueva revisión de su RTPU, que se multiplicarán además por el número de tarjetas que tengamos instaladas.

A destacar que la tarjeta prepara los datos más complicados para que la GPU los trabaje en su etapa final -donde es muy eficiente-, liberándola de esta manera de los cálculos que nos es capaz de procesar adecuadamente tanto por su arquitectura como por su limitación de memoria (2GB no serían suficientes).

No hay comentarios:

Publicar un comentario