Sumadores coma flotante y conversores.

Dispositivos para realizar una operación deseada de suma o resta de al menos dos números coma flotante pre-procesados y generar un tercer número coma flotante pre-procesado son propuestos. Un formato en coma fija pre-procesado es un formato en coma fija en el que el LSD de todos los números representados exactamente en dicho formato es igual a B/2

(es decir, 1 para base binaria), y el resto son redondeados a uno de estos números. Un formato en coma flotante pre-procesado es un formato en coma flotante en el que la mantisa es un número en coma fija pre-procesado. Para números teniendo una mantisa pre-procesada de m+2 dígitos, el dispositivo comprende un camino de datos del exponente y un camino de datos de la mantisa. El camino de datos de la mantisa comprende una primera entrada para recibir como mucho los m+1 Dígitos Más Significativos (MSDs) de la mantisa pre-procesada del primer número y una segunda entrada para recibir como mucho los m+1 MSDs de la mantisa pre-procesada del segundo número. El camino de datos de la mantisa está configurado para generar como mucho los m+1 MSDs de la mantisa pre-procesada del tercer número.

Tipo: Patente de Invención. Resumen de patente/invención. Número de Solicitud: P201430451.

Solicitante: UNIVERSIDAD DE MALAGA.

Nacionalidad solicitante: España.

