Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge...

39
GPU Arquitectura de computadoras icente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García

Transcript of Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge...

Page 1: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

GPUArquitectura de computadoras

Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez

Page 2: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

TARJETAS DE VIDEO

Page 3: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

¿Cómo funciona?

Las imágenes que vemos en nuestras computadoras están compuestas por miles de pixeles, estos son el resultado de la traducción de código binario compuesto por 1’s y 0’s , la función de la tarjeta grafica es controlar el orden en la posición de los pixeles para crear una imagen.

El procesador trabaja en conjunto con los programas de la computadora y envía la información binaria acerca de la imagen a la tarjeta, esta la interpreta y la compone en pixeles para reflejar la imagen enviando la información al monitor a través del cable , la tarjeta grafica no solo se encarga de la composición de los pixeles sino de todos los procesos gráficos como son sombras, imágenes tridimensionales, iluminación textura y color.

Page 4: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

Desde su concepción, las tarjetas gráficas han incluido diversas prestaciones y funciones, tales como la posibilidad de sintonizar la televisión o de capturar secuencias de vídeo de un aparato externo.

Es importante notar que no se trata de un componente hallado exclusivamente en los ordenadores actuales, sino que han existido desde hace ya más de cuatro décadas y hoy en día también son parte indispensable de las consolas de videojuegos, tanto de las portátiles como de las caseras.

Su creación data del final de la década del 60, época en la cual se dejó atrás el uso de una impresora para visualizar la actividad de los ordenadores y se comenzó a usar monitores. Al principio, las resoluciones eran ínfimas en comparación a la ya conocida por todos alta definición. Fue gracias al trabajo de investigación y desarrollo de Motorola que las características de los chips se volvieron más complejas y sus productos dieron pie a que se estandarizara el nombre de tarjetas de vídeo.

Page 5: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

A medida que los ordenadores para uso personal y las primeras consolas de videojuegos se hicieron populares, se optó por integrar los chips gráficos en las placas madre, dado que esto permitía disminuir considerablemente los costes de fabricación. A simple vista, esto presenta una clara desventaja: la imposibilidad de actualizar el equipo.

Chip grafico ps3 REALITY SYNTHESIZER

Page 6: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

Historia En los años 70 aparecieron los primeros procesadores

gráficos. Prácticamente no tenían posibilidad de procesado gráfico más allá de posicionar imágenes en el espacio de la pantalla y control de modo texto y gráfico. El nombre de los primeros chips eran ANTIC (Alphanumeric Television Interface Controller) y CTIA (Color Television Interface Adaptor) en las computadores de 8-bit de Atari.

Page 7: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

Durante los 80s, el Commodore Amiga fue el primer ordenador (de amplio mercado) en incluir blitter (coprocesador que es capaz de hacer transferencias de bloques de datos con el fin de simular movimientos de imágenes) en su hardware de video.

Por otro lado el 8514 de IBM fue la primera tarjeta gráfica en incluir primitivas 2D en hardware.

Page 8: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

• A lo largo de los 90s aparecieron nuevas APIs para variedad de tareas para ejecutar en las GPUs, como WinG para Windows 3.X y luego DirectDraw para los juegos en 2D de Windows 95. A mediado de los 90s comenzaron a aparecer tarjetas aceleradoras 3D.

• Al principio las que aparecían eran tarjetas sólo para dicha aceleración lo cual hacía desaparecer las mejoras 2D de las antiguas tarjetas.

• Luego comenzaron a aparecer chips donde integraban 2D, 3D y video en un único dado. También apareció en esta década OpenGL, una de las principales APIs usadas en la actualidad para programar funciones sobre la GPU.

Page 9: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

• Pasado un tiempo Microsoft se acercó a los desarrolladores de hardware y comenzó a enfocarse en la publicación de versiones de DirectX, la API más usada hoy en día.

• Desde el 2000 hasta la actualidad, con la mejora de OpenGL y DirextX, las GPUs han ido añadiendo funcionalidad a sus capacidades.

