Aceleradores Gráficos y Su impacto en el BUS PCI Soluciones

Anuncio
Aceleradores Gráficos
Su impacto en el BUS PCI:
Soluciones Actuales
Autor : Ing. Juan Montenegro
1
Hoja de Ruta
„
„
„
„
„
Que es PCI?
Funcionamiento
Aplicación: Procesadores Gráficos 3D
Impacto en la tecnología PCI
Soluciones Alternativas
Autor : Ing. Juan Montenegro
2
Bus PCI (Periferical Component Interconnect)
„
„
Se desarrolla debido a la baja velocidad del bus ISA, y las poco
eficaces alternativas de alta velocidad. (la mayoría, caras y de poca
escalabilidad)
Intel en 1990 propone el borrador de la especificación 1.0:
„
„
„
„
„
„
Se forma PCISIG (PCI Special Interest Group como consorcio de
fabricantes).
Versión 2.0
„
„
32 líneas de datos
33MHz
Posee una electrónica sencilla.
Permite interconexión con otros buses (como ISA)
66 MHz ->4.224 Gbps (528MB/s).
Versión 2.1
„
64 bits de datos
Autor : Ing. Juan Montenegro
3
Arquitectura PCI
Autor : Ing. Juan Montenegro
4
PCI: estructura y señales:
„
„
Se configura como bus de 32 ó 64 bits.
49 líneas de señal obligatorias.
„
„
„
Sistema: reloj y reset
32 líneas multiplexadas (datos y direcciones)
Líneas para interpretar y validar
„
„
„
Control de interfaz: coordinan envío y recepción
Arbitraje: pares de líneas dedicadas maestros-árbitro
Señales de error (ej: paridad).
Autor : Ing. Juan Montenegro
5
PCI: Señales obligatorias
Autor : Ing. Juan Montenegro
6
PCI 64 bits
„
Aparecen 51 señales opcionales.
„
„
„
„
„
„
Interrupción: líneas dedicadas para cada
dispositivo
Soporte de caché para que se conecten al PCI
32 líneas multiplexadas (datos y direcciones)
(adicionales)
Líneas de interpretación y validación
2 líneas que permiten que 2 dispositivos PCI
utilicen 64 bits.
Terminales de test: estándar IEEE 1149.1
Autor : Ing. Juan Montenegro
7
PCI: Transferencia de Lectura
Autor : Ing. Juan Montenegro
8
PCI: Transferencia de Lectura
a) El master obtiene el control del bus, inicia la
comunicación activando FRAME, que deberá
permanecer activa hasta que este termine la
comunicación. También coloca la dirección de inicio en
el bus de direcciones en el flanco ascendente del
primer ciclo de clock, y con C/BE (líneas de comandos /
Byte Enable), establece la operación a realizar (lectura
o escritura de memoria, o de entrada salida).
Autor : Ing. Juan Montenegro
9
PCI: Transferencia de Lectura
b) Al comienzo del clock 2, el dispositivo
slave (del cual se leerán los datos)
reconoce la dirección colocada en AD.
Autor : Ing. Juan Montenegro
10
PCI: Transferencia de Lectura
c) El master deja las líneas AD libres, cambia las
líneas C/BE para indicar cuáles de los bytes de las
líneas AD se utilizarán para transferir el dato
direccionado. El master activa IRDY (Initiator ready)
para indicar que está preparado para recibir datos.
Autor : Ing. Juan Montenegro
11
PCI: Transferencia de Lectura
d) El slave (dispositivo de lectura
seleccionado) activa DEVSEL (Device
Select) para indicar que ha reconocido
las direcciones y va a responder.
Coloca el dato solicitado en las líneas
AD y activa TRDY (Target ready) para
indicar que hay un dato válido en el
bus.
Autor : Ing. Juan Montenegro
12
PCI: Transferencia de Lectura
e) El master lee el dato al comienzo del clock 4 y cambia
las líneas de habilitación de byte según se necesite para
la próxima lectura.
Autor : Ing. Juan Montenegro
13
PCI: Transferencia de Lectura
f) El slave necesita un tiempo adicional para preparar el segundo bloque de
datos para la transmisión. Por consiguiente desactiva TRDY para señalar al
master que no proporcionará un nuevo dato en el próximo ciclo. En
consecuencia, el master no lee las líneas de datos al comienzo del clock 5 y no
cambia la señal de habilitación de byte durante ese ciclo. El bloque de datos es
14
leído al comienzo del clock 6. Autor : Ing. Juan Montenegro
Präsentat
ion
PCI: Transferencia de Lectura
g) Durante el clock 6, el slave sitúa el tercer dato en el bus. Pero (en este
ejemplo específico) el master está ocupado y por lo tanto desactiva IRDY.
Esto hará que el esclavo mantenga el tercer dato en el bus durante un ciclo
de reloj extra.
Autor : Ing. Juan Montenegro
15
PCI: Transferencia de Lectura
h) El master sabe que el tercer dato es el último y por eso desactiva
FRAME. Además, activa IRDY para indicar que está listo para completar
esa transferencia.
Autor : Ing. Juan Montenegro
16
PCI: Transferencia de Lectura
i) El master desactiva IRDY, con esto hace que el bus vuelva a estar libre, y
el slave desactiva TRDY y DEVSEL.
Autor : Ing. Juan Montenegro
17
PCI: Arbitraje
„
Arbitraje centralizado
„
„
„
„
Cada maestro tiene dos líneas dedicadas
REQ (petición del bus)
GNT (concesión del bus)
Transmisión
„
„
„
Dispositivo PCI (o CPU) solicita bus activando REQ
Espera GNT
Usa el bus mientras tenga GNT
Autor : Ing. Juan Montenegro
18
PCI: Arbitraje
Árbitro
de
PCI
GNT
REQ
Dispositivo
PCI
GNT
REQ
Dispositivo
PCI
Autor : Ing. Juan Montenegro
GNT
REQ
Dispositivo
PCI
19
Procesamiento 3D
Autor : Ing. Juan Montenegro
20
Procesamiento 3D
„
Modelado de escenas
„
„
„
Uso de algoritmos matemáticos
Consiste en representar todos los objetos mediante
conjuntos de triángulos, formados por “vértices” (vertex)
Se comienza agregando triángulos hasta representar
superficies muy complejas...
Autor : Ing. Juan Montenegro
21
Procesamiento 3D
Autor : Ing. Juan Montenegro
22
Procesamiento 3D
Luego el procesamiento continua con:
Transformación de coordenadas
Rotaciones
Multiplicación
Autor : Ing. Juan Montenegro
23
Procesamiento 3D
Calculo de la Iluminación...
Autor : Ing. Juan Montenegro
24
Procesamiento 3D
„
continúa con:
„ Simulación de la “cámara” o punto del observador
„ Rasterización (determinación de superposiciones de
píxeles de diferentes polígonos en la imagen)
„ Texturado (aplicar texturas mediante mapas de bits)
„ Calculo de superficies ocultas.
Y
Autor : Ing. Juan Montenegro
25
Procesamiento 3D
Originalmente llevado a cabo mediante un pipeline de Hardware
que implementaba en forma secuencial todos estos procesos
tomando como entrada un “stream” o “flujo continuo” de vertex
„
Stream de
Vertex
Texturado
Texturado
Procesador
Procesador
De
De Vertex
Vertex
Stream de
Fragmentos
Vertex
Transformado
Rasterizado
Rasterizado
Ensamblado
Ensamblado
De
De Triangulos
Triangulos
Stream de
Triangulos “visibles”
Stream de
Triangulos
Iluminacion
Iluminacion
Proceso
Proceso de
de
ViewPort
ViewPort
Pixel
Stream
Frame
Frame
Buffer
Buffer
Imagen
Display
Display
Autor : Ing. Juan Montenegro
26
Procesamiento 3D
„
Nuevo enfoque: Multiprocesamiento
Se utiliza una “grilla” de Unidades de Procesamiento
multipropósito (UPs) agrupados en “clusters”
„Cualquiera de ellos puede implementar cualquiera de las antes
mencionadas “etapas” del “pipeline” gráfico
„Cada uno de ellos cuenta con memoria cache propia, unidades
de punto flotante y de Captura de Textruras (Texture Fetch)
„
Calculo de
Vertex
Cluster de UPs
Cache L1
Geometria
Y transformaciones
Cluster de UPs
Cluster de UPs
Cache L1
Calculo de
iluminacion
Rasterizador
Cache L1
Cluster de UPs
Diferentes procesamientos
concurrentes
GPU
Cache L1
Autor : Ing. Juan Montenegro
27
Impacto en las
diferentes
tecnologías
Autor : Ing. Juan Montenegro
28
Procesamiento de Video 3D en PCI
Buffer de trama
Buffer Local
de Texturas
Monitor
CPU
Textura 2
Chip
Gráfico
Los mapas de textura se leen del
disco duro, y se cargan en la
memoria del sistema, pero antes
pasan a través de la interfaz IDE al
bus y al chipset de video.
RAM del
Sistema
a Local
Textura 1
Chipset
PCI
BUS PCI
Drive de
DISCO
Memoria
Del
Sistema
Textura 2
Cuando se necesita una
textura para una escena,
el procesador lo toma de
la memoria del sistema.
Lo procesa y cachea en
disco los resultados.
Finalmente se almacena en memoria
Autor : Ing. Juan Montenegro
para que lo tome el Chip Gráfico 29
Bus AGP (Accelerated Graphics Port)
„
„
„
Bus de alto rendimiento para controlador gráfico.
AGP reduce cuellos de botella ya que es un bus dedicado de alta
velocidad.
Necesidades de las aplicaciones gráficas:
„
„
„
„
„
„
„
„
„
Acceso rápido a memoria local de video (refresh)
Elementos de píxel (3D)
Información del eje Z
Planos superpuestos
Malla poligonales
Texturas
32 líneas multiplexadas: direcciones/datos
Alta velocidad (reloj del bus de la CPU)
Transmisión: 528 MB/s ó 1 GB/s
Autor : Ing. Juan Montenegro
30
Procesamiento de Video 3D con AGP
CPU
Buffer de
trama
Memoria
Del
Sistema
Textura 1
Monitor
Chip
Gráfico
Chipset
AGP
Textura 2
BUS PCI
Drive de
DISCO
Autor : Ing. Juan Montenegro
31
Cache
L2
Memoria
Local
2.0 GB/s
Core
AGP
800 MB/s
Procesador Pentium III
Acelerador
Gráfico 528 MB/s
Intel 740
132
MB/s
I/O
Intel
440BX 800 MB/s
AGPset
Texturas
PCI
I/O
Memoria
del
Sistema
BUS AGP sobre
Procesador
Pentium III
Autor : Ing. Juan Montenegro
32
Plataforma PCI: Arquitectura y
Performance
„
A medida que aumentan los requerimientos de ancho de banda de bus por parte
de los dispositivos, las plataformas PCI evolucionaron en una arquitectura
compuesta por dos puentes:
„
Norte: representado por el Hub de Memoria. (North Bridge)
„
Sur: representado por el Hub de E/S. (South Bridge)
„
Los recursos de alta performance se conectan al N.B.
„
Los de baja performance al S.B.
„
Dentro de los recursos de baja performance del Hub Controlador de E/S,
algunos requieren conexión de alta performance (p.ej. un CD) y otros se pueden
utilizar como un segmento compartido del bus PCI (p.ej. Ethernet y SCSI)
Autor : Ing. Juan Montenegro
33
Arquitectura PCI-X
„
„
„
„
„
„
PCI-X fue desarrollado para extender la performance de PCI.
El Bridge HOST/PCI-X representa una consolidación de los controladores
de Hub en una estructura de Bridge único.
Inicialmente PCI-X simplemente incrementa la frecuencia de la línea de
la señal CLK respecto de PCI con el objeto de incrementar el ancho de
banda del segmento del bus.
Eventualmente PCI-X DDR y QDR proveen una fuente de sincronismo
para mejorar el ancho de banda del segmento. “D” y “Q” se refieren a
dual y quad como múltiplos respectivamente de la señal de strobe,
dentro de un mismo período de la señal CLK.
El incremento en el ancho de banda del segmento del bus reduce
ampliamente el número de slots de conexión de placas por cada
segmento de bus.
El aumento en la performance de los PCI-X DDR y QDR resulta en
interconexiones punto a punto.
Autor : Ing. Juan Montenegro
34
Arquitectura PCI-X
Autor : Ing. Juan Montenegro
35
Fin de la Clase
!Muchas Gracias!
Autor : Ing. Juan Montenegro
36
Descargar