Inventor/es: HORMIGO AGUILAR,Francisco Javier, VILLALBA MORENO,Julio.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION G — FISICA > COMPUTO; CALCULO; CONTEO > TRATAMIENTO DE DATOS DIGITALES ELECTRICOS (computadores... > Métodos o disposiciones para el tratamiento de datos... > G06F7/38 (Métodos o disposiciones para efectuar cálculos utilizando exclusivamente una representación numérica codificada, p. ej. utilizando una representación binaria, ternaria, decimal)
google+ twitter facebookPin it
Sumadores coma flotante y conversores.

Fragmento de la descripción:

Sumadores coma flotante v conversores

La presente invención se refiere al procesamiento de datos y más concretamente a dispositivos para sumar números en coma flotante y los conversores asociados a los mismos.

ESTADO DE LA TÉCNICA

En los sistemas de procesado de información, la representación de los números se realiza mediante cadenas binarias. Los bits se pueden organizar en dígitos dependiendo del radix o base.

Los números pueden representarse en varios formatos. Los formatos más utilizados son el formato en coma flotante (FP) y el formato de coma fija (FF). En formato de coma fija, el cual incluye los números enteros, el número de dígitos fraccionarios y dígitos enteros es fijo. En esta representación, los números negativos se representan típicamente en formato de complemento, respecto de la base. Por ejemplo para números binarios se utiliza un formato de complemento a dos.

En coma flotante, el número se compone de la mantisa (Ma), la base (B) y el exponente (Ex). Por lo tanto, el valor (Va) representado sería Va = B * Ma A Ex. Entonces, solamente los números Ma y Ex necesitan almacenarse. El formato estándar IEEE-754 es el más extendido. El estándar define cinco formatos básicos que llevan el nombre de su base numérica y el número de bits usados en su codificación de intercambio. La precisión típica de los formatos binarios básicos es un bit más que la anchura de su mantisa (o mantisa). El bit de precisión extra proviene de un bit a uno implícito (oculto) en la parte más significativa. El número en coma flotante típico estará normalizado tal que el bit más significativo será un uno. Si conocemos que el

bit más significativo es uno, entonces no se necesita codificarlo en el formato de intercambio.

Los sistemas para realizar operaciones entre estos números pueden usar una pluralidad de unidades funcionales. Estas unidades pueden realizar transformaciones numéricas como operaciones aritméticas, conversiones de formato, evaluación de funciones, etc. El formato utilizado para representar los números con los que estos circuitos operan define completamente el diseño de estos circuitos y, por tanto, sus parámetros fundamentales de eficiencia tales como precisión, rango, velocidad, área y consumo. En consecuencia, el formato utilizado en estos sistemas influye enormemente en su eficiencia.

Dos circuitos básicos que se requieren en la mayoría de tales unidades funcionales son los circuitos de redondeo y los circuitos para complemento a dos.

Los circuitos de redondeo se utilizan cuando es necesario reducir el número de dígitos significativos, tanto en números en formato de coma fija como en la mantisa de números en formato de coma flotante. El circuito que realiza la función de complemento a dos se utiliza para cambiar el signo del número. Cualquier mejora en la eficiencia de estos dos circuitos afecta directamente a la eficiencia de la mayoría de las unidades funcionales que los incluyan.

Para realizar el complemento a la base de un número, primero se realiza el complemento a la base menos uno, una operación que se realiza sobre todos los dígitos en paralelo. Posteriormente se le suma al número una unidad-en- el-último lugar (ULP). En el caso binario, para que un circuito que lleva a cabo el complemento a dos de un número de N bits serían necesarios N inversores y un sumador de N bits. En el caso de una operación de resta (X-Y = X+(-Y)),

que en realidad consiste en una suma con el complemento a dos del sustraendo, el bit de entrada de acarreo del sumador se suele utilizar para añadir el ULP. Sin embargo, esto no significa que cada vez que se requiere llevar a cabo el complemento a dos el motivo es una resta. Tales casos son la operación de valor absoluto o la suma/resta de números en representación signo-magnitud, una representación típicamente usada en coma flotante.

Con respecto a los circuitos de redondeo, se utilizan varias formas de redondeo. Una que demuestra importantes propiedades y es la más utilizada es el "redondeo al par más cercano". En este modo, el valor que se utiliza como valor final es el valor que está más cerca del valor real y, en caso de empate, el valor par. Usando este tipo de redondeo, se obtiene un error inferior a +-0.5ULP y no presenta ningún sesgo en los errores.

Dado un número de D1 dígitos, para realizar una operación de redondeo a D2 dígitos, asumiendo D1 > D2, D1-D2 dígitos deben desecharse. Para que el redondeo sea al número más cercano, es importante examinar el valor del dígito más significativo de los que necesitan ser desechados (MD) y el dígito menos significativo de los que quedan (LD):

Si MD < (B/2) entonces simplemente dichos dígitos son descartados.

Si MD > (B/2) entonces dichos dígitos se descartan y se añade el valor uno al dígito menos significativo que permanece.

Si MD = (B/2) entonces se debe verificar si alguno de los dígitos a descartarse no es cero (sticky bit). Si es así, entonces el redondeo se realiza según el segundo caso. Si todos son cero, entonces si el dígito LD es par entonces el redondeo se realiza según el primer caso y si es impar según el segundo caso.

Por lo tanto, el circuito básico para implementar este tipo de redondeo requiere un sumador para sumar uno si es necesario y un circuito para calcular el sticky bit.

Los circuitos de complemento a la base y redondeo son necesarios en las unidades funcionales tales como sumadores, multiplicadores, divisores, unidades FMAD, operadores de valor absoluto, conversores de formato o conversores de precisión etc. El coste adicional, por ejemplo en el área o retardo, que plantean dichos circuitos en las mencionadas unidades funcionales es generalmente substancial, sobre todo porque están típicamente en la vía crítica.

En el estado déla técnica anterior se han hecho varios intentos para reducir los efectos de estos cálculos, es decir el complemento a dos, el cálculo del sticky bit y redondeo. En ciertos documentos del estado de la técnica se ha propuesto pre-calcular el sticky bit o quitar estas operaciones de la vía crítica o reducir el número total de operaciones de redondeo necesarias o combinar redondeo y complemento a dos.

Sería deseable tener circuitos y métodos que reduzcan el coste en área, retardo y consumo de los circuitos de redondeo al más cercano y/o de complemento a la base.

La presente invención se refiere a varios métodos y dispositivos para evitar o al menos reducir parcialmente este problema.

RESUMEN

La presente descripción se refiere a configuraciones y circuitos para operaciones en coma flotante que implementan técnicas para codificar números con objeto de realizar funciones de redondeo al más cercano y

complemento a la base sin la necesidad de realizar una suma. Por tanto, los sistemas que usen el tipo de codificación propuesto y que requieran estas operaciones podrían simultáneamente reducir área, retardo y consumo de potencia.

Con este fin, la presente descripción se centra en el diseño de sistemas digitales de procesamiento de información más eficientes (más rápidos, menor coste, menor consumo de energía) mediante el uso de una nueva familia de formatos o una modificación de los formatos de codificación numérica, aplicable a la mayoría de los formatos actuales, lo que implica cambios en los circuitos que procesan dichos formatos. Estos formatos simplifican drásticamente los circuitos para el redondeo al más cercano y complemento a la base, sin afectar negativamente al resto del circuito.

En un primer aspecto, se propone un dispositivo para realizar una suma o resta de al menos dos números en coma flotante pre-procesados y generar un tercer número en coma flotante pre-procesado....

 


Reivindicaciones:

1. Dispositivo para realizar una suma o resta de al menos dos números coma flotante pre-procesados y generar un tercer número coma flotante preprocesado, tal que cada número tiene una mantisa de M+2 dígitos, que 5 comprende:

un camino de datos del exponente y

un camino de datos de la mantisa, que comprende

una primera entrada para recibir como mucho los M+1 Digitos Más Significativos (MSDs) de la mantisa pre-procesada del primer número,

una segunda entrada para recibir como mucho los M+1 MSDs

de la mantisa pre-procesada del segundo número,

en el que el camino de datos de la mantisa está configurado para generar como mucho los M+1 MSDs de la mantisa pre-procesada del tercer número, donde el Dígitos Menos Significativo (LSD) de todas las 15 mantisas pre-procesadas es igual a B/2, siendo B la base del sistema de representación numérica utilizado.

2. Dispositivo según reivindicación 1, en el que el camino de datos del exponente está configurado para:

2 0 definir la operación efectiva entre las mantisas, teniendo en cuenta la

operación coma flotante deseada y el signo de los números de entrada;

detectar cuál es el número coma flotante de mayor exponente y generar una primera cantidad de desplazamiento correspondiente al número de posiciones a desplazar para alinear las mantisas;

2 5 calcular el exponente del número coma flotante de salida;

calcular el signo del número coma flotante de salida; y

detectar y resolver excepciones y valores especiales en los números de entrada o salida.

3. Dispositivo según reivindicación 1 ó 2, en el que dichas mantisas pre- 5 procesadas están normalizadas y dichas primera y segunda entradas están configuradas para recibir los M MSDs fraccionarios de la mantisa del primer y segundo número pre-procesado, respectivamente.

4. Dispositivo según cualquiera de las reivindicaciones 1 a 3, en el que 10 comprende además una tercera entrada para recibir el LSD de dicha mantisa del primer y segundo número pre-procesado.

5. Dispositivo según cualquiera de las reivindicaciones 1 a 3, que comprende además una tercera entrada con el valor B/2.

6. Dispositivo según cualquiera de las reivindicaciones 1 a 5, donde B=2 y los dígitos son bits.

7. Dispositivo según reivindicación 6, en el que el camino de datos de la 2 0 mantisa comprende

al menos un módulo de suma configurado para recibir como mucho los M+1 MSBs de la mantisa del primer y segundo número pre-procesado y configurado para recibir, desde el camino de datos del exponente, una instrucción sobre la mantisa correspondiente al número de mayor exponente, 2 5 la primera cantidad de desplazamiento y la operación efectiva, y generar un

valor que corresponde a la suma o resta de dichas mantisas pre-procesadas y alineadas.

8. Dispositivo según reivindicación 7, en el que dicho módulo de suma está configurado para generar un valor correspondiente al valor absoluto del resultado de la operación efectiva entre dichas mantisas pre-procesadas.

9. Dispositivo según reivindicación 7 u 8, en el que dicho módulo de suma comprende un primer módulo de desplazamiento configurado para recibir, en una primera entrada, como mucho los M+1 MSBs de la mantisa preprocesada del número con el menor exponente, y, en una segunda, la 10 primera cantidad de desplazamiento, y para generar un valor de salida correspondiente al desplazamiento a la derecha de dicha mantisa preprocesada del número con el menor exponente.

10. Dispositivo según reivindicación 9, en el que el primer módulo de 15 desplazamiento está configurado para negar selectivamente el valor de salida.

11. Dispositivo según reivindicación 9 ó 10, en el que el primer módulo de desplazamiento comprende una tercera entrada con el valor lógico "uno".

12. Dispositivo según cualquiera de las reivindicaciones 9 a 11, en el que el primer módulo de desplazamiento comprende un desplazador variable conectado a un inversor de bits condicional.

13. Dispositivo según cualquiera de las reivindicaciones 7 a 12, en el que el

módulo de suma comprende además un sumador para números en coma fija, el cual tiene una primera entrada conectada a la salida del primer módulo de

desplazamiento y una segunda entrada configurada para recibir como mucho los M+1 MSBs de la mantisa pre-procesada correspondiente al número con mayor exponente; dicho sumador configurado para generar el valor correspondiente a la operación efectiva entre dichas mantisas pre- 5 procesadas.

14. Dispositivo según reivindicación 13, en el que el sumador para números en coma fija está configurado para negar selectivamente la mantisa preprocesada del número con mayor exponente.

15. Dispositivo según reivindicación 14, en el que el sumador para números en coma fija comprende un inversor de bits condicional para negar selectivamente la mantisa pre-procesada del número con mayor exponente.

16. Dispositivo según cualquiera de las reivindicaciones 13 a 15, en el que el

módulo de suma comprende además un circuito de control configurado para recibir la operación efectiva y controlar si, el primer módulo de desplazamiento, o el sumador de números en coma fija, deben realizar dicha negación.

17. Dispositivo según cualquiera de las reivindicaciones 7 a 16, en el que dicho dispositivo comprende además un módulo de normalización con una primera entrada conectada a la salida del módulo de suma y una segunda entrada para recibir una segunda cantidad de desplazamiento; tal que dicho 2 5 módulo de normalización está configurado para generar como mucho los M+1

MSBs de la mantisa del tercer número pre-procesado mediante el desplazamiento selectivo a izquierda, o derecha, de la salida del módulo de suma.

18. Dispositivo según reivindicación 17, en el que el módulo de normalización está configurado además para generar selectivamente el valor equivalente a restar uno del LSB del resultado de la operación de desplazamiento cuando 5 un bit seleccionado, o una combinación de bits seleccionados, de la salida del módulo de suma, es igual a uno.

19. Dispositivo según reivindicación 17 ó 18, en el que el módulo de normalización está configurado además para generar selectivamente el i o complemento a uno del resultado de dicha operación.

20. Dispositivo según reivindicación 17, 18 ó 19, en el que el módulo de normalización está configurado además para completar selectivamente las posiciones vacantes debidas al desplazamiento a la izquierda, fijándolas a 15 cero, o fijando el MSB de la posiciones vacantes a cero, y el resto a uno, o fijando el MSB de la posiciones vacantes uno, y el resto a cero.

21. Dispositivo según reivindicación 20, en el que el módulo de normalización está configurado para, selectivamente, completar dichas posiciones vacantes, 2 0 aleatoriamente, basándose en el valor de un bit seleccionado, o de una combinación de bits seleccionados, cuando la diferencia de exponentes es igual a uno.

22. Dispositivo según cualquiera de las reivindicaciones 17 a 21, en el que el 2 5 módulo de normalización está configurado además para forzar a cero el

segundo LSB del valor correspondiente a la tercera mantisa pre-procesada, cuando los operandos de entrada tienen el mismo exponente, los valores del

segundo LSB de las mantisas pre-procesada de dichos operandos son diferentes, y la operación efectiva es una suma.

23. Dispositivo según cualquiera de las reivindicaciones 17 a 22, en el que 5 comprende además un circuito para identificar el primer bit significativo por la izquierda de la salida del módulo de suma, y calcular la segunda cantidad de desplazamiento, que será usada, por el camino de datos del exponente, para calcular el exponente de salida, y, por el módulo de normalización, para normalizar la mantisa.

24. Dispositivo según cualquiera de las reivindicaciones 6 a 23, en el que comprende además un conversor de números coma fija pre-procesados a números coma flotante pre-procesados para convertir un número coma fija de N+2 bits a un número coma flotante con una mantisa de M+2 bits.

25. Dispositivo según reivindicación 24 en el que dicho conversor de números coma fija pre-procesados a números coma flotante pre-procesados comprende:

un calculador de cantidad de desplazamiento,

2 0 un módulo para calcular el exponente, con una primera entrada para

recibir la tercera cantidad de desplazamiento del calculador de cantidad de desplazamiento, y una salida para generar el exponente del número coma flotante pre-procesado; y

un módulo de normalización con

una primera entrada para recibir los N MSBs de los N+1 LSBs

del número coma fija pre-procesado y una segunda para recibir la tercera cantidad de desplazamiento; dicho módulo de normalización configurado para

desplazar a la izquierda dichos N MSBs de acuerdo con dicha cantidad de

desplazamiento, completando el MSB de las posiciones vacantes con cero y el resto con unos, o el MSB con uno y el resto con ceros, para generar como mucho los M+1 MSBs de la mantisa,

mientras que el signo del número coma flotante pre-procesado 5 corresponde al MSB del número coma fija pre-procesado.

26. Dispositivo según reivindicación 25 en el que el módulo de normalización está configurado además para, completar dichas posiciones vacantes, aleatoriamente, basándose en un bit seleccionado, o en una combinación de 10 bits seleccionados.

27. Dispositivo según reivindicación 25 ó 26, en el que dicho módulo de normalización está configurado además para generar selectivamente el complemento a uno del resultado de dicho desplazamiento.

28. Dispositivo según cualquiera de las reivindicaciones 6 a 27, en el que comprende además un conversor de números coma fija no procesados a números coma flotante pre-procesados, para convertir un número coma fija no procesado de R bits a un número coma flotante pre-procesado con una 2 0 mantisa de M+2 bits. El conversor comprende:

un calculador de cantidad de desplazamiento

un módulo de normalización configurado para recibir los R bits del número en coma fija no procesado y generar como mucho los M+1 MSBs de mantisa del número pre-procesado en coma flotante,

2 5 un calculador de exponentes con una primera entrada para recibir la

cuarta cantidad de desplazamiento proveniente del calculador de cantidad de desplazamiento y una salida para generar el exponente del número pre- procesado en coma flotante,

en el que el signo del número pre-procesado en coma flotante se corresponde con el MSB del número en coma fija no procesado.

29. Dispositivo según la reivindicación 28, en el que el módulo de 5 normalización comprende una primera entrada para recibir los R bits del número no procesado en coma fija y una segunda entrada para recibir la cuarta cantidad de desplazamiento, donde el módulo de normalización está configurado para generar un valor que corresponde a como mucho los M+1 MSB de la mantisa pre-procesada mediante el desplazamiento a la izquierda 10 de los R-2 MSBs de los R-1 LSBs de la primera entrada seguida hacia la derecha por un bit a cero y rellenando las posiciones vacantes con el valor del LSB de la primera entrada.

30. Dispositivo según la reivindicación 29, en el que el módulo de 15 normalización está configurado además para generar selectivamente el complemento a uno de dicho valor si la entrada es negativa.

31. Dispositivo según cualquiera de las reivindicaciones 18, 19, 21, 26, 27, 29 ó 30, en el que el módulo de normalización comprende un desplazador 2 0 variable configurado para recibir un bit para completar las posiciones vacantes.

32. Dispositivo según la reivindicación 31, en el que dicho desplazador variable comprende un número de sucesivos multiplexores que es igual al 25 primer entero mayor o igual que el logaritmo en base 2 de la máxima cantidad de desplazamiento [log2(máxima cantidad de desplazamiento)], con cada multiplexor configurado para efectuar una operación de desplazamiento a la izquierda de 2Ai posiciones, ¡[O, número de multiplexores-1], y cada

multiplexor configurado para completar las posiciones vacantes usando el valor de dicho bit recibido.

33. Dispositivo según la reivindicación 28, en el que el módulo de 5 normalización comprende una primera entrada para recibir los R bits del número en coma fija no procesado y una segunda entrada para recibir la cuarta cantidad de desplazamiento, donde el módulo de normalización está configurado para generar un valor que se corresponde con como mucho los M+1 MSBs de la mantisa pre-procesada mediante el desplazamiento a la 10 izquierda de los R-1 LSBs de la primera entrada.

34. Dispositivo según la reivindicación 33, en el que el módulo de normalización está configurado además para generar selectivamente el complemento a uno del resultado de la mencionada operación de 15 desplazamiento.

35. Dispositivo según a cualquiera de las reivindicaciones 25 a 34, en el que el calculador de exponentes está configurado para decrementar, de acuerdo a la cuarta cantidad de desplazamiento, un valor base para obtener el 2 o exponente.

36. Dispositivo según la reivindicación 35, en el que el calculador de exponentes además está configurado para detectar desbordamientos o valores cero y provocar que el conversor genere la salida correspondiente.

37. Dispositivo según cualquiera de las reivindicaciones 6 a 36, en el que comprende además un conversor de números coma flotante pre-procesados

a números coma fija no procesados para convertir el tercer número en coma flotante pre-procesado a un tercer número en coma fija no procesado.

38. Dispositivo según la reivindicación 37, en el que cuando el número en 5 coma fija no procesado tiene H+1 bits, el conversor comprende un conversor

de números coma flotante pre-procesados a números coma fija preprocesados con una salida de H+2 bits conectada a un módulo de redondeo.

39. Dispositivo según reivindicación 38, en el que el módulo de redondeo 10 comprende un sumador; dicho sumador está configurado para recibir, en una

entrada, los H+1 MSBs de la salida del mencionado conversor de números coma flotante pre-procesados a números coma fija pre-procesados e incrementar dicha entrada si el LSB de dicha salida es igual a 1.

40. Dispositivo según cualquiera de las reivindicaciones 6 a 36, que

comprende además un conversor de números coma flotante pre-procesados a números coma flotante pre-procesados para convertir un número inicial coma flotante con una mantisa de J+2 bits a un subsecuente número coma flotante, donde dicho subsecuente número coma flotante tiene, al menos, un 2 0 tamaño de mantisa diferente.

41. Dispositivo según la reivindicación 40, en el que cuando el subsecuente número en coma flotante pre-procesado tiene una mantisa con J+2-P bits, P<J+1, entonces el conversor comprende:

una unidad de redondeo para eliminar los P+1 LSBs de los J+2 bits de

la mantisa inicial pre-procesada, para generar como mucho J+1-P MSBs de la mantisa del subsecuente número en coma flotante pre-procesado,

donde el LSB de la mantisa del subsecuente número coma flotante pre-procesado es igual a 1,

y un calculador de exponentes para generar el exponente del subsecuente número en coma flotante pre-procesado.

42. Dispositivo según la reivindicación 40, en el que cuando el subsecuente número en coma flotante pre-procesado tiene una mantisa con J+2+Q bits, entonces el conversor comprende:

un módulo de rellenado, configurado para recibir como mucho los J+1 10 MSBs de la mantisa del número en coma flotante pre-procesado inicial y generar como mucho los J+Q+1 MSBs de la mantisa del subsecuente número en coma flotante pre-procesado fijando el MSB de los Q LSBs a uno o a cero y los restante Q-1 bits de dichos Q LSBs al complemento del mencionado MSB, mientras los como mucho J+1 MSBs de la mantisa del subsecuente 15 número en coma flotante pre-procesado son los mismos que los como mucho J+1 MSBs de la mantisa del número en coma flotante pre-procesado inicial, y

un calculador de exponentes para generar el exponente del subsecuente número en coma flotante pre-procesado.

2 0 43. Dispositivo según la reivindicación 42, en el que el módulo de rellenado

está configurado para fijar aleatoriamente dicho MSB basándose en el valor de un bit seleccionado, o de una combinación de bits seleccionados.

44. Dispositivo según cualquiera de las reivindicaciones 6 a 43, en el que 25 comprende además un conversor de números coma flotante pre-procesados a números coma fija pre-procesados para convertir un número en coma flotante con una mantisa de F+2 bits en un número en coma fija.

45. Dispositivo según la reivindicación 44, en el que el número en coma fija pre-procesado tiene L bits, con L<F+4, el conversor comprende:

un calculador de la cantidad de desplazamiento que recibe el exponente del número en coma flotante pre-procesado en una entrada y que 5 genera una cantidad de desplazamiento en una salida,

un segundo módulo de desplazamiento con una primera entrada para recibir los L-1 MSBs de la mantisa del número en coma flotante pre- procesado y una segunda entrada acoplada a la salida del calculador de cantidad de desplazamiento y una tercera entrada para recibir el signo del 10 mencionado número en coma flotante, para generar los L-1 MSBs del número en coma fija pre-procesado en una salida.

46. Dispositivo según la reivindicación 45, en el que el segundo módulo de desplazamiento comprende un desplazador aritmético a la derecha acoplado

a un inversor de bit condicional.

47. Dispositivo según reivindicación 44, en el que cuando el número en coma fija pre-procesado comprende F+C+3 bits, C>0, el conversor comprende:

un calculador de cantidad de desplazamiento que recibe el exponente 2 0 del número en coma flotante pre-procesado en una entrada y que genera una

cantidad de desplazamiento en una salida,

un módulo de desplazamiento aritmético a la derecha con una primera entrada conectada a la salida del calculador de desplazamiento, configurado para generar los F+C+2 MSBs del número en coma fija pre-procesado 25 mediante el desplazamiento aritmético a la derecha de un valor intermedio de F+C+2 bits formado, de izquierda a derecha, por el bit de signo, los F+1 MSBs de la mantisa del número en coma flotante pre-procesado, y el MSB de los C LSBs puesto a cero y el resto a uno, o el MSB de los C LSBs puesto a uno y el resto a cero.

48. Dispositivo según la reivindicación 47, en el que el módulo de desplazamiento aritmético a la derecha está configurado para poner aleatoriamente dicho MSB de los C LSBs del mencionado valor intermedio de 5 F+C+2 bits en base al valor de un bit seleccionado, o de una combinación de

bits seleccionados.

49. Dispositivo según las reivindicaciones 47 o 48, en el que el módulo de desplazamiento aritmético a la derecha está configurado para generar 10 selectivamente el complemento a uno del resultado de la mencionada operación de desplazamiento.

50. Dispositivo según cualquiera de las reivindicaciones 6 a 49, comprende además un conversor de números en coma flotante no procesados a números 15 en coma flotante pre-procesados para convertir un número en coma flotante no procesado con una mantisa de E+2 bits en un número en coma flotante pre-procesado.

51. Dispositivo según la reivindicación 50, en el que cuando el número en 2 0 coma flotante pre-procesado tiene una mantisa de E+2-D bits, D<E+1

entonces el conversor comprende:

una unidad de redondeo configurada para eliminar los D+1 LSBs de la mantisa del número en coma flotante no procesado, para generar como mucho los E+1-D MSBs de la mantisa del número coma flotante pre- 2 5 procesado, donde el LSB de la mantisa del número en coma flotante pre-

procesado es igual a uno, y

un calculador de exponentes para generar el exponente del número en coma flotante pre-procesado.

52. Dispositivo según la reivindicación 51, en el que la unidad de redondeo está configurada además para, selectivamente, poner a cero el segundo LSB de la mantisa del número en coma flotante pre-procesado si todos los D+1

LSBs de la mantisa del número en coma flotante no procesado son iguales a cero.

53. Dispositivo según la reivindicación 50, en el que cuando el número en coma flotante pre-procesado tiene una mantisa de E+2+G bits entonces el

conversor comprende:

un módulo de rellenado, configurado para recibir como mucho los E+2 bits de la mantisa del número en coma flotante no procesado y generar los como mucho E+G+1 MSBs de la mantisa del número en coma flotante pre- procesado fijando los como mucho E+2 MSBs del número en coma flotante 15 pre-procesado al mismo valor que los como mucho E+2 bits de la mantisa del número en coma flotante no procesado y los restantes bits a cero, donde el LSB de la mantisa del número en coma flotante pre-procesado es igual a uno,

y

un calculador de exponentes configurado para generar el exponente 2 o del número en coma flotante pre-procesado.

54. Dispositivo según la reivindicación 53, en el que el módulo de rellenado está configurado además para generar selectivamente el valor correspondiente a restar uno del segundo LSB de la mencionada mantisa

2 5 generada cuando un bit seleccionado, o una combinación de bit

seleccionados, de la mantisa no procesada de entrada es igual a uno.

55. Dispositivo según cualquiera de las reivindicaciones 6 a 54, comprende además un conversor de números coma flotante pre-procesados a números coma flotante no procesados para la conversión de un número en coma flotante pre-procesado con una mantisa de U+2 bits en un número en coma

flotante no procesado.

56. Dispositivo según la reivindicación 55, en el que cuando el número en coma flotante no procesado tiene una mantisa de U+2-V bits, V<U, entonces el conversor comprende:

un módulo de redondeo, configurado para recibir como mucho los

U+3-V MSBs de la mantisa del número en coma flotante pre-procesado y generar como mucho U+2-V bits de la mantisa del número en coma flotante no procesado,

un calculador de exponentes configurado para generar el exponente 15 del número en coma flotante no procesado.

57. Dispositivo según la reivindicación 56, en el que el módulo de redondeo comprende un sumador; dicho sumador está configurado para recibir, en una entrada, como mucho los U+2-V MSBs de la mantisa del número en coma

2 0 flotante pre-procesado e incrementar dicho valor de entrada si el (U+3-V)-

ésimo MSB de dicha mantisa es igual a 1, y generar una instrucción para el calculador de exponentes, si se produjera un desbordamiento.

58. Dispositivo según las reivindicaciones 56 ó 57, en el que el calculador de

2 5 exponentes está configurado, además, para incrementar el exponente de

salida cuando se genera la mencionada instrucción del módulo de redondeo.

59. Dispositivo según la reivindicación 55, en el que cuando el número en coma flotante no procesado tiene una mantisa de U+2+W bits entonces el conversor comprende:

un módulo de rellenado, configurado para recibir como mucho los U+1 5 MSBs de la mantisa del número en coma flotante pre-procesado y generar como mucho los U+W+2 bits de la mantisa del número en coma flotante no procesado poniendo el MSB de los W+1 LSBs a uno y los restantes bits a cero, y

un calculador de exponentes configurado para generar el exponente 10 del número en coma flotante pre-procesado.