ARB VP v1.0 en GPULib: comunicación GPULib Driver 8 de Julio del 2004.

Slides:



Advertisements
Presentaciones similares
Clase Teórica N°5 Modos de direccionamiento
Advertisements

EJECUCIÓN DE INSTRUCCIONES(1)
LEY DE OHM RECORDANDO... V I R.
Procesadores Superescalares
Lunes 18 de Febrero 2008 Material para la clase: Elprofe3.wordpress.com.
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Procesamiento de Datos I
Especificaciones Arqueo y Digitalización Garantías Comerciales
CLASE 4 EL ENSAMBLADOR.
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Prototipo de compilador didáctico del lenguaje LC99
COMISIÓN NACIONAL DEL AGUA SISTEMA DE DECLARACIONES Y PAGO ELECTRÓNICO
Acceso a bases de datos MySQL en PHP
CATALOGO DE GARGANTILLAS
No. Lista 31 Teresita Ramírez Uribe HORA: 8:00-9:00AM.
N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR.
Digital Product Placement (DP2)
Procedimientos y SubProcedimientos

SEMANA 9_2.
Subir la tarea a la plataforma de Senati virtual
66.20 Organización de Computadoras
Procesadores de Lenguajes I
INFORMATICA I Arreglos 1 CLASE 17.
INFORMATICA I Arreglos 2 CLASE 18.
PROCESADORES SUPERESCALARES Y VLIW
ENTRADA / SALIDA 1.
Andrés Núñez Herrero Enrique España Blanco Rodrigo Cembrero Carazo
ARQUITECTURA INTEL Modos de direccionamiento
SPARC (Scalable Processor Architecture)
Ingeniería de sw.
Guía de Implementación
Índice Sesión I Bloque I (09:30 a 10:30 Horas) Configuración Inicial
Tema 3. Optimización de Código
PROG. EN ENSAMBLADOR Ing. Pablo Cesar Tapia Catacora.
Compiladores II ( /04/ :03) Tema 2. Generación de Código para Estructuras Complejas Lecciones 3 y 4.
CLASE 11.
Introducción al NASM The Netwide Assembler MIA J. Rafael Rojano C.
MODOS DE DIRECCIONAMIENTO No. Lista 21 7am Rivas chacón Ana cristina
MODOS DE DIRECCIONAMIENTO
Práctica 7 AOC. Gestión de la pila Una pila es una estructura de datos caracterizada por que el último dato que se almacena es el primero que se obtiene.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 08/03/2007.
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
Semana 5 Subprogramas..
Dibujar en 3D: puntos, líneas y polígonos.
Transformaciones en OpenGL
Secciones y Segmentos STARTUP
Conceptos Arquitectónicos del computador
C ONTINUACIÓN M ODOS DE DIRECCIONAMIENTO. 5. R ELATIVO A LA BASE Se le identifica cuando dentro de la instrucción aparece un registro base mas un desplazamiento.
Facultad de Trabajo Social Consultar archivos Descargarlos y Responder una tarea en la Plataforma Virtual.
Programación de Sistemas
Matrices Departamento de Computación Escuela de Ingeniería de Sistemas
MODOS DE DIRECCIONAMIENTO
1 Definición y Conversión de datos Agustín J. González ELO-329.
Matrices Prof. Flor Narciso Departamento de Computación
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
Programación orientada a objetos
Ing. Lionel Hendryk. Sistemas Embebidos Un sistema embebido es un sistema de computación diseñado para realizar una o algunas pocas funciones dedicadas.

introducción al Lenguaje Ensamblador
Programación de Sistemas
Que es un Macro ? Como se llama el programa para crear macros?  Visual Basic para aplicaciones.
1 Definición y Conversión de datos Agustín J. González ELO-329.
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
JOSE ALBERTO JIMENEZ JIMENEZ KATTY HIPOLITO. 7.1 INTRODUCCION AL LENGUAJE EMSAMBLADOR.
Lenguaje ensamblador Resumen en diapositivas
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
SISTEMAS ELECTRÓNICOS 3ºGIERM1 1. Introducción 2. Tipos de datos 3. Estructuras típicas de programación 4. Manejo de bits Tema 7. Programación de microcontroladores.
Programación Orientada Objetos Vectores de Objetos.
Transcripción de la presentación:

ARB VP v1.0 en GPULib: comunicación GPULib Driver 8 de Julio del 2004

Comunicación de VP GPULib driver de bGPU Qué produce el ensamblador?: Código binario Shaders GPU Los operandos de la instrucción apuntan un (banco,registro) de la GPU. Contenido de los bancos Donde las instrucciones esperan encontrar los operandos según el texto del programa.

Ejemplo: El banco de parametros/constantes PARAM vector = {0,0,0,1}; Acceso de las instrucciones: DP4 r3, r2, vector; MOV r0, {0,0,0,1}; Parameters Bank: Id = 3 T C Comunicación de VP GPULib driver de bGPU (Valores conocidos en tiempo de compilación) DP4 r3, r2, (BankId = 3, RegId = 0)

Ejemplo: El banco de parametros/constantes PARAM vector = program.local[23]; PARAM vector = program.env[17]; Comunicación de VP GPULib driver de bGPU Parameters Bank: Id = 3 T C Valores desconocidos en tiempo de compilación. Se definen y actualizan con las llamadas a la librería una vez compilado el programa: glProgramLocalParameter4fARB( GL_VERTEX_PROGRAM_ARB, index, x, y, z, w ) glProgramEnvParameter4fARB( GL_VERTEX_PROGRAM_ARB, index, x, y, z, w ) L E

Ejemplo: El banco de parametros/constantes PARAM mvp[] = { state.matrix.mvp.rows[0..2] }; Comunicación de VP GPULib driver de bGPU Valores desconocidos en tiempo de compilación. Se actualizan automáticamente con cada cambio de estado OpenGL Parameters Bank: Id = 3 T C L E S S S

Comunicación de VP GPULib driver de bGPU Porqué todo en el mismo banco? Podemos mezclar tipos de parametros en la declaración de un parametro: PARAM localparams[] ={ program.local[32], {0,0,0,0}, program.env[62..65], state.matrix.projection.row[1..2] }; Y acceder al parametro a través de registro: DP4 r3, r2, localparams[ addr.x + 4 ];

Comunicación de VP GPULib driver de bGPU Qué enviamos a la GPU? Código binario GPU producido por el ensamblador. Banco de parametros con los valores correctos actuales: Registros C: Tal cual Registros L y E: Con los valores actuales correspondientes de parametros locales y env. Registros S: Valores del estado OpenGL actual. Con cada cambio de estado (fuera del glBegin() i glEnd()) se actualiza de nuevo el banco Queda por definir bien esta sincronización

Comunicación de VP GPULib driver de bGPU Parameters Bank: Id = 3 T C L E S S S glRotatef(72.0,0.0,0.0,1.0) glProgramLocalParameter4fARB ( GL_VERTEX_PROGRAM_ARB, 23, 1.0, 2.0, 3.0, 4.0 )