1 / 18

Juan Diego Echeverri E juan@microe.udea.co Microelectrónica y Control Universidad de Antioquia

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.

Download Presentation

Juan Diego Echeverri E juan@microe.udea.co Microelectrónica y Control Universidad de Antioquia

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. Juan Diego Echeverri E juan@microe.udea.edu.co Microelectrónica y Control Universidad de Antioquia

  2. 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,

  3. 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.

  4. ¿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.

  5. ¿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

  6. ¿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

  7. Arquitectura de la aplicación

  8. Arquitectura general del sistema

  9. 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

  10. ¿Como validar la conversión a XML? • XML Schema

  11. 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.

  12. 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)

  13. 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

  14. 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

  15. RESULTADOS • Una aplicación más real

  16. RESULTADOS

  17. 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

  18. 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

More Related