Abstract:
|
El uso de números en coma flotante es muy habitual en
la programación software para la resolución de todo tipo de
algoritmos. Dada la particular forma de codificar valores
en este formato, definida en la norma IEEE 754, realizar
operaciones básicas requiere de librerías software específicas
y tiempos de proceso considerables para su ejecución.
El presente proyecto aporta una solución hardware para
la resolución de operaciones aritméticas de números expresados
en coma flotante de simple precisión (32 bits). Las
operaciones que se realizan son: suma, resta, producto, división,
inversa y raíz cuadrada junto con las trigonométricas:
seno, coseno y tangente. Estas unidades aritméticas
son conocidas como ‘Float Point Unit’(FPU).
El diseño de la arquitectura interna de la FPU se describe
mediante un lenguaje de descripción hardware (VHDL),
de forma modular y con la particularidad de que puede implementarse
toda o, únicamente, el bloque que resuelve la
operación deseada.
La FPU se implementa en una FPGA junto con un sistema
basado en microprocesador Microblaze (Xilinx) y bus OPB
(IBM), mediante el que se comunican ambos elementos dando
lugar a un sistema embebido. De forma complementaria se diseñan
la interface y el driver necesarios para la transferencia
de información a través del bus de comunicaciones.
El conjunto procesa algoritmos de forma que la resolución
de operaciones en coma flotante se realiza transfiriendo
los datos y la operación a la FPU, que tras un procesado
de cálculo retorna el resultado al microprocesador.
Una vez puesto el sistema en funcionamiento se mide el
tiempo (en ciclos de reloj) que se precisa para resolver
cada operación, considerando el tiempo necesario para el
acceso al bus OPB. Se compara el tiempo necesario para resolver
dichas operaciones por software y con la FPU que el
procesador incorpora y se observa la mejora obtenida en cada
caso.
También se desarrollan dos algoritmos que permiten comprobar
la fiabilidad de la FPU, comparando los resultados
obtenidos mediante una ejecución puramente software e incorporando
la FPU diseñada. |