Juan Diego Echeverri E [email protected] Microelectrónica y Control Universidad de Antioquia.

18
Juan Diego Echeverri E [email protected] Microelectrónica y Control Universidad de Antioquia

Transcript of Juan Diego Echeverri E [email protected] Microelectrónica y Control Universidad de Antioquia.

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

Juan Diego Echeverri [email protected] Microelectrónica y ControlUniversidad de Antioquia

Page 2: 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,

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

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.

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

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

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

¿Porqué Hardware Reconfigurable?

Flexibilidad / consumo de potencia

Dese

mpeño /

Cost

o

FPGAs

ASICs

Procesadores de propósito general

Cálculo espacial (FPGAs) vs Cálculo temporal (Procesador)

Multiplexación en el mismo dispositivo de diferentes IPs (adaptabilidad)

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

¿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

FPGA

Procesador

FLASHSRAM

SRAM

Procesador

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

Arquitectura de la aplicación

Usuario llama la aplicación

Verificar la necesidad de hardware reconfigurable

Ejecuta programa en CPU

Busca contexto en el terminal

[Es necesario]

Fin aplicación

Busca contextos en la red

Error en la aplicación

[No encuentra el contexto]

Programa Hardware reconfigurable

[Encuentra el contexto]

[Encuentra el contexto]

Ejecuta aplicación

[No es necesario]

[No encuentra el contexto]

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

Arquitectura general del sistema

INTERNET

Servidor

AP

Frontera de la aplicación 1

AP

Frontera de la aplicación 2

AMD

AMD

AMDAMD

AMD

AMD

AP

AMD

AMDAMD

Frontera de la aplicación 3

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

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

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

¿Como validar la conversión a XML?

XML Schema

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

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.

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

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)

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

Consumo de potencia – rendimiento DESConsumo de Potencia DES - FPGA

0,578

0,5785

0,579

0,5795

0,58

0,5805

0,581

0,5815

0,582

0,5825

0 5 10 15 20 25 30 35 40

Tiempo (s)

Po

ten

cia

(W)

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

Consumo de Potencia DES - IMXL

1,7

1,75

1,8

1,85

1,9

1,95

2

2,05

2,1

2,15

0 5 10 15 20 25 30

Tiempo (s)

Po

ten

cia

(W)

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

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

Consumo de potencia - DCTConsumo de potencia - DCT - IMXL

1,7

1,75

1,8

1,85

1,9

1,95

2

2,05

2,1

0 5 10 15 20 25 30

Tiempo (s)

Po

ten

cia

(W)

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

Consumo de potencia DCT - FPGA

0,5774

0,5776

0,5778

0,578

0,5782

0,5784

0,5786

0,5788

0,579

0,5792

0,5794

0,5796

0 5 10 15 20 25 30

Tiempo (s)

Po

ten

cia

(W)

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

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

Una aplicación más real

Bloque RAM

Registros I/O

Control DES

DES IP

DESCR(7:0)DATADES(15:0)Clave DES (63:0)

OE

WE

FPGA IRQ

Direcciones

Datos

FPGA XC3S200

LINUX 2.6.11

Aplicación deusuario

KERNEL

DriverComunicación

FPGA

Proesador i.MXL

RESULTADOS

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

RESULTADOS

0

5

10

15

20

25

30

35

40

45

0 100 200 300 400 500 600

Tiempo i.MXL(s)

Tiempo Spartan 3(s)

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

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

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

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