• Ahora cada píxel puede procesarse con un pequeño programa e incluso pintarlo con texturas, así como cada vértice puede modificarse con pequeñas tareas antes de proyectarse sobre la pantalla.

• La Nvidia GeForce 3 (NV20) fue la primera GPU en introducir funcionalidad programable. La ATI Radeon 9700 fue la primera en introducir soporte para bucles y operaciones en coma flotante complejas.

Page 10: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

En la actualidad, el paralelismo de las GPUs está consiguiendo que para muchas aplicaciones se comience a usar a dichos coprocesadores en lugar de la CPU.

Esta tendencia se conoce como GPGPU (General Purpose Computing on GPU) y se usa mucho para tratamiento digital de imágenes, álgebra lineal y estadística.

Page 11: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

GPUAcrónimo del inglés Graphics Processing Unit, es un procesador dedicado exclusivamente al procesamiento de gráficos (punto flotante), para aligerar la carga de trabajo del procesador central en aplicaciones como son los video juegos y aplicaciones que involucren representaciones tridimensionales (3D).

Page 12: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

SegmentadaVértices y pixeles

CPU GPUVertex shader

Rotación, movimiento de las figuras, vértices a pixeles

pixel shaderCuellos de botella, detalle, textura, color de

pixel

Antialiasing, efecto de niebla

Page 13: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.
Page 14: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

Etapas del procesamiento gráfico

Entrada: Lista de vértices y sus atributos.

1. Procesar vértices (vertex shader).2. Agrupar en primitivas (primitive assembly).3. Rotar, trasladar, escalar, iluminar (T & L).4. Acotar e interpolar (clipping, culling, interpolate).5. Convertir primitivas a mallas de puntos (rasterizer).6. Procesar píxeles (pixel shader).7. Aplicar texturas.8. Mezclar elementos (blending).

Salida: Memoria de vídeo.

Page 15: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.
Page 16: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

CUDA

Es una arquitectura de cálculo paralelo de NVIDIA que aprovecha la gran potencia de la GPU.

Co-procesamiento distribuido entre CPU y GPU NVIDIA CUDA

Page 17: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

CUDA se basa en intentar aprovechar el paralelismo y gran ancho de banda de las GPU’s en vez de realizar numerosos accesos a memoria principal. El modelo está diseñado para que se creen aplicaciones escalables en paralelismo, para poder incrementar el número de núcleos desde los que se ejecuten de forma transparente.

La estructura que se utiliza en este modelo está denido por un grid, dentro del cual hay bloques de hilos que están formados por como máximo 512 hilos distintos. Device = GPU Host = CPU Kernel = Función llamada desde el Host que se ejecuta en Device 1 CUDA Kernel se ejecuta mediante un array de Threads. Todos los Threads ejecutan el mismo código y cada Thread tiene

un ID que se usa para direccionar la memoria y tomar las decisiones de control donde la unidad básica de operación es el Thread que estan organizados por bloques y los bloques en mayas.

Page 18: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.
Page 20: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

Características Tarjeta de Video

•Bus de conexión:

Se refiere al tipo de conector que utiliza para comunicarse con la Tarjeta Madre (Motherboard).Hoy en día se utilizan los conectores AGP Y PCIE (PCI Express).

Page 21: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

•Memoria:

La memoria utilizada primeramente fue DDR, pero ahora ya tenemos en el mercado placas con DDR2, GDDR3 y GDDR4 incluso GDDR5

Page 22: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

•Bits del bus (Interfaz de Memoria)

Hace referencia al número de bits que se transmiten por el bus hacia o desde la memoria. Las tarjetas de gama media pueden tener una interfaz de memoria de 128 bits y las de gama alta tienen 256 bits.

•Velocidad del bus de memoria (Reloj de memoria):

Nos indica a que velocidad se transmite la información por el bus. La tasa efectiva de reloj de memoria en las tarjetas modernas son por lo general entre 400 MHz y 3,8 GHz

Page 23: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

•RAMDAC (Random Access Memory Digital-to-Analog Converter)

