Unidades aritméticas en coma fija y conversores asociados.
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 en coma fija pre-procesado con Z+1 dígitos 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. Los dispositivos comprenden al menos una unidad aritmética con una primera entrada para recibir los N MSDs de dicho al menos primer número en coma fija pre-procesado. La al menos una unidad aritmética está configurada para generar los Z MSDs del al menos segundo número en coma fija pre-procesado.
Tipo: Patente de Invención. Resumen de patente/invención. Número de Solicitud: P201430456.
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.
PDF original: ES-2546915_A1.pdf
Ver la galería de la invención con 12 ilustraciones.
Fragmento de la descripción:
Unidades aritméticas en coma fija y conversores asociados.
La presente invención se refiere al procesamiento de datos y más concretamente a dispositivos para realizar operaciones de números en coma fija y los conversores 5 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 10 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 15 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 ^ 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 25 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. 30
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 5 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 15 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 20 (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 25 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 30 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 5 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 10 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. 15
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 20 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. 25
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 30 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 fija 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 10 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 15 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 20 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 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 en coma fija pre-procesado con Z+1 dígitos. El 25 dispositivo comprende al menos una unidad aritmética con una primera entrada para recibir los N MSDs de dicho al menos primer número en coma fija pre-procesado. La al menos una unidad aritmética está configurada para generar los Z MSDs del al menos segundo número en coma fija pre-procesado. El Digito Menos Significativo (LSD) de todos los números en coma fija pre-procesados es igual a B/2, siendo B la base del 30 sistema numérico.
Una ventaja del dispositivo es la capacidad de realizar las operaciones mencionadas sin usar explícitamente el LSD de los números en coma fija. Para lograr esto, los números en coma fija necesitan estar en un formato pre-procesado. El formato propuesto puede derivarse de cualquier formato no procesado, ya sea formato de coma fija o de coma flotante. En el caso de números en coma fija... [Seguir leyendo]
Reivindicaciones:
1. Un dispositivo 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 en coma fija pre-procesado con Z+1 dígitos, el dispositivo comprende:
al menos una unidad aritmética con una primera entrada para recibir los N MSDs 5 de dicho al menos primer número en coma fija pre-procesado, donde dicha al menos una unidad aritmética está configurada para generar los Z MSDs de el al menos segundo número en coma fija pre-procesado, mientras que el Digito Menos Significativo (LSD) de todos los números en coma fija pre-procesados es igual a B/2, siendo B la base del sistema numérico. 10
2. Dispositivo según reivindicación 1, en el que B=2 y los dígitos son bits.
3. Dispositivo según reivindicación 1 ó 2, en el que la al menos una unidad aritmética comprende además:
al menos una segunda entrada para recibir los L MSDs de un tercer número en coma fija pre-procesado con L+1 dígitos, y en el que L N y el LSD es igual a B/2, y 15
un módulo de suma para generar un valor, correspondiente al segundo número en coma fija pre-procesado, dicho segundo número en coma fija pre-procesado siendo el resultado, redondeado al más cercano, de la suma del primer y el tercer número en coma fija pre-procesado.
4. Dispositivo según reivindicación 3, en el que el módulo de suma comprende un 20 sumador configurado para recibir los N MSBs del primer y tercer número en coma fija pre-procesado, en una primera y segunda entrada, respectivamente.
5. Dispositivo según reivindicación 4, en el que, cuando ZN, dicho sumador está configurado para generar los Z MSBs del valor equivalente a sumar dichas dos entradas más un acarreo de entrada igual al (N+1) -ésimo bit del tercer número en 25 coma fija pre-procesado.
6. Dispositivo según reivindicación 4, en el que, cuando Z>N, dicho sumador está configurado para generar los N MSBs del segundo número en coma fija pre-procesado produciendo un valor equivalente a sumar dichas dos entradas más un acarreo de entrada igual al (N+1) -ésimo bit del tercer número en coma fija pre-procesado, en el que el módulo de suma está configurado además para fijar el (N+1) -ésimo 5 bit del segundo número en coma fija pre-procesado igual al inverso del (N+1) -ésimo bit del tercer número en coma fija pre-procesado y configurado para fijar los restantes Z-N-1 LSBs de los Z MSBs del segundo número en coma fija pre-procesado igual a los Z-N-1 LSBs de los Z MSBs del tercer número en coma fija pre-procesado.
7. Dispositivo según reivindicación 5, en el que, cuando Z=N=L, el módulo de suma 10 está configurado además para fijar a cero el segundo LSB del segundo número en coma fija pre-procesado.
8. Dispositivo según cualquiera de las reivindicaciones 3 a 7, en el que el módulo de suma está configurado además para negar uno de los números de entrada.
9. Dispositivo según reivindicación 8, en el que dicha operación de negación se realiza 15 selectivamente de acuerdo a una señal de control.
10. Dispositivo según cualquiera de las reivindicaciones 1 a 9, en el que la al menos una unidad aritmética comprende un módulo de multiplicación para generar un valor correspondiente al segundo número en coma fija pre-procesado.
11. Dispositivo según reivindicación 10, en el que el módulo de multiplicación es un 20 elevador al cuadrado.
12. Dispositivo según reivindicación 11, en el que cuando el primer número en coma fija pre-procesado es con signo, el elevador al cuadrado comprende un módulo configurado para generar los N+1 MSBs de la magnitud del primer número en coma fija 25 pre-procesado.
13. Dispositivo según reivindicación 10, en el que el módulo de multiplicación está configurado para generar dicho valor, correspondiente al segundo número en coma fija pre-procesado, el cual es el resultado, redondeado al más cercano, de la multiplicación 30
del primer y un cuarto número en coma fija pre-procesado de T+1 dígitos, teniendo el LSD igual a B/2.
14. Dispositivo según reivindicación 13, en el que cuando el cuarto número en coma fija pre-procesado es un número constante, el módulo de multiplicación es un multiplicador por constante. 5
15. Dispositivo según reivindicación 13, en el que la al menos una unidad aritmética comprende al menos una segunda entrada para recibir los T MSDs del cuarto número en coma fija pre-procesado.
16. Dispositivo según cualquiera de las reivindicaciones 13 a 15, en el que el módulo de multiplicación comprende 10
un multiplicador configurado para generar los N+T+1 MSBs del resultado de la multiplicación, y un módulo de truncado, conectado a la salida del multiplicador para recibir la salida del multiplicador y generar los Z MSBs del segundo número truncando dicha salida. 15
17. Dispositivo según cual quiera de las reivindicaciones 13 a 15, en el que el módulo de multiplicación comprende un módulo multiplicación redundante configurado para recibir, en una primera entrada, los N MSBs del primer número en coma fija pre-procesado y generar, en un 20 formato de representación redundante, como mucho los N+T+1 MSDs del valor correspondiente a la operación de multiplicación entre dicho primer número pre-procesado y el cuarto número en coma fija pre-procesado;
un módulo de conversión, conectado a la salida de dicho módulo de multiplicación, configurado para recibir los Z MSDs de la salida de dicho multiplicador 25 redundante y un bit de acarreo, y generar una salida de Z bits correspondiente a la conversión del valor redundante recibido a formato de representación no redundante;
un módulo de red de acarreo configurado para recibir los N+T+1-Z LSDs de la salida de dicho módulo multiplicador redundante y generar dicho bit de acarreo correspondiente al acarreo de salida de la conversión de los N+T+1-Z LSDs de la salida de dicho módulo de multiplicación redundante a representación no redundante.
18. Dispositivo según reivindicación 17, en el que el módulo de multiplicación redundante comprende un generador de productos parciales configurado para recibir, en una primera 5 entrada, los N MSBs del primer número en coma fija pre-procesado y generar, en una salida, los productos parciales correspondientes a la multiplicación de dicha entrada y los T MSBs del cuarto número en coma fija pre-procesado,
un árbol de compresores, con una primera entrada conectada a la salida del generador de productos parciales y una segunda entrada configurada para recibir los N 10 MSBs y los T MSBs del primer y cuarto número pre-procesado, respectivamente, dicho árbol de compresores configurado para generar, en una representación redundante, como mucho los N+T+1 MSDs de un valor correspondiente a la operación de multiplicación entre dichos números pre-procesados, en una salida.
19. Dispositivo según cualquiera de las reivindicaciones 1 a 18, en el que una unidad 15 aritmética comprende un módulo de desplazamiento a la izquierda para generar un valor, correspondiente al segundo número en coma fija pre-procesado, el cual es el resultado, redondeado al más cercano, del desplazamiento a la izquierda del primer número en coma fija pre-procesado.
20. Dispositivo según reivindicación 19, en el que el módulo de desplazamiento a la 20 izquierda está configurado además para completar las posiciones vacantes, debidas al desplazamiento a la izquierda, 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 desplazamiento a la izquierda está configurado para, selectivamente, completar dichas posiciones vacantes, 25 aleatoriamente, basándose en el valor de un bit seleccionado, o de una combinación de bits seleccionados.
22. Dispositivo según cual quiera de las reivindicaciones 19 a 21 en el que el módulo de desplazamiento a la izquierda está configurado para recibir la cantidad de desplazamiento para seleccionar el número de bits a desplazar 23. Dispositivo según reivindicación 22, en el que el módulo de desplazamiento a la izquierda comprende un desplazador variable configurado para recibir un bit para 5 completar las posiciones vacantes.
24. Dispositivo según la reivindicación 23, 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 desplazamiento) ], con cada multiplexor configurado para 10 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.
25. Dispositivo según cualquiera de las reivindicaciones 1 a 24, en el que al menos una unidad aritmética comprende un módulo de valor absoluto para generar un valor 15 correspondiente al segundo número en coma fija pre-procesado, el cual es el resultado del valor absoluto del primer número en coma fija pre-procesado, en el que dicho módulo comprende un inversor de bit condicional configurado para recibir, en una primera entrada los N MSBs del primer número en coma fija pre-procesado, y generar un valor 20 correspondiente al complemento a uno de la primera entrada si su MSB es uno.
26. Dispositivo según cualquiera de las reivindicaciones anteriores, que comprende además un conversor de números no procesados a números pre-procesados en coma fija conectado a una entrada de la unidad aritmética y configurado para recibir un número en coma fija no procesado de E+1 bits y generar un número en coma fija pre-25 procesado.
27. Dispositivo según la reivindicación 26, en el que cuando el número en coma fija pre-procesado tiene E+1-K1 bits, K1<E entonces el conversor comprende:
una unidad de redondeo configurada para eliminar los K1+1 LSBs del número en coma fija no procesado, para generar los E-K1 MSBs del número coma fija pre-procesado, donde el LSB de dicho número en coma fija pre-procesado es igual a B/2.
28. Dispositivo según la reivindicación 27, en el que la unidad de redondeo está configurada además para, selectivamente, poner a cero el segundo LSB del número en 5 coma fija pre-procesado si todos los K1+1 LSBs del número en coma fija no procesado son iguales a cero.
29. Dispositivo según la reivindicación 26, en el que cuando el número en coma fija pre-procesado tiene E+1+K2 bits entonces el conversor comprende:
un módulo de rellenado, configurado para recibir el número en coma fija no 10 procesado y generar los E+K2 MSBs del número en coma fija pre-procesado fijando los E+1 MSBs del número en coma fija pre-procesado al mismo valor que los E+1 bits del número en coma fija no procesado y los restantes bits a cero, donde el LSB del número en coma fija pre-procesado es igual a uno 30 Dispositivo según la reivindicación 29, en el que el módulo de rellenado está 15 configurado además para generar selectivamente el valor correspondiente a restar uno del segundo LSB del mencionado número en coma fija pre-procesado cuando un bit seleccionado, o una combinación de bit seleccionados, del número no procesado de entrada es igual a uno.
31. Dispositivo según cualquiera de las reivindicaciones anteriores, que comprende 20 además un conversor de números coma fija pre-procesados a números coma fija pre-procesados conectado a una entrada y/o una salida de la unidad aritmética, y configurado para recibir un número inicial coma fija pre-procesado de J+1 bits y generar un subsecuente número coma fija pre-procesado de diferente tamaño.
32. Dispositivo según la reivindicación 31, en el que cuando el subsecuente número en 25 coma fija pre-procesado tiene J+1-P1 bits, P1<J, entonces el conversor comprende:
una unidad de redondeo para eliminar los P1+1 LSBs de los J+1 bits del número inicial pre-procesado, para generar los J-P1 MSBs del subsecuente número en coma fija pre-procesado, donde el LSB del subsecuente número coma fija pre-procesado es igual a B/2.
33. Dispositivo según la reivindicación 31, en el que cuando el subsecuente número en coma fija pre-procesado tiene J+1+P2 bits, entonces el conversor comprende:
un módulo de rellenado, configurado para recibir los J MSBs del número en 5 coma fija pre-procesado inicial y generar los J+P2 MSBs del subsecuente número en coma fija pre-procesado fijando el MSB de los P2 LSBs a uno o a cero, y los restante P2-1 bits de dichos P2 LSBs al inverso del mencionado MSB, mientras los J MSBs del subsecuente número en coma fija pre-procesado son los mismos que los J MSBs del número en coma fija pre-procesado inicial. 10
34. Dispositivo según la reivindicación 33, 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.
35. Dispositivo según cualquiera de las reivindicaciones anteriores, comprende 15 además un conversor de números coma fija pre-procesados a números coma fija no procesados conectado a la salida de la unidad aritmética y configurado para recibir un número en coma fija pre-procesado de W+1 bits y generar un número en coma fija no procesado.
36. Dispositivo según la reivindicación 35, en el que cuando el número en coma fija no 20 procesado tiene W+1-V1 bits, V1<W, entonces el conversor comprende:
un módulo de redondeo, configurado para recibir los W+2-V1 MSBs del número en coma fija pre-procesado y generar los W+1-V1 bits del número en coma fija no procesado.
37. Dispositivo según la reivindicación 36, en el que el módulo de redondeo 25 comprende un sumador; dicho sumador está configurado para recibir, en una entrada, los W+1-V1 MSBs del número en coma fija pre-procesado e incrementar dicho valor de entrada si el (W+2-V1) -ésimo MSB de dicho número pre-procesado es igual a 1
38. Dispositivo según la reivindicación 35, en el que cuando el número en coma fija no procesado tiene W+1+V2 bits entonces el conversor comprende:
un módulo de rellenado, configurado para recibir los W MSBs del número en coma fija pre-procesado y generar los W+V2+1 bits del número en coma fija no procesado poniendo el MSB de los V2+1 LSBs a uno y los restantes bits a cero 5
39. Dispositivo según cualquiera de las reivindicaciones anteriores, en el que comprende además un conversor de números coma flotante pre-procesados a números coma fija pre-procesados conectado a una entrada de la unidad aritmética configurado para convertir un número en coma flotante pre-procesado con una mantisa de F+2 bits en un número en coma fija. 10
40. Dispositivo según la reivindicación 39, en el que el número en coma fija pre-procesado tiene G bits, con G<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 15 desplazamiento en una salida, un segundo módulo de desplazamiento con una primera entrada para recibir los G-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 20 generar los G-1 MSBs del número en coma fija pre-procesado en una salida.
41. Dispositivo según la reivindicación 40, en el que el módulo de desplazamiento comprende un desplazador aritmético a la derecha acoplado a un inversor de bits condicional. 25
42. Dispositivo según reivindicación 39, 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 pre-procesado en una entrada y que genera una cantidad de desplazamiento 30 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 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 5 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.
43. Dispositivo según la reivindicación 42, en el que el módulo de desplazamiento aritmético a la derecha está configurado para poner aleatoriamente dicho MSB de los C 10 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.
44. Dispositivo según las reivindicaciones 42 o 43, en el que el módulo de desplazamiento aritmético a la derecha está configurado para generar selectivamente 15 el complemento a uno del resultado de la mencionada operación de desplazamiento.
45. Dispositivo según cualquiera de las reivindicaciones anteriores, en el que comprende además un conversor de números coma fija pre-procesados a números coma flotante pre-procesados, conectado a la salida de una unidad aritmética, 20 configurado para convertir un número coma fija de Q+2 bits a un número coma flotante con una mantisa de M+2 bits.
46. Dispositivo según reivindicación 45 en el que dicho conversor de números coma fija pre-procesados a números coma flotante pre-procesados comprende: 25
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 generar el exponente del número coma flotante pre-procesado; y un módulo de normalización con 30
una primera entrada para recibir los Q MSBs de los Q+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 Q 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 corresponde al MSB del número coma fija pre-procesado. 5
47. Dispositivo según reivindicación 46 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.
48. Dispositivo según reivindicación 46 ó 47, 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.
49. Dispositivo según cualquiera de las reivindicaciones anteriores, que comprende 15 además un conversor de números coma fija pre-procesados a números coma flotante no procesados conectado a una salida de una unidad aritmética y configurado para convertir un número coma fija de H+2 bits a un número coma flotante con una mantisa de R+1 bits.
50. Dispositivo según reivindicación 49 en el que dicho conversor de números coma fija pre-procesados a números coma flotante no procesados comprende:
un calculador de cantidad de desplazamiento, un módulo para calcular el exponente, con una primera entrada para recibir la cantidad de desplazamiento del calculador de cantidad de desplazamiento, y una salida 25 para generar el exponente del número coma flotante no procesado; y un módulo calculador de mantisa, comprendiendo:
un módulo de normalización con una primera entrada para recibir los H MSBs de los H+1 LSBs del número coma fija pre-procesado y una segunda para recibir la cantidad de desplazamiento; dicho módulo de normalización configurado para generar un valor 30 correspondiente a como mucho los R+2 MSBs de los H+1 LSBs del número en coma fija pre-procesado desplazado a la izquierda de acuerdo con dicha cantidad de desplazamiento; and un módulo de redondeo configurado para recibir la salida del módulo de normalización y generar como mucho los R+1 MSBs de la mantisa del número coma flotante no procesado, mientras que su signo corresponde al MSB del número coma fija pre-procesado.
51. Dispositivo según reivindicación 50, en el que dicho módulo de normalización está configurado además para generar selectivamente la negación de dicho valor de como mucho R+2 bits.
52. Dispositivo según reivindicación 50 o 51, en el cual el módulo de redondeo 10 comprende un sumador, dicho sumador configurado para recibir, en una entrada, los como mucho R+1 MSBs de la salida del módulo de normalización e incrementar dicha valor de entrada si el LSB de dicha salida es igual a 1.
53. Dispositivo según cualquiera de las reivindicaciones anteriores, que comprende 15 además un conversor de números coma flotante no procesados a números coma fija pre-procesados conectado a una entrada de la unidad aritmética y configurado para convertir un número en coma flotante no procesado con una mantisa de S bits en un número en coma fija pre-procesado de A+2 bits.
54. Dispositivo según la reivindicación 53, en el que el conversor comprende:
un calculador de la cantidad de desplazamiento que recibe el exponente del número en coma flotante no procesado en una entrada y que genera una cantidad de desplazamiento en una salida, un conversor de números en coma fija no procesados a números en coma fija 25 pre-procesados de acuerdo a alguna de las reivindicaciones 26 a 30, configurado para recibir como mucho los S bits de la mantisa del número en coma flotante no procesado y generar los A MSBs de un número en coma fija pre-procesado; y un módulo de desplazamiento con una primera entrada para recibir la salida de A bits de dicho conversor , una segunda entrada conectada a la salida del calculador 30 de cantidad de desplazamiento y una tercera entrada para recibir el signo del mencionado número en coma flotante, para generar los A+1 MSBs del número en coma fija pre-procesado de salida, desplazando a la derecha, de acuerdo a la segunda entrada, la primera entrada aumentada por la izquierda con el bit de signo, en el que el LSB de dicho número en coma fija pre-procesado es igual a B/2.
55. Dispositivo según reivindicación 54, en el que dicho módulo de desplazamiento está 5 configurado además para generar selectivamente un valor igual al complemento a uno del resultado de dicho desplazamiento.
56. Dispositivo según la reivindicación 55, en el que dicho módulo de desplazamiento comprende un desplazador aritmético a la derecha acoplado a un inversor de bits 10 condicional.
57. Dispositivo según cualquiera de las reivindicaciones anteriores, en el que al menos una unidad aritmética comprende además una entrada y/o salida de un dígito con el valor de B/2. 15
58. Dispositivo según cualquiera de las reivindicaciones anteriores, que comprendiendo una pluralidad de unidades aritméticas; y una entrada de selección de operación para recibir una señal sobre la operación deseada, en el que el dispositivo está configurado para seleccionar la salida de una unidad aritmética de la pluralidad de unidades aritméticas basándose en la señal sobre la operación deseada recibida.
Patentes similares o relacionadas:
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 […]
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 […]
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 […]
Dispositivos para operaciones de multiplicación-suma fusionadas en coma flotante y conversores asociados, del 29 de Septiembre de 2015, de UNIVERSIDAD DE MALAGA: 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 […]
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 […]
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 […]
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 […]