180 likes | 343 Views
Juan Diego Echeverri E juan@microe.udea.edu.co Microelectrónica y Control Universidad de Antioquia. Introducción. La computación móvil, combina la computación personal con las comunicaciones inalámbricas en dispositivos pequeños para ser portados la mayor parte del tiempo.
E N D
Juan Diego Echeverri E juan@microe.udea.edu.co Microelectrónica y Control Universidad de Antioquia
Introducción • La computación móvil, combina la computación personal con las comunicaciones inalámbricas en dispositivos pequeños para ser portados la mayor parte del tiempo. • Durante los últimos años el volumen de venta de estos dispositivos móviles (celulares, PDA’s , Smart phones, handhelds) ha superado ampliamente las ventas de PCs de escritorio. • Estos dispositivos deben manejar diferentes tipos de datos que involucran complejos algoritmos que requieren elevado poder computacional,
El problema • Las aplicaciones y los estándares cambian frecuentemente, el resultado: rápida obsolescencia de los dispositivos • Altos costos para los usuarios • Poco tiempo en el mercado • Basura electrónica • El ritmo al que crecen las baterías es inferior al crecimiento de la complejidad disponible en lo circuitos integrado.
¿Que es ARCOM? • ARCOM es una plataforma reconfigurable usada como dispositivo móvil. • El objetivo: Menor consumo de potencia y mayor desempeño al ejecutar ciertos algoritmos de alta complejidad.
¿Porqué Hardware Reconfigurable? • Cálculo espacial (FPGAs) vs Cálculo temporal (Procesador) • Multiplexación en el mismo dispositivo de diferentes IPs (adaptabilidad) ASICs FPGAs Desempeño / Costo Procesadores de propósito general Flexibilidad / consumo de potencia
¿Como se utiliza el hardware reconfigurable? • Co-Procesador multimedia • Desarrollo de IPs que puedan ser descargados desde Internet • Reprogramación a través del puerto JTAG • Conexión de la FPGA al bus de datos y direcciones del procesador
ARCOM Reprogramación • Creación de módulos reconfigurables por conversión de los archivos SVF a XML • Permite un modo estándar de transmisión de datos • Se puede agregar información adicional • Es fácil realizar el parsing en la terminal. • La programación es más lenta
¿Como validar la conversión a XML? • XML Schema
Dentro de la terminal • La programación se hace a través del puerto JTAG de la FPGA conectada a puertos de propósito general. • Parsing en la terminal del XML con Xerces (Apache Project) • Driver tipo char en Linux • Reprogramación total de la FPGA tarda aproximadamente 4s.
Aplicación de usuario • Entorno de ventanas QT/Embedded – QTOPIA. • Mejor desempeño, menor consumo (Ver presentación de Monica) • Una gran comunidad de desarrolladores • No es gratis • Buenas herramientas de desarrollo (ej. designer)
Consumo de potencia – rendimiento DES • Datos Encriptados • 238Mbytes de datos • Tiempo de Procesamiento • 19.96s • Consumo promedio: • 1.269mW • Energía por MegaByte • 106.4 uJoules • Velocidad de encripción • 11.92MBytes por segundo • Datos Encriptados • 200Kbytes de datos • Tiempo de Procesamiento • 15.57s • Consumo promedio: • 353mW • Energía por MegaByte • 28.121Joules • Velocidad de encripción • 12.84KBytes por segundo
Consumo de potencia - DCT • Bloques decodificados • 7812500 bloques de 8x8 • Tiempo de procesamiento • 10.00s • Consumo de potencia • 698uW • Energía aplicar la DCT a 1200 bloques • 1.07uJoule • Velocidad de procesamiento • 651 imágenes por segundo • Bloques decodificados • 1200 bloques de 8x8 • Tiempo de procesamiento • 23.35s • Consumo de potencia • 314mW • Energía aplicar la DCT a 1200 bloques • 7.3319Joules • Velocidad de procesamiento • 0.04 imágenes por segundo
RESULTADOS • Una aplicación más real
ESTADÍSTICAS • LENGUAJES DE PROGRAMACIÓN UTILIZADOS • C: • Desarrollo de múltiples drivers para el kernel de Linux. • Desarrollo de programador JTAG para HC08 • C++ • Parsing de XML en la terminal • Diseño de Interfaces gráficas para QT/Embedded • Python • Parsing de XML en la terminal y manipulación del driver • Java • SVF2XML • VHDL • Controladores para las IPs de prueba (DES y DCT) • ANTLR • Descripción de la gramática del SVF • HERRAMIENTAS CROSS-COMPILADAS • Python • PyXML • Xerces • QT/Embedded • Qtopia • Konqueror - Embedded
TRABAJO FUTURO • (Opcional) Reconfiguración parcial dinámica de la FPGA (Es complicado para Spartan-3) • Implementación de los algoritmos de prueba con técnicas de bajo consumo • Finalización del prototipo