Es el circuito usado para convertir la señal digital de la tarjeta gráfica en una señal analógica que puede ser enviada al monitor. La habilidad de la RAMDAC para llevar a cabo este proceso es lo que determina su calidad, y este factor de calidad de la RAMDAC tiene un efecto muy importante en el rendimiento general de la tarjeta gráfica.La frecuencia de la RAMDAC medida y expresada en MHZ simplemente significa el número de operaciones que este circuito puede ejecutar en un período de un segundo.

Page 24: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

•Generación de software:

Cada placa de vídeo soporta distintas tecnologías de vídeo, OpenGL es el tradicional. DirectX es propietario de Microsoft ofrece más opciones de alisado y perfección de imagen. Las placas por lo general soportan ambos modos.

DirectX 8.0 (Pixel Shader 1.1 – Vertex Shader 1.1) DirectX 8.1 (Pixel Shader 1.3 y 1.4 – Vertex Shader 1.1) DirectX 9.0 (Pixel Shader 2.0 – Vertex Shader 2.0) DirectX 9.0c (Pixel Shader 3.0 – Vertex Shader 3.0)DirectX 10 (Pixel Shader 4.0 - Vertex Shader 4.0)DirectX 10.1 (Pixel Shader 4.1 - Vertex Shader 4.1)DirectX 11 (Pixel Shader 5 - Vertex Shader 5)

Page 25: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

•VERTEX SHADER:

En términos de programación es una función que recibe como parámetro un vértice. Sólo trabaja con un vértice a la vez, y no puede eliminarlo, sólo transformarlo. Para ello, modifica propiedades del mismo para que repercutan en la geometría del objeto al que pertenece.

•PIXEL SHADER :

Es donde se aplican las texturas y se tratan los pixeles que forman parte de ella. Básicamente, un píxel shader especifica el color de un píxel. Este tratamiento individual de los pixeles, permite que se realicen cálculos principalmente relacionados con la iluminación del elemento del cual forman parte de la escena, y en tiempo real.

Page 26: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

GPU

•Frecuencia de funcionamiento (Velocidad del núcleo):

Es la velocidad a la que funcionan los distintos procesadores que componen la tarjeta. Esta junto al número de núcleos será lo que determine cuantos cálculos podremos hacer por segundo. Existen velocidades desde 250 MHz hasta los 890 MHz

•FillRate (Tasa de relleno):

La tasa de relleno es el número de texel (Pixel + textura asociada) que es capaz de generar el motor gráfico en un segundo.

Page 27: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

•Pixel Pipelines: Son el número de tuberías que trabajan con los píxeles , es donde ocurren las etapas requeridas en transformar una imagen tridimensional hacia una pantalla de dos dimensiones

•UNIDAD ROP (Raster Operator Unit): Capacidad de escribir los pixeles, manejar cualquier antialiasing(imagen mas suave) así como la compresión Z y la compresión de color.

Page 28: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

GPU’S ACTUALES

Anteriormente dominaban el mercado varias marcas, entre ellas una llamada Trident, pero actualmente son 2 marcas de circuitos dominantes (independientemente de la tarjeta de video que la integra):

ATI Radeon ("Array Tecnologies Inc.") de la empresa AMD

GeForce: de la empresa Nvidia

Page 29: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

ATI Radeon

Durante los años 2000 se encuentre Radeon en todo el mercado de procesadores gráficos, tanto en el sector doméstico, incluyendo PC de sobremesa y portátiles (modelos Mobility), como en el profesional (modelos FireGL) y en la fabricación de procesadores gráficos para videojuegos. La serie Radeon evolucionó a lo largo de tres generaciones coincidentes con las versiones de DirectX a las cuales se adaptaban.

Page 30: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

ATI Radeon

ATI Radeon HD 5850 ATI Radeon HD 5870 AMD Radeon HD 6850 AMD Radeon HD 6870 AMD Radeon HD 6970

Stream Processors 1440 1600 960 1120 1536

Unidades de textura 72 80 48 56 96

ROPs 32 32 32 32 32

Reloj núcleo 725MHz 850MHz 775MHz 900MHz 880MHz

