Download Hardware - iuma.ulpgc
Document related concepts
no text concepts found
Transcript
Universidad de Las Palmas de Gran Canaria Instituto Universitario de Microelectrónica Aplicada Diseño de Procesadores para Multimedia Multi-Procesador ST Nomadik Manuel Alexis de los Reyes Darias A. Núñez Contenido Introducción Arquitectura Hardware Software Otras Características Multi-Procesador ST Nomadik Los procesadores para multimedia NomadikTM han sido diseñado específicamente para teléfonos móviles y dispositivos portátiles inalámbricos. Ofrecen un consumo de potencia muy bajo, acotada calidad de audio y vídeo a una frecuencia dada, desarrollo de software simplificado y escalabilidad para futuras aplicaciones multimedia. Introducción (1) El procesador NOMADIK habilita la comunicación audiovisual y la reproducción de contenidos multimedia en dispositivos móviles, PDAs o sistemas de entretenimiento para automóviles. diseño de procesadores ultimedia en nuestros días nfronta los siguientes aradigmas. Introducción (2) Consumo de potencia muy reducido. Calidad nativa de vídeo y audio. Adecuado soporte para el desarrollo de aplicaciones para facilitar un Time-toMarket reducido. Adaptabilidad a múltiples segmentos del mercado y futuras aplicaciones multimedia. Introducción (3) l aumento de los costes de diseño y de ingeniería o recurrente (NRE) de las máscaras de los ASICs, nido a la mayor densidad de procesadores ntegrados y a la creciente complejidad del software ncapsulado ha propiciado que recientemente haya obrado especial relevancia entre los fabricantes de stemas integrados en chip (SoC) la brecha xistente entre el diseño de ASICs con células stándar y FPGAs. l balance entre configurabilidad y eficiencia epresenta un problema, especialmente para quellos diseños de producción a mediana escala entre algunos cientos y cien mil unidades), donde a menudo es preciso conciliar las características de ensidad y desempeño de los ASIC, para cumplir las specificaciones del producto y objetivos de coste, on el time-to-market de las FPGAs, para cumplir los bjetivos del mercado. Configurabilidad or esta razón, el fabricante de SoC ST Icroelectronics ha desarrollado su propia metodología de diseño y herramientas para atenuar sta brecha: la metodología Multiplex de TMicroelectronics. Vs. Eficiencia Introducción (4) El potencial talón de Aquiles de los procesadores para aplicaciones móviles reside en el consumo de energía: – La potencia y capacidad de las baterías crece entre 10-15% anualmente. – Los requerimientos de alimentación de estos procesadores crece entre 35-40% anualmente. Introducción (5) SIA Technology Roadmap (2002 Update) Introducción (6) Factores que contribuyen al consumo de energía: – Corrientes de fuga. – Tensión de alimentación. – Frecuencia de reloj. Introducción (7) Desempeño Vs. Consumo de potencia – Para alcanzar un óptimo nivel de compresión es necesario recurrir a cómputos intensivos, para lo que se requieren procesadores con velocidad de cómputo elevada y, en consecuencia, un elevado consumo de potencia. – Para reducir el consumo de potencia deberemos operar a frecuencias más bajas. – Los co-procesadores cobran importancia en detrimento de la velocidad del procesador principal. Introducción (8) Para operar a frecuencias más bajas: Instrucciones SIMD (single-instructionmultiple-data), aprovechan el paralelismo a nivel de datos en los algoritmos de codificación de imagen. Arquitecturas VLIW (very-long-instructionword), permiten ejecutar simultáneamente varias operaciones en un mismo ciclo de reloj. Estrategia Nomadik: Introducción (9) Los procesadores Nomadik están basados en la plataforma Nomadik, un estándar abierto, desarrollado por ST conjuntamente con otros miembros de la industria, para asegurar que la arquitectura del terminal móvil sea sencillo de programar, uso de una CPU no propietaria, y un sistema operativo (SO) y Modem radio abierto para conferir libertad al fabricante a la hora de diferenciar sus productos. Arquitectura de procesamiento distribuida en lugar de una arquitectura de procesador monolítica. CPU estándar para dispositivos móviles. Soporte para una variedad de periféricos y sistemas operativos, lo que permite al fabricante diferenciar el producto final. APIs abiertas y bien documentadas para facilitar el desarrollo de software. Escalable mediante la adición de coprocesadores a demanda. Contenido Introducción Arquitectura Hardware Software Otras Características Multi-Procesador ST Nomadik La arquitectura ST Nomadik ha sido especialmente diseñada para aplicaciones multimedia móviles. Esto supone soporte para la codificación y decodificación MPEG-4, así como para la presentación en pantallas de terminales móviles (160 x 160) y PDAs (desde 320 x 240 hasta 680 x 480). Arquitectura (1) La figura muestra el diagrama de bloques de la primera implementación de la arquitectura multiprocesador Nomadik. La CPU principal del sistema es ARM926E-JS. Esta CPU se centra en labores de coordinación y control, por lo que la mayoría de las funciones multimedia son realizadas por aceleradores especializados. La primera versión de Nomadik incluye aceleradores para audio y video. Todas las unidades se conectan mediante un bus AMBA. Arquitectura (2) Procesamiento distribuido: – El uso de aceleradores inteligentes independientes alivia extraordinariamente la carga de la CPU. – Se requieren 0,2 MIPS (0,07% de CPU) para decodificar un stream de vídeo QCIF a 15 fps. – Operaciones a baja frecuencia permiten realizar cálculos con MIPS intensivos para procesado rápido a nivel de paquete, recuperación de errores y control de tareas para optimización de carga y retardo. Arquitectura (3) Bus AMBA – Maximiza el ancho de banda entre CPU, aceleradores multimedia, memoria del sistema y periféricos. – Se efectúa un escalado de la imagen en el sensor antes de la compresión para almacenar y acceder a menos datos. – Se emplea una compresión especial sin pérdidas para minimizar la conmutación de las líneas en el bus. Periféricos Nomadik – Soportan SS.OO. de alto nivel como Symbian, Linux o Windows CE.NET. – Interfaces externas necesarias para aplicaciones móviles multimedia como LCD, MMC, tarjetas digitales de seguridad y codecs de audio. Contenido Introducción Arquitectura Hardware Software Otras Características Multi-Procesador ST Nomadik El dispositivo se basa en la combinación del procesador ARM926EJ-S con procesadores inteligentes que operan de manera independiente pero concurrente para manejar las funciones críticas de codificación de video y audio, incluido el pre/post-procesado. El desarrollo de software se ha simplificado con la programación en lenguaje de alto nivel de la arquitectura de CPU ARM, que incluye un acelerador Java para una ejecución en tiempo real eficiente. Hardware (1) ARM926EJ-S Hardware (2) Núcleo RISC 32-bit ARM926EJ-S, que opera a 350MHz fabricado con tecnología CMOS 0,13m. Formato Thumb 16-bit para suboperaciones y código de alta densidad. MMU (Unidad de Gestión de Memoria). Caché de instrucciones de 32 Kbytes. Caché de datos de 16 Kbytes. Hardware (3) Multiplicador de 16x32 bit para operaciones MAC en un único ciclo. Potente soporte para debugging en tiempo real. Tecnología Jazelle para acelerar la ejecución del 95% de las instrucciones Java. JVM (Máquina Virtual Java) ejecuta el 5% restante de instrucciones. Hardware (4) VLIM DSP – Ejecuta instrucciones VLIW para un aprovechamiento óptimo de la energía. – Ejecución de 1 instrucción por ciclo. – Completamente sintetizable. – Completamente programable en C. – Modo de datos en punto fijo 16/24 bit. – Modo de datos en punto flotante 32 bit. – Caché de instrucciones de 2 niveles. Cada acelerador consiste en un pequeño procesador heterogéneo. Ambos están basados en el núcleo integrado MMDSP+ de ST, que proporciona aritmética de enteros 16/-24 bit y aritmética en punto flotante 32-bit. Hardware (5) El MMDSP+ Implementa funciones por hardware para reducir la disipación de energía y garantizar el funcionamiento previsto, incluso bajo las peores condiciones. – – – – Estimación del movimiento Codificación y decodificación de datos. Filtrado de imagen. Conversión de color. El acelerador de video incluye un MMDSP+, una unidad de formateo de imágenes de entrada, una unidad de codificación de vídeo, una unidad de post-procesado de vídeo y un controlador de interrupciones. El acelerador de vídeo incluye dos buses: uno para la conexión del de estimación del movimiento que – Algoritmo MMDSP+, las unidades hardware, minimiza la ventana de búsqueda para el mejor memoria y controlador de interrupciones, y macro-bloque otro que conecta las candidato y correspondiente vector unidades hardware entre sí y al bus de movimiento. AMBA. Hardware (6) Acelerador de vídeo inteligente – Soporte para codificación VGA – SRAM interna de 48 Kbytes para almacenamiento de frame y la ventana de búsqueda . – Memoria externa para procesamiento de vídeo. – Gran eficiencia energética. Hardware (7) Acelerador de video inteligente Hardware (8) Cadena de reproducción de la imagen Hardware (9) Acelerador de vídeo inteligente: – ROM con acceso seguro y SRAM como caché para guardar las tramas de vídeo y realizar búsquedas en ventana. – La SRAM reduce la latencia de la memoria, el consumo de energía y el ancho de banda interno, especialmente durante la codificación de vídeo. – Sensores CMOScon resoluciones de hasta 1,3M píxeles que consumen un tercio de la energía de los sensores CCD equivalentes. – Memorias Flash de alta densidad con arquitectura multi-banco, 1,8V de alimentación y modo síncrono de lectura a ráfagas. El procesador de audio depende menos de unidades hardware. Hardware (10) Incluye un MMDSP+, memoria, unidades E/S y dos buses internos. Acelerador de audio inteligente: – Soporte para codificación de audio digital AAC, MP3, MPEG-1 Layer I y II, MPEG-2 Layer II, MIDI, MP3Pro, Dolby Digital, etc. – Soporte para decodificación de audio digital AAC, MPEG-1, MP3, etc. – Efectos de sonido surround 3-D SRS, WOW, Incredible Sound, Circle Surround, etc. – Caché de instrucciones de nivel 2 que reduce en un 60% los accesos a memoria externa y el consumo de energía en la decodificación MP3. Hardware (11) Acelerador de audio inteligente Contenido Introducción Arquitectura Hardware Software Otras Características Multi-Procesador ST Nomadik El núcleo ARM de Nomadik permite portar fácilmente software a la plataforma. Nomadik soporta la arquitectura OMAP. Software (1) Software (2) Capa Superior: APIs con el SO para abstraer los detalles de la implementación del procesador. Capa inferior: APIs con el hardware periférico para las aplicaciones multimedia (controladores LCD, sensores de imagen, cámaras, etc.). La ejecución directa de los bytes código Java en la CPU ARM926 consume menos energía y silicio que una JVM convencional, un compilador JIT y un co-procesador. Contenido Introducción Arquitectura Hardware Software Otras Características Multi-Procesador ST Nomadik k emplea técnicas a todos los niveles de ción con objeto de minimizar el consumo de procesadores heterogeneos distribuidos, os eficientes para estimación del movimiento unciones de cálculo intensivo, compresión de en el bus, memoria integrada, juegos de iones especializadas y una gestión de la agresiva. Nomadik consume 20 mW al – Nomadik implementa algoritmos para la estimación del car MPEG-4 a 15 tramas/segundo con control de tasa de bit y estabilización de ón QCIF, incluido elmovimiento, audio MP3. Otras Características Algoritmo: imagen para reducir la computación, memoria y ancho de banda. Gestión de la energía: – La CPU se mantiene en los modos de ahorro de energía tanto como sea posible: IDLE (en espera), DOZE (reloj lento) y SLEEP (casi estática). El chip completo (salvo RTC y PMU) puede despertar en´menos de 3 ms. Otras Características Metodología de diseño: – Modelado extensivo de algoritmos, simulación hardware/software y síntesis RTL para reducir el consumo de potencia. Procesado del silicio: – Reducción de la alimentación de la puerta lógica. Nomadik se ha implementado con tecnología CMOS de 0,13 m alimentada a 1,2 V. – Transistores high-Vt prolongan la vida de la batería mientras que los transistores low-Vt se dedican a funciones críticas. Empaquetado del dispositivo: – Apilamiento de memoria. Universidad de Las Palmas de Gran Canaria Instituto Universitario de Microelectrónica Aplicada Multi-Procesador ST Nomadik FIN Manuel Alexis de los Reyes Darias A. Núñez