COPROCESADORES PARA GRAFICOS
14:48 | Author: Ricardo Silva Asenjo

INTRODUCCION

¿Que son los coprocesadores?

El termino completo es ¨coprocesador matematico¨, con este nombre se puede deducir que no se trata de un elemento central, si no de un asistente. Un coprocesador matemático aumenta la velocidad de una computadora, ocupándose de algunas de las tareas de la CPU. No obstante el coprocesador no es un componente indispensable en una maquina. Se puede instalar un coprocesador en la placa madre, siempre y cuando esta disponga de la ranura correspondiente.


Puesto que lo que hace la CPU no es otra cosa de cálculos, el lector podría estar preguntándose porque necesita ayuda para realizarlos. Lo que ocurre es que la CPU solo puede llevar a cabo operaciones aritméticas básicas con números enteros.


La CPU tiene problemas para procesar operaciones con valores fraccionarios puesto que no son números enteros. Así la CPU requiere bastante tiempopara resolverlas. Siempre deban realizar muchos cálculos complejos (por ejemplo, al calcular funciones tangentes, exponenciales y raíces) puede disminuir su velocidad considerablemente, debido especialmente a la unidad de procesamiento tiene que ejecutar también otras tareas simultáneamente.


Especialmente en aquellas operaciones en las cuales se trabaja con fracciones y cifras muy complicadas en cuestiones aritméticas de coma flotante, el coprocesador muestra su idoneidad. En aquellos campos de aplicación donde se requieren muchas posiciones decimales y los errores de redondeo deben de mantenerse tan insignificantes como sea posible, resulta imprescindible la utilización de un coprocesador.


Un coprocesador puede ser extremadamente útil para realizar este tipo de cálculos. Normalmente, las aplicaciones científicas y técnicas requieren un coprocesador matemático. No obstante, para utilizar un coprocesador los programas deben estar específicamente diseñados para ello. De nuevo el paquete de software que vaya usted a utilizar constituye el factor decisivo que determinara si su sistema debe estar equipado con un coprocesador. Algunos paquetes de programas modernos de CAD/CAM, como AutoCAD, requieren un coprocesador.


Los coprocesadores fueron vistos por primera vez en los mainframes donde se añadían para funcionalidad opcional como el soporte matemático para punto flotante, otro uso muy común era para el control de los canales de Entrada/Salida, aunque este dispositivo se conocía normalmente como controlador de canal, un ejemplo de estos dispositivos lo tenemos en los controladores DMA.


Un coprocesador es también útil para utilizar gráficos vectoriales. Sin embargo, no aumenta el rendimiento de las aplicaciones que utilizan gráficas de puntos.


GPU (Unidad de procesamiento grafico)


La unidad de procesamiento gráfico o GPU es un procesador dedicado exclusivamente al procesamiento de gráficos, para aligerar la carga de trabajo del procesador central en aplicaciones como los videojuegos y o aplicaciones 3D interactivas. De esta forma, mientras gran parte de lo relacionado con los gráficos se procesa en la GPU, la CPU puede dedicarse a otro tipo de cálculos (como la IA o los cálculos en el caso de los videojuegos).

Una GPU implementa ciertas operaciones gráficas llamadas primitivas optimizadas para el procesamiento gráfico. Una de las primitivas más comunes para el procesamiento gráfico en 3D es el antialiasing, que suaviza los bordes de las figuras para darles un aspecto más realista. Adicionalmente existen primitivas para dibujar rectángulos, triángulos, círculos y arcos. Las GPU actualmente disponen de gran cantidad de primitivas, buscando mayor realismo en los efectos.

¿Qué características tiene una GPU moderna?

Una GPU actual suele tener 6 procesadores de vértices trabajando en paralelo, y de 12 a 18 procesadores de fragmentos. El hecho de ser muchos procesadores trabajando en paralelo le da ventaja frente al CPU, ya que los algoritmos de gráficos se pueden paralelizar para hacerlos más eficientes.

También suele tener en la misma tarjeta, memoria de alta velocidad (RAMDAC) exclusivamente dedicada a la GPU.

En cuanto a Hardware, una GPU moderna tiene la capacidad de trabajar junto con otra GPU para repartirse el trabajo, debe tener un excelente sistema antialias, memoria integrada de gran capacidad para almacenar texturas y también de una tasa de transferencia de datos muy elevada.

Actualmente también proveen aceleración para video de alta definición en MPEG-2 y WMV, de manera que el CPU de la computadora pueda estar libre para hacer otras tareas mientras la GPU decodifica y muestra el video, video de alta definición, cómputo preciso de imágenes.

En cuanto a Shaders de vértices, las GPUs actuales tienen soporte para mapeo de desplazamientos, instanciado de geometría, programas de vértices de longitud arbitraria.

Para Shaders de pixels, tienen soporte para “Full Pixel Branching”, múltiples objetivos de dibujado, programas de pixels de longitud arbitraria.

En texturizado, debe tener soporte de múltiples texturas por cada “mano” de dibujado, acceso acelerado a texturas, formatos de punto flotante de 16 y 32 bits, compresión de texturas de DirectX y de S3TC.

Una GPU actual tiene soporte para OpenGL 2.0 y el modelo de Shader 3.0 Microsoft DirectX 9.


GPGPU (Unidad de procesamiento grafico de proposito general)


GPGPU o General-Purpose Computing on Graphics Processing Units es un concepto reciente dentro de informática que trata de estudiar y aprovechar las capacidades de cómputo de una GPU.

Una GPU es un procesador diseñado para los cómputos implicados en la generación de gráficos 3D interactivos. Algunas de sus características (bajo precio en relación a su potencia de cálculo, gran paralelismo, optimización para cálculos en coma flotante), se consideran atractivas para su uso en aplicaciones fuera de los gráficos por computadora, especialmente en el ámbito científico y de simulación. Así, se han desarrollado técnicas para la implementación de simulaciones de fluidos, bases de datos, algoritmos de clustering, etc.


GPGPU se está utilizando actualmente endiversos campos de la computación:

– Simulación física

– Minería de datos

– Visión por computador

– Inteligencia artificial

– Procesamiento de señales

– Criptografía

PPU (Unidad de preocesamiento de fisicas)

Una Unidad de procesamiento físico (en Inglés PPU) es un microprocesador diseñado especialmente para manejar calculos físicos en computación. Su uso esta particularmente extendido en el campo de los motores fisicos y los videojuegos. Algunos ejemplos de cálculos realizados por unidades de procesamiento físico son calculos de dinamica de cuerpos rígidos, detección de colisiones, dinámica de fluidos, simulacion de vestuario y cabello (en computación gráfica), analisis de elementos finitos y fractura de objetos. El propósito de estas unidades de procesamiento fisico es liberar de carga (de procesamiento) a las CPU haciendo estas operaciones.


La arquitectura del procesador physX ha sido diseñada para permitir una aceleración radical de:

-Propiedades de la materia: son características físicas como la densidad, fricción y robustez.

-Movimientos de cuerpos rígidos y detección de colisión.

-Conexiones y resortes: son herramientas para modelar mecanismos complejos.

This entry was posted on 14:48 and is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.