1 / 23

Arquitectura de Procesadores para Streaming

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

anakin
Download Presentation

Arquitectura de Procesadores para Streaming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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. Introducción I • 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. Introducción II • 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 1cm2. • ¿Cómo proporcionar el AB necesario para mantener estas unidades ocupadas? Arquitectura de 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. Rate Control KERNELS Bitstream DCT Run-Level Encoding Variable Length Encoding Lum Crom Color Conversion DCT IDCT Luminance Reference IDCT Chrominance Reference STREAMS Programación streaming Arquitectura de Streaming • Ejemplo: Codificación Intra MPEG-2

  7. Jerarquía de ancho de banda Arquitectura de Streaming • 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).

  8. SDRAM L2 Cache L1 Cache Register File . . . . . . Cuellos de botella Arquitectura de Streaming. Jerarquía de AB • Jerarquía de almacenamiento convencional • 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. C SIMD Clusters Particioned GRF Particioned Stream Buffers ... ... ... N/C Arith. Clusters N/C Arith. Clusters Organización en registros Arquitectura de Streaming. Jerarquía de AB • Organización del fichero de registros de streams SIMD El único puerto al fichero de registros se comparte por los stream buffers Paralelismo  Agrupación en clusters idénticos Distributed Register File (DRF) Acceso de palabras

  10. Procesamiento paralelo Arquitectura de Streaming • 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.

  11. 128 KB 8 AC 48 floating point AU Arquitectura Imagine Media

  12. Stream Register File (SRF) I Imagine Media. Arquitectura • 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.

  13. Stream Register File (SRF) II Imagine Media. Arquitectura • 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.

  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. Microcontrolador Imagine Media. Arquitectura • 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.

  16. SRF Data Data Index Index Address Generator 0 Reorder Buffer 0 Address Generator 1 Reorder Buffer 1 Memory Bank 0 Memory Bank 1 Memory Bank 2 Memory Bank 3 SDRAM SDRAM SDRAM SDRAM Off-chip Sistema de memoria Imagine Media. Arquitectura 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.

  17. Interfaz de red, controlador y host Imagine Media. Arquitectura • 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.

  18. Modelo de programación I Imagine Media • 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

  19. Modelo de programación II Imagine Media • 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.

  20. Implementación I Imagine Media • Está diseñado para trabajar a 500MHz usando la tecnología CMOS de 0.15 mm 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.

  21. Implementación II Imagine Media • Prototipo Imagine • MPEG-2 18.3 GOPs, 2.2 W, 1.5 V

  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. Curso de Doctorado Bienio 2003/2005 Ingeniería de Telecomunicación Avanzada Arquitectura de Procesadores para Streaming Diseño de Procesadores para Multimedia Dácil Barreto Dos Santos 12 de Septiembre de 2005

More Related