Publication:
Optimización de funciones de DSP para procesador con instrucciones SIMD

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2008
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
CoolFlux es un DSP de ultra bajo consumo desarrollado por NXP que se utiliza en reproductores de audio portátiles, audífonos o para el procesamiento con fines biomédicos. Para los usos anteriormente mencionados, el consumo tiene una gran importancia, por eso, en una nueva revisión de este DSP, denominada CoolFlux Complex, se han incorporado instrucciones SIMD. Este nuevo tipo de instrucciones permiten aplicar una operación sobre dos datos al mismo tiempo, para hacerlo, CoolFlux Complex, es capaz almacenar en una palabra de memoria dos datos. En este proyecto se han optimizado algunas de las funciones típicas de los DSP mediante la utilización de instrucciones SIMD. Las funciones optimizadas incluyen filtros FIR, filtros Biquad, la transformada inversa discreta del coseno, así como varias operaciones aritméticas básicas con vectores. El objetivo del proyecto es el de evaluar el impacto en el rendimiento al utilizar el nuevo conjunto de instrucciones. Un aumento del rendimiento del DSP implicaría un menor consumo, al necesitar menos tiempo para procesar la misma cantidad de datos. Esta optimización se ha llevado a cabo sobre la mathlib de CoolFlux Complex, escrita en C. Ninguna de las funciones que contiene la mathlib utiliza instrucciones SIMD así que las funciones de partida están escritas para un tipo de datos llamado fix (datos en punto fijo). En el caso de la transformada inversa discreta del coseno, no existía ninguna función escrita para CoolFlux Complex así que hubo que escribir una función para el tipo de datos fix para poder hacer comparaciones de rendimiento con la versión que utiliza instrucciones SIMD. [ABSTRACT] CoolFlux is an ultra low power consumption DSP developed by NXP used in portable audio players, hearing devices or biomedical processing. For that kind of uses, consumption is very important, for that reason in a new revision of this DSP, called CoolFlux Complex, SIMD instructions have been added. This new set of instructions allow to operate with two values at the same time, to do so, CoolFlux Complex is capable of storing two values into one single memory word. In this project some typical DSP functions has been optimized by using SIMD instructions. The optimized functions include FIR filters, filters biquad, inverse discrete cosine transform, as well as some basic vector operations. The goal of this project is to evaluate the impact on performance when using the new set of instructions. An increase in the DSP performance implies minor power consumption as require less time to process the same amount of data. This optimization has been done on the CoolFlux Complex mathlib, written in C. None of the functions contained in the mathlib uses SIMD instructions, so optimized functions are based on the old functions written using fix data type (fixed point data). In the case of inverse discrete cosine transform, there was not any function written for CoolFlux Complex, so a function that uses fix data type was needed and writen in order to make performance comparisons beetwen the version that uses fix data type and the one that uses SIMD instructions.
Description
Trabajo de clase de la asignatura Sistemas Informáticos (Facultad de Informática, Curso 2007-2008)
Unesco subjects
Keywords
Citation