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

Slides:



Advertisements
Presentaciones similares
El modelo de Von Neumann
Advertisements

Microprocesadores Componentes básicos..
Tabla de Contenido Concurrencia.
Arquitectura de Sistema de E/S
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Sistema operativo Componentes de un sistema operativo
Fernando Escribano Pro 1º de Bachillerato
Multiprocesadores 3.1 Dominios de aplicación
Presentación y organización del curso
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
PROCESADORES SUPERESCALARES
Introducción a los Sistemas Operativos Memoria Virtual
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
El nivel de la Microprogramación
Arquitectura de Conjunto de Instrucciones (ISA)
Composición Interna de un Procesador
Computadora Digital Arquitectura de John Von Neumann
PROCESAMIENTO PARALELO.  Organización lógica ◦ Visión que tiene el programados  Capacidad de expresar tareas paralelas (Estructura de control)  Método.
Arquitectura del Computador
Tema 10: Gestión de Memoria
MICRO Y MACRO ARQUITECTURA
Unidad 2: Organización del CPU
Operación de Micros e Interfaces
5º Microprocesadores para comunicaciones
Procesamiento paralelo
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Estructura y Tecnología de Ordenadores Noviembre 2004.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
Electrónica aplicada al tratamiento de datos Procesadores digitales de señal (PDS) DSP: Digital Signal Processors (procesadores) DSP: Digital.
TEMA 2: Organización de computadores
Organización de Computadoras
¿Qué unidades conforman el procesador?
Arquitectura y Ensamblaje de Computadores
Arquitectura de Von Neumann
Ing. María Rosa Dámaso Ríos1 MEMORIA PRINCIPAL Y SECUNDARIA Quinta Semana.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 21 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
HARDWARE Asier Indurain.
Memoria virtual.
Memoria Principal Memoria de acceso aleatorio. La unidad de memoria y jerarquías de almacenamiento Unidades de Almacenamiento. La unidad de memoria es.
ARQUITECTURAS PARALELAS
“Organización y Arquitectura de Computadores” William Stallings
PROCESADORES DE SEÑALES DE VIDEO VSP2000 PALOMA FUENTES Microprocesadores para Comunicaciones – 5º ETSIT.
Sistemas Operativos Avanzados
Name Event Date Name Event Date 1 Procesadores de streams 1 Diseño de microprocesadores para multimedia Procesadores de streams Pedro Hernández Fernández.
Tema 5: Multiprocesadores
UNIDAD CENTRAL DE PROCESO
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Capítulo 4 CPU y la memoria.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 20 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Tendencias Generales Dotación física Software lógica Más pequeño
HARDWAREHARDWARE FELIX BELLA EDU ROS. INDICE 1-. INTRODUCCION 2-. FUNCIONES BASICAS A) LA UNIDAD CENTRAL (CPU) B) LA MEMORIA PRINCIPAL C) DISPOSITIVOS.
NOCIONES BÁSICAS COMPUTO II
Utiliza un reloj para sincronizar la entrada y salida de señales en un chip de memoria. Ahorra tiempo al ejecutar los comandos y al transmitir los datos.
ARQUICTECTURA DE SERVIDORES
El microprocesador.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Principio unidad 1.
INDICE Memoria RAM CPU Fuente de poder Placa madre Disco Duro.
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
Republica Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería Escuela de Computación Ing. Prof. Leonel Sequera Entrada y Salidas.
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Arquitectura de Computadores Clase 17 Tecnologías de Memorias IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Hiperpipeline Superescalares Arquitectura de Computadoras 2012.
Transcripción de la presentación:

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

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

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.

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

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.

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

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

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.

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

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

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

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

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

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.

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

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

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

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

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

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

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

Arquitectura de Procesadores para Streaming 22 Referencias “Stream Processor Architecture”, Scott Rixner, Kluwer Academic Publishers, “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.

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