La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Arquitectura de Procesadores para Streaming Curso de Doctorado Bienio 2003/2005Ingeniería de Telecomunicación Avanzada Diseño de Procesadores para Multimedia.

Presentaciones similares


Presentación del tema: "Arquitectura de Procesadores para Streaming Curso de Doctorado Bienio 2003/2005Ingeniería de Telecomunicación Avanzada Diseño de Procesadores para Multimedia."— Transcripción de la presentación:

1 Arquitectura de Procesadores para Streaming Curso de Doctorado Bienio 2003/2005Ingeniería de Telecomunicación Avanzada Diseño de Procesadores para Multimedia Dácil Barreto Dos Santos 12 de Septiembre de 2005

2 Arquitectura de Procesadores para Streaming 2 Índice Introducción Arquitectura de streaming  Programación streaming  Jerarquía de ancho de banda Cuellos de botella de las comunicaciones Organización en registros  Procesamiento paralelo El procesador Imagine Media  Arquitectura  Modelo de programación  Implementación Referencias

3 Arquitectura de Procesadores para Streaming 3 IntroducciónI La actual tecnología de semiconductores está limitada por las latencias de comunicación y el ancho de banda.  Importancia de la localidad.  Importancia de la concurrencia. Aplicaciones multimedia:  Los sistemas típicos de memoria basada en caché no son eficientes.  Tipos de datos punto fijo de baja precisión.  Gran cantidad de paralelismo de datos.

4 Arquitectura de Procesadores para Streaming 4 IntroducciónII Las aplicaciones multimedia demandan tasas aritméticas muy altas, de manera que un procesador multimedia debe soportar cientos de unidades aritméticas.  VLSI moderno  cientos de unidades aritméticas en un chip de 1cm 2.  ¿Cómo proporcionar el AB necesario para mantener estas unidades ocupadas? Arquitectura de Streaming

5 Arquitectura de Procesadores para Streaming 5 Arquitectura de streaming Streams de records de datos pasan a través de kernels de cómputo.  Las aplicaciones multimedia se dividen en kernels.  Los datos son locales a cada kernel y se guardan en registros locales.  El paso de streams entre kernels se realiza a través de un fichero de registro de streams de manera que no se consume AB de memoria. Kernel: Programa que se repite para cada elemento stream de entrada. Stream: Colección de longitud variable de records, donde cada record es una agrupación lógica de datos multimedia.

6 Arquitectura de Procesadores para Streaming 6 Programación streaming Ejemplo: Codificación Intra MPEG-2 Arquitectura de Streaming Color Conversion DCT Run-Level Encoding IDCT Variable Length Encoding KERNELS Rate Control Bitstream Luminance Reference Chrominance Reference STREAMS Lum Crom

7 Arquitectura de Procesadores para Streaming 7 Jerarquía de ancho de banda Reducción del AB mediante datos locales cuando sea posible, y consumo del AB global sólo cuando sea necesario. Se organiza en 3 capas:  Memoria streaming.  Fichero de registro de streams globales SRF.  Ficheros de registros locales LRFs que alimentan las unidades aritméticas (similar a caché en CPU). Arquitectura de Streaming

8 Arquitectura de Procesadores para Streaming 8 Jerarquía de almacenamiento convencional Arquitectura de Streaming. Jerarquía de AB Cuellos de botella SDRAM L2 Cache L1 Cache Register File............ Un fichero de registros centralizado no soporta de decenas a cientos de unidades aritméticas por coste de área, potencia y retardo. La escasa localidad temporal y espacial de las aplicaciones multimedia daría lugar a gran cantidad de palabras sin referenciar en las cachés. Para maximizar el AB DRAM hay que aprovechar su estructura interna en los accesos.

9 Arquitectura de Procesadores para Streaming 9 Organización del fichero de registros de streams SIMD Arquitectura de Streaming. Jerarquía de AB Organización en registros Distributed Register File (DRF) Acceso de palabras El único puerto al fichero de registros se comparte por los stream buffers Paralelismo  Agrupación en clusters idénticos

10 Arquitectura de Procesadores para Streaming 10 Procesamiento paralelo Explota la concurrencia inherente a las aplicaciones multimedia. Las unidades aritméticas se organizan en clusters SIMD (Single-Instruction Multiple-Data) que realizan los mismos cálculos en elementos de datos diferentes. Cada cluster contiene múltiples unidades aritméticas por una VLIW (Very Long Instruntion Word). Las unidades aritméticas almacenan datos temporales localmente y los globales en el SRF. Para interconectar múltiples procesadores de streaming, el SRF se puede conectar a una interfaz de red. Arquitectura de Streaming

11 Arquitectura de Procesadores para Streaming 11 Arquitectura 128 KB 8 AC 48 floating point AU Imagine Media

12 Arquitectura de Procesadores para Streaming 12 Stream Register File (SRF) I Memoria de 1 Mbit optimizada para la transferencia de streams de datos de longitud variable. Los streams se referencian mediante descriptores que se almacenan en un fichero de registros de 64 entradas (SDRF). Cada registro contiene una dirección base en el SRF y una longitud de stream. Soporta numerosos clientes (clusters aritméticos y memoria del sistema) a través de un único puerto, pero gracias a los “ stream buffers ” cada cliente se conecta al SRF como si tuviera un puerto dedicado. Imagine Media. Arquitectura