Reloj memoria 1GHz (4GHz efectivos) GDDR5 1.2Ghz (4.8GHz efectivos) GDDR5 1000MHz (4GHz efectivos) GDDR5 1050MHz (4.2GHz efectivos) GDDR5 1375MHz (5.5GHz efectivos) GDDR5

Ancho del bus de memoria 256-bit 256-bit 256-bit 256-bit 256-bit

Frame Buffer 1GB 1GB 1GB 1GB 2GB

Transistores 2.15B 2.15B 1.7B 1.7B 2.64B

TDP 151W 188W 127W 151W 250

Proceso fabricación TSMC 40nm TSMC 40nm TSMC 40nm TSMC 40nm TSMC 40nm

Rango de precios (USA) $249 $349 $179 $239 $369

Page 31: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

Nvidia

Especializada en el desarrollo de unidades de procesamiento gráfico y tecnologías de circuitos integrados para estaciones de trabajo, ordenadores personales y dispositivos móviles. Con sede en Santa Clara, California, la compañía se ha convertido en uno de los principales proveedores de circuitos integrados (CI), como unidades de procesamiento gráfico GPU y conjuntos de chips usados en tarjetas de gráficos en videoconsolas y placas base de computadora personal.

NVIDIA produce GPUs incluyendo la serie GeForce (GTM, GTX) para videojuegos, la serie NVIDIA Quadro de diseño asistido por ordenador y la creación de contenido digital en las estaciones de trabajo, y la serie de circuitos integrados nForce para placas base además de la serie Tegra para dispositivos móviles de alto desempeño (Tablets Google, Smartphones como htc y huawei).

Page 32: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

GeForce GT Serie M

Compatible con Microsoft DirectX 11

Controladores NVIDIA GeForce

Descodificación de vídeo acelerada por hardware5

Compatible con PCI Express 3.0 y 2.0

Interfaz DVI Dual Link

Tecnología NVIDIA FXAA

NVIDIA Adaptive Vertical Sync

Audio de alta definición con reproducción bit a bit

Page 33: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

GeForce GT Serie M

Page 34: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

GeForce GT Serie X (GTX 690)

Page 35: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

GeForce Quadro

Page 36: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

¿Qué placa de video elegir? On Board, AGP y PCI-E 

Lo primero que debemos tener en cuenta antes de realizar cualquier búsqueda de una placa de video es chequear el puerto que posee el mother o placa madre de nuestra computadora. Los 2 puertos más comunes que tienen los mother son PCI y AGP (PCI es el de color blanco y AGP el de color marrón).

Más económico pero de menor calidad. Este tipo es conocido como On Board o video integrado. 

Page 37: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

¿Qué placa de video elegir?

OnBoard: El chip de video se encuentra en el mother y

sólo se pueden recomendar para equipos baratos de escritorio. Comparten la memoria RAM de la PC, es decir que no poseen una propia.

Estos tipos de placas sirven sólo para escritorio, funcionan mal y con fallas. 

Page 38: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

¿Qué placa de video elegir?

PCI Express Llamado PCI-E o PCI-X, es la evolución del viejo

PCI. Un slot PCI-E permite conectar varias placas de video y el ancho de banda entre el procesador y la placa es mucho mayor que el AGP.

Es la evolución necesaria para estos dispositivos y cuenta con grandes ventajas, como la relación precio/desempeño que es de mucho mayor.

Page 39: Vicente Reyes Zaragoza | Eric Daniel Ramírez Trinidad | Juan Natanahel Pérez Pérez | Jorge García Ramírez |Angélica Rodríguez.

Bibliografía

Guía sobre la GPU (2007). [En línea] Disponible en: http://foro.noticias3d.com/vbulletin/showthread.php?t=187792

RAMDAC [En línea] Disponible en: http://www.info-ab.uclm.es/labelec/Solar/elementos_del_pc/Tarjetas_graficas/ramdac.html

Nvidia [En línea] Disponible en: http://www.nvidia.es/page/home.html

ATI [En línea] Disponible en: http://www.amd.com/la/products/desktop/graphics/Pages/new_desktop-graphics.aspx