UNA PLATAFORMA HIBRIDA PROCESADOR

Anuncio
UNA PLATAFORMA HIBRIDA PROCESADOR-FPGA PARA LA EJECUCIÓN DE ALGORITMOS MULTIMEDIA
A FPGA-PROCESSOR HYBRID PLATFORM FOR MULTIMEDIA APPLICATIONS
JOSÉ EDINSON AEDO COBO
Universidad de Antioquia
[email protected]
MÓNICA AYDE VALLEJO VELÁSQUEZ
Universidad de Antioquia
[email protected]
JUAN DIEGO ECHEVERRI ESCOBAR
Universidad de Antioquia
[email protected]
El manejo de datos multimedia (voz, audio y video) en sistemas de computación móvil, implica el uso de
complejos algoritmos que exigen un alto poder computacional y un alto consumo de potencia. Para responder a
estos requerimientos, en los últimos años se han propuesto diferentes arquitecturas y entre estas, las que
combinan hardware reconfigurable con procesadores de propósito general, pueden proveer soluciones
interesantes respecto al incremento del rendimiento, la flexibilidad y la adaptabilidad.
En este trabajo se propone una arquitectura híbrida Procesador-FPGA para sistemas móviles multimedia y se
evalúa el desempeño y el consumo de potencia de un procesador i.MXL de Freescale y de una FPGA Spartan 3
de Xilinx al ejecutar dos algoritmos: el Data Encryption Standard (DES) y la transformada discreta del coseno en
dos dimensiones (2D-DCT).
La arquitectura propuesta, consiste de un procesador de bajo consumo utilizado en PDA’s y teléfonos celulares
(i.MXL) conectado a una FPGA Spartan 3 de Xilinx utilizada como co-procesador para la ejecución de algoritmos
de alta complejidad y alto grado de paralelismo. La conexión entre estos dispositivos se hace por medio del
módulo de interfase externas (EMI) del procesador, al que también están conectadas las memorias FLASH,
SRAM y la interfaz de red Ethernet. La FPGA puede ser reprogramada en cualquier momento, para esto se
construyo una aplicación capaz de leer una representación en XML de los archivos SVF (Serial Vector Format)
generados por las herramientas de síntesis como el ISE de Xilinx; luego, la terminal es capaz de identificar los
datos en XML y enviarlos al puerto JTAG de la FPGA por medio de un driver diseñado para el sistema operativo
Linux 2.6.11
Con relación a la evaluación de los algoritmos antes mencionados (el DES y la 2D DCT), la siguiente tabla
muestra el resumen de los resultados obtenidos con relación al consumo de potencia y al desempeño para
ambos dispositivos (El procesador i.MXL y la FPGA Spartan 3).
Algoritmo
Dispositivo Energía requerida
Capacidad
FPGA
106uJoule/MByte
11.92MByte/s
DES
i.MXL
28.121Joule/MByte 12.8KByte/s
FPGA
1.07uJoule/Ima*
651Ima*/s
2D-DCT
i.MXL
7.33Joule/Ima*
0.04Ima*/s
* Para esta prueba, una Ima consiste de 1200 bloques de 8x8
De la tabla anterior, se puede observar que para la ejecución de estos algoritmos, la FPGA es mejor, en varios
órdenes de magnitud en cuanto al desempeño y el consumo dinámico de potencia, que el procesador i.MXL. Sin
embargo, los resultados son altamente dependientes de la implementación y no se tienen en cuenta varios
factores como el consumo extra de la FPGA al momento de la programación, la carga que supone al procesador
la ejecución del sistema operativo o la diferencia en la latencia para acceder a los datos si están en un bloque de
RAM (FPGA) o en la caché en el caso del procesador.
Descargar