Dispositivos para operaciones de multiplicación-suma fusionadas en coma flotante y conversores asociados.

Dispositivos para realizar una operación de multiplicación-suma fusionada en coma flotante entre tres números coma flotante pre-procesados para generar un cuarto 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 configurado para recibir los exponentes de los tres números pre-procesados y generar el exponente del resultado de la operación de multiplicación-suma en coma flotante y un camino de datos de la mantisa. El camino de datos de la mantisa comprende un camino de multiplicación y un camino de suma. El camino de multiplicación comprende una primera entrada configurada 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 multiplicación está configurado para multiplicar dichas mantisas pre-procesadas del primer y segundo número y generar un resultado de la multiplicación en una salida. El camino de suma está configurado para recibir como mucho los m+1 MSDs de la mantisa pre-procesada del tercer número en una primera entrada y el resultado de la multiplicación en una segunda entrada y generar como mucho los m+1 MSDs de la mantisa del cuarto número pre-procesado.

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

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:

  • G06F7/38 FISICA.G06 CALCULO; CONTEO.G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › G06F 7/00 Métodos o disposiciones para el procesamiento de datos actuando sobre el orden o el contenido de los datos tratados (circuitos lógicos H03K 19/00). › 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.
Dispositivos para operaciones de multiplicación-suma fusionadas en coma flotante y conversores asociados.

Fragmento de la descripción:

Dispositivos para operaciones de multiplicación-suma fusionadas en coma flotante y conversores asociados.

La presente invención se refiere al procesamiento de datos y más concretamente a dispositivos para realizar una operación de multiplicación-suma fusionadas en coma flotante y los conversores asociados a los mismos.

ESTADO DE LA TÉCNICA 10

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 15 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. 20

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 ^ 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 25 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 30 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 35 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 45 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 5 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". 10 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, 15 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. 20

 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 25 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. 35

En el estado de 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 precalcular 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 40 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 5 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. 10

En un primer aspecto, se propone un dispositivo para realizar una operación de multiplicación-suma fusionadas en coma flotante entre tres números coma flotante pre-procesados para generar un cuarto número en coma flotante pre-procesado. Cada número tiene una mantisa pre-procesada de m+2 dígitos. El dispositivo comprende un camino de datos del exponente, 15 configurado para recibir los exponentes de los tres números pre-procesados de entrada y generar el exponente del resultado de la operación de multiplicación-suma en coma flotante, y un camino de datos de la mantisa. El camino de datos de la mantisa comprende un camino de multiplicación y un camino de suma. El camino de multiplicación comprende una primera entrada para recibir como mucho los m+1 Dígitos Más Significativos (MSDs) de la mantisa pre-20 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 multiplicación...

 


Reivindicaciones:

1. Un dispositivo para realizar una operación de multiplicación-suma fusionada en coma flotante entre tres números coma flotante pre-procesados y generar un cuarto número coma flotante pre-procesado, cada número teniendo una mantisa pre-procesada de m+2 dígitos, el 5 dispositivo comprende:

un camino de datos del exponente configurado para recibir los exponentes de los tres números pre-procesados de entrada y generar el exponente del resultado de la operación de multiplicación-suma en coma flotante; y 10

un camino de datos de la mantisa, comprendiendo un camino de multiplicación comprendiendo una primera entrada configurada para recibir como mucho los m+1 Dígitos Más Significativos (MSDs) de la mantisa pre-procesada del primer número, 15

una segunda entrada para recibir como mucho los m+1 MSDs de la mantisa pre-procesada del segundo número,

el camino de multiplicación configurado para multiplicar dichas mantisas pre-procesadas del primer y segundo número y generar un resultado de la multiplicación en una salida, 20