13 Arquitectura de Procesadores para Streaming 13 Stream Register File (SRF) II Stream Buffers  Se componen de 2 half-buffers de 1024 bits. Cada half-buffer se llena o vacía cada ciclo a través del puerto de 1024 bits en el array de memoria del SRF.  Existen 22 “ stream buffers ” conectados a la memoria SRF. ClienteStreamsTipoPalabras/Ciclo Red8read/write2 W/stream Controlador de streams1read/write1 W/stream Microcontrolador1read only1 W/stream Índice de memoria2read only1 W/stream Datos de memoria2read/write1 W/stream Clusters aritméticos8read/write8 W/stream Imagine Media. Arquitectura

14 Arquitectura de Procesadores para Streaming 14 Clusters aritméticos Imagine Media. Arquitectura Contiene 8 unidades aritméticas controladas por un único microcontrolador de manera SIMD (Single-Instruction Multiple-Data). Cada unidad aritmética contiene 3 sumadores, 2 multiplicadores, un divisor, una memoria de 256 entradas y una unidad de comunicación intercluster.

15 Arquitectura de Procesadores para Streaming 15 Microcontrolador Es un elemento de control VLIW que envía instrucciones a los clusters aritméticos. Cada ciclo, se envía una instrucción VLIW de 568 bits a los 8 clusters. 1.1 Mbit para almacenamiento de instrucciones. Esta localidad elimina el acceso a memoria o caché para la lectura de instrucciones, evitando latencias. Este espacio de memoria suele ser suficiente pero si el código es mayor, es necesario hacer accesos a memoria mientras otras instrucciones se ejecutan. Imagine Media. Arquitectura

16 Arquitectura de Procesadores para Streaming 16 Sistema de memoria Generadores de direcciones - Modo “constant stride” - Modo indirecto - Modo “bit-reverse” Cálculo de la dirección de comienzo de un record. Buffers de reordenación Colocan los datos stream del SRF en el orden correcto. Imagine Media. Arquitectura Address Generator 0 Reorder Buffer 0 Address Generator 1 Reorder Buffer 1 SRF Memory Bank 0 Memory Bank 1 Memory Bank 2 Memory Bank 3 SDRAM Off-chip Index Data

17 Arquitectura de Procesadores para Streaming 17 Interfaz de red, controlador y host Interfaz de red  4 canales bidireccionales de 16 bits y señalización diferencial. 256 pins de datos.  Topología arbitraria  adaptación a las necesidades de comunicación de la aplicación. Controlador stream  Trabaja sobre instrucciones stream que pueden estar fuera de orden sin violar las dependencias entre instrucciones.  Almacena las instrucciones que recibe del host en una cola y mediante señales de estado determina las instrucciones que debe enviar. Procesador host  Ejecuta pequeñas secciones de código serie de control intensivo, mientras que Imagine actúa de coprocesador ejecutando largos programas de streams de datos paralelos. Imagine Media. Arquitectura

18 Arquitectura de Procesadores para Streaming 18 Modelo de programación I Explota las siguientes propiedades:  Pocos datos son reutilizados.  El paralelismo de datos es abundante.  Se requieren muchas operaciones aritméticas. 2 niveles de programación:  Nivel stream Se ejecutan en el host y dirigen el flujo de streams de datos hacia el procesador de streams. StreamC  Nivel kernel Se ejecutan en el micro y en los clusters aritméticos del procesador de streams. KernelC Imagine Media

19 Arquitectura de Procesadores para Streaming 19 Modelo de programación II Instrucciones principales a nivel de stream:  “Move” mueve el contenido de un registro a otro.  “Write” escribe datos a un registro.  “Read” devuelve el contenido de un registro al host.  “barrier” bloquea las instrucciones siguientes.  “synch” sincroniza el micro con el controlador de streams.  “Load” de streams desde DRAM hacia el SRF.  “Store” de streams desde el SRF hacia DRAM.  “Receive” de streams desde la red al SRF.  “Send” de streams desde el SRF a la red.  “Cluster op”, que ejecuta un kernel que lee streams del SRF, calcula los streams de salida y los escribe en el SRF.  “Load microcode”, que carga streams de instrucciones (576-bit VLIW) desde el SRF al microcontrolador. Imagine Media

20 Arquitectura de Procesadores para Streaming 20 Implementación I Está diseñado para trabajar a 500MHz usando la tecnología CMOS de 0.15  m de Texas Instruments. Incluyendo pads  16x16mm. 456 pins de señales y 21 millones de transistores. Relación de AB de memoria DRAM, AB de registros globales (SRF) y AB de registros locales (LRFs) de 1:16:272. Imagine Media

21 Arquitectura de Procesadores para Streaming 21 Implementación II Prototipo Imagine  MPEG-2 18.3 GOPs, 2.2 W, 1.5 V Imagine Media

22 Arquitectura de Procesadores para Streaming 22 Referencias “Stream Processor Architecture”, Scott Rixner, Kluwer Academic Publishers, 2002. “Imagine: Media Processing with Streams”, Scott Rixner, William J. Dally, Ujval J. Kapasi, Brucek Khailany, Peter R. Mattson, and John D. Owens, IEEE Micro-35 (2001). “The Imagine Stream Processor”, Ujval J. Kapasi, William J. Dally, Scott Rixner†, John D. Owens, and Brucek Khailany, Proceedings of the 2002 International Conference on Computer Design.

23 Arquitectura de Procesadores para Streaming Curso de Doctorado Bienio 2003/2005Ingeniería de Telecomunicación Avanzada Diseño de Procesadores para Multimedia Dácil Barreto Dos Santos 12 de Septiembre de 2005


Descargar ppt "Arquitectura de Procesadores para Streaming Curso de Doctorado Bienio 2003/2005Ingeniería de Telecomunicación Avanzada Diseño de Procesadores para Multimedia."

Presentaciones similares


Anuncios Google