un camino de suma configurado para recibir como mucho los m+1 MSDs de la mantisa pre-procesada del tercer número en una primera entrada y el resultado de la multiplicación en una segunda entrada y generar como mucho los m+1 MSDs de la mantisa del cuarto número pre-procesado, mientras el Dígitos Menos Significativo (LSD) de todas las mantisas pre-procesadas es igual a B/2, siendo B la base del 25 sistema de representación numérica.

2. El dispositivo según reivindicación 1, donde el camino de datos del exponente está configurado para

definir la operación efectiva entre la tercera mantisa y el resultado de la multiplicación según los signos de las entradas;

calcular el exponente de la salida;

calcular el signo de la salida; y

detectar y resolver excepciones y valores especiales de las entradas o de dicha 35 operación.

3. Dispositivo según reivindicación 1 ó 2, en el que dichas mantisas pre-procesadas están normalizadas y dichas primera, segunda y tercera entrada están configuradas para recibir los m MSDs fraccionarios de la primera, segunda y tercera mantisa pre-procesada, 40 respectivamente.

4. Dispositivo según cualquiera de las reivindicaciones 1 a 3, en el que comprende además una tercera entrada para recibir el LSD de dicha primera, segunda y tercera mantisa pre-procesada. 45

5. Dispositivo según cualquiera de las reivindicaciones 1 a 3, en el que comprende además una cuarta 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. 50

7. Dispositivo según reivindicación 6, en el que el camino de suma comprende:

un primer módulo de desplazamiento, configurado para recibir como mucho los m+1 Bits Mas Signigicativos (MSBs) de la tercera mantisa pre-procesada en una primera entrada y alinear la tercera mantisa pre-procesada con la salida del camino de multiplicación, y

un módulo de suma configurado para sumar la salida alineada del primer módulo de desplazamiento con la salida del camino de multiplicación. 5

8. Dispositivo según reivindicaciones 6 o 7, en el que el camino de multiplicación comprende:

un módulo de multiplicación, configurado para recibir, en una primera y una segunda entrada, como mucho los m+1 MSBs de la mantisa del primer y segundo número pre-10 procesado pre-proc, respectivamente, y generar los 2*m+3 MSBs del resultado de la multiplicación entre dichas mantisas pre-procesadas, en una salida.

9. Dispositivo según reivindicaciones 6 o 7, en el que el camino de multiplicación comprende:

un multiplicador redundante, configurado para recibir, en una primera y una segunda entrada, como mucho los m+1 MSBs de la mantisa del primer y segundo número pre-procesado pre-proc, respectivamente y generar, en un formato de representación redundante, como mucho los 2*m+3 MSDs del valor correspondiente a la operación de multiplicación entre dichas mantisas pre-procesadas. 20

10. Dispositivo según reivindicación 9, en el que el multiplicador redundante comprende:

un generador de productos parciales configurado para recibir, en una primera y una 25 segunda entrada, como mucho los m+1 MSBs de la mantisa del primer y segundo número pre-procesado, respectivamente, y generar sus productos parciales en una salida,

un árbol de compresores, con una primera entrada conectada a la salida del generador de productos parciales y una segunda entrada configurada para recibir como mucho los m+1 MSBs de la mantisa del primer y segundo número pre-procesado , dicho árbol de 30 compresores configurado para generar, en una representación redundante, como mucho los 2*m+3 MSDs de un valor correspondiente a la operación de multiplicación entre dichas mantisas pre-procesadas en una salida.

11. Dispositivo según cualquiera de las reivindicaciones 9 a 10 en el que el módulo de 35 multiplicación comprende además una tercera entrada con el valor uno.

12. Dispositivo según cualquiera de las reivindicaciones 7 a 11, en el que el primer módulo de desplazamiento está configurado para recibir como mucho los m+1 MSBs de la mantisa del tercer número pre-procesado, en una primera entrada, y la primera cantidad de 40 desplazamiento, en una segunda entrada, y generar un valor de salida correspondiente al desplazamiento a la derecha de dicha mantisa pre-procesada.

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

14. Dispositivo según reivindicaciones 12 o 13, en el que el primer módulo de desplazamiento comprende además una tercera entrada con el valor uno.

15. Dispositivo según cualquiera de las reivindicaciones 12 a 14, en el que el primer módulo de 50 desplazamiento comprende un desplazador a la derecha conectado a un inversor de bit condicional.

16. Dispositivo según cualquiera de las reivindicaciones 12 a 15, en el que el módulo de suma comprende:

un sumador configurado para recibir la salida del camino de multiplicación, en una primera entrada, y la salida del primer módulo de desplazamiento, en una segunda entrada, y 5 generar un valor correspondiente a la suma con signo del resultado de la multiplicación entre las mantisas del primer y segundo número pre-procesado, y la mantisa alineada del tercer número pre-procesado, en una salida.

17. Dispositivo según reivindicación 16, en el que el sumador está configurado 10

para recibir los 2*m+3 MSBs de la multiplicación de la mantisa del primer y segundo número pre-procesado, en una primera entrada.

18. Dispositivo según reivindicación 16, en el que el sumador está configurado para recibir los 15 2*m+3 MSDs de la multiplicación de la mantisa del primer y segundo número pre-procesado, en un formato de representación redundante, en una primera entrada.

19. Dispositivo según reivindicaciones 17 o 18, en el que la suma con signo comprende n bits, n>m, y el sumador está configurado para generar como mucho los n-1 MSBs de dicha suma 20 con signo en una primera salida.

20. Dispositivo según reivindicación 19, en el que el sumador está configurado además para generar el LSB de dicha suma con signo en una segunda salida.

21. Dispositivo según cualquiera de las reivindicaciones 7 a 20 en el que el camino de datos de la mantisa comprende además un módulo de normalización, teniendo una primera entrada conectada al módulo de suma y una segunda entrada para recibir una segunda cantidad de desplazamiento, en el que el módulo de normalización está configurado para generar como mucho los m+1 MSBs de la cuarta mantisa pre-procesada mediante el desplazamiento a la 30 izquierda de la salida del módulo de suma.

22. Dispositivo según reivindicación 21, 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 un bit seleccionado, o una combinación de bits 35 seleccionados, es igual a uno.

23. Dispositivo según cualquiera de las reivindicaciones 21 a 22, 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, con ceros, con un cero en el MSB de 40 dichas posiciones y el resto unos, o con un uno en el MSB de dichas posiciones y el resto ceros.

24. Dispositivo según reivindicación 23, en el que el módulo de normalización está configurado para, selectivamente, completar dichas posiciones vacantes, aleatoriamente, basándose en el 45 valor de un bit seleccionado, o de una combinación de bits seleccionados.

25. Dispositivo según cualquiera de las reivindicaciones 21 a 24, en el que el módulo de normalización está configurado además para forzar a cero el segundo LSB del valor que corresponde a la mantisa del cuarto número pre-procesado, cuando la operación es una suma 50 única, el tercer número de entrada y el otro sumando tienen el mismo exponente y signo, y los valores del segundo LSB de las mantisas pre-procesadas de dichos operandos son diferentes.

26. Dispositivo según cualquiera de las reivindicaciones 21 a 25, en el que el módulo de normalización está configurado además para generar selectivamente el complemento a uno del resultado de dicha operación.

27. Dispositivo según cualquiera de las reivindicaciones 6 a 26, en el que comprende además 5 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.

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

un calculador de cantidad de desplazamiento,

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 15 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 20 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 corresponde al MSB del número coma fija pre-procesado. 25

29. Dispositivo según reivindicación 28 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 bits seleccionados.

30. Dispositivo según reivindicación 28 ó 29, 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.

31. Dispositivo según cualquiera de las reivindicaciones 6 a 30, en el que comprende además 35 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 mantisa de M+2 bits. El conversor comprende:

un calculador de cantidad de desplazamiento 40

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,

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

32. Dispositivo según la reivindicación 31, en el que el módulo de normalización comprende 50 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 MSBs de la mantisa pre-procesada mediante el desplazamiento a la izquierda 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.

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

34. Dispositivo según cualquiera de las reivindicaciones 24, 29, 30, 32 or 33, en el que el módulo de normalización comprende un desplazador variable configurado para recibir un bit 10 para completar las posiciones vacantes.

35. Dispositivo según la reivindicación 34, en el que dicho desplazador variable comprende un número de sucesivos multiplexores que es igual al primer entero mayor o igual que el logaritmo en base 2 de la máxima cantidad de desplazamiento [log2 (máxima cantidad de 15 desplazamiento) ], con cada multiplexor configurado para efectuar una operación de desplazamiento a la izquierda de 2^i posiciones, iϵ[0, número de multiplexores-1], y cada multiplexor configurado para completar las posiciones vacantes usando el valor de dicho bit recibido.

36. Dispositivo según la reivindicación 31, en el que el módulo de 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 izquierda de los 25 R-1 LSBs de la primera entrada.

37. Dispositivo según la reivindicación 36, 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 desplazamiento. 30

38. Dispositivo según a cualquiera de las reivindicaciones 25 a 37, 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 exponente.

39. Dispositivo según la reivindicación 38, 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.

40. Dispositivo según cualquiera de las reivindicaciones 6 a 39, en el que comprende además 40 un conversor de números coma flotante pre-procesados a números coma fija no procesados para convertir el cuarto número en coma flotante pre-procesado a un cuarto número en coma fija no procesado.

41. Dispositivo según la reivindicación 40, en el que cuando el número en coma fija no 45 procesado tiene H+1 bits, el conversor comprende un conversor de números coma flotante pre-procesados a números coma fija pre-procesados con una salida de H+2 bits conectada a un módulo de redondeo.

42. Dispositivo según reivindicación 41, en el que el módulo de redondeo comprende un 50 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.

43. Dispositivo según cualquiera de las reivindicaciones 6 a 39, 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 5 menos, un tamaño de mantisa diferente.

44. Dispositivo según la reivindicación 43, 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: 10

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 15 igual a 1,

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

45. Dispositivo según la reivindicación 43, en el que cuando el subsecuente número en coma 20 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 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 25 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 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 30 coma flotante pre-procesado.

46. Dispositivo según la reivindicación 45, 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. 47. Dispositivo según cualquiera de las reivindicaciones 6 a 35 46, en el que 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.

48. Dispositivo según la reivindicación 47, en el que el número en coma fija pre-procesado 40 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 genera una cantidad de desplazamiento en una salida, 45

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 mencionado número en coma flotante, para generar los L-1 MSBs del número en coma fija pre-procesado en una salida. 50

49. Dispositivo según la reivindicación 48, en el que el segundo módulo de desplazamiento comprende un desplazador aritmético a la derecha acoplado a un inversor de bit condicional.

50. Dispositivo según reivindicación 47, 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 del número en 5 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 mediante el desplazamiento aritmético a la 10 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.

51. Dispositivo según la reivindicación 50, 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 F+C+2 bits en base al valor de un bit seleccionado, o de una combinación de bits seleccionados..

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

53. Dispositivo según cualquiera de las reivindicaciones 6 a 52, comprende además un 25 conversor de números en coma flotante no procesados a números 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.

54. Dispositivo según la reivindicación 53, en el que cuando el número en coma flotante pre-30 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-procesado, donde el LSB de la mantisa del número en 35 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.

55. Dispositivo según la reivindicación 54, en el que la unidad de redondeo está configurada 40 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.

56. Dispositivo según la reivindicación 53, en el que cuando el número en coma flotante pre-45 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 como mucho los E+G+1 MSBs de la mantisa del número en coma flotante pre-procesado fijando como mucho los E+2 MSBs 50 del número en coma flotante pre-procesado al mismo valor que como mucho los 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 del número en coma flotante pre-procesado.

57. Dispositivo según la reivindicación 56, 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 5 la mencionada mantisa generada cuando un bit seleccionado, o una combinación de bit seleccionados, de la mantisa no procesada de entrada es igual a uno.

58. Dispositivo según cualquiera de las reivindicaciones 6 a 57, comprende además un conversor de números coma flotante pre-procesados a números coma flotante no procesados 10 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.

59. Dispositivo según la reivindicación 58, 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: 15

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 los U+2-V bits de la mantisa del número en coma flotante no procesado,

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

60. Dispositivo según la reivindicación 59, 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 flotante pre-procesado e incrementar dicho valor de 25 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.

61. Dispositivo según las reivindicaciones 59 ó 60, en el que el calculador de exponentes está configurado, además, para incrementar el exponente de salida cuando se genera la 30 mencionada instrucción del módulo de redondeo.

62. Dispositivo según la reivindicación 58, 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 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 del número en 40 coma flotante pre-procesado.


 

Patentes similares o relacionadas:

Imagen de 'Procedimiento de decodificación de imágenes'Procedimiento de decodificación de imágenes, del 16 de Diciembre de 2015, de HITACHI, LTD.: Procedimiento de decodificación de imágenes de una secuencia de imágenes, que comprende las etapas siguientes: almacenar una imagen previamente codificada […]

UNIDADES ARITMÉTICAS Y CONVERSORES ASOCIADOS, del 1 de Octubre de 2015, de UNIVERSIDAD DE MALAGA: Dispositivos para sumar números en coma flotante, dispositivos para multiplicar números en coma flotante, dispositivos para realizar operaciones de multiplicación-suma […]

Imagen de 'Multiplicadores coma flotante y conversores asociados'Multiplicadores coma flotante y conversores asociados, del 29 de Septiembre de 2015, de UNIVERSIDAD DE MALAGA: Dispositivos para realizar una multiplicación de al menos dos números coma flotante pre-procesados y generar un tercer número coma flotante pre-procesado son propuestos. Un […]

Imagen de 'Unidades aritméticas en coma fija y conversores asociados'Unidades aritméticas en coma fija y conversores asociados, del 29 de Septiembre de 2015, de UNIVERSIDAD DE MALAGA: Dispositivos para realizar una operación deseada de al menos un primer número en coma fija pre-procesado con N+1 dígitos, para generar al menos un segundo número […]

Imagen de 'Sumadores coma flotante y conversores'Sumadores coma flotante y conversores, del 29 de Septiembre de 2015, de UNIVERSIDAD DE MALAGA: 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 […]

Imagen de 'Dispositivos coma flotante y conversores'Dispositivos coma flotante y conversores, del 29 de Septiembre de 2015, de UNIVERSIDAD DE MALAGA: Dispositivos para convertir números a y desde un formato pre-procesado son propuestos. Un formato en coma fija pre-procesado es un formato en […]

Imagen de 'Método y aparato para mejorar la discriminación de ruido usando…'Método y aparato para mejorar la discriminación de ruido usando un factor de atenuación, del 16 de Julio de 2014, de DOLBY LABORATORIES LICENSING CORPORATION: Un método para mejorar la discriminación de ruido en un sistema que tiene una pluralidad de sensores (A, B) que generan cada uno una señal de entrada de sensor representada […]

Imagen de 'METODO DE INTERPOLADOR OPTIMO Y APARATO PARA EL AJUSTE DE TEMPORIZACION…'METODO DE INTERPOLADOR OPTIMO Y APARATO PARA EL AJUSTE DE TEMPORIZACION DIGITAL, del 16 de Abril de 2008, de INTERDIGITAL TECHNOLOGY CORPORATION: Un sincronizador de temporización digital de un receptor para la sincronización de temporización de un transmisor en un sistema de comunicaciones […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .