Multiplicador

En electrónica analógica , un multiplicador es un circuito cuya señal de salida es el producto del valor instantáneo de sus señales de entrada.

En electrónica digital , un multiplicador es un circuito electrónico que realiza una multiplicación . Los multiplicadores están integrados en la mayoría de los procesadores actuales, tanto para realizar multiplicaciones entre números enteros como entre números representados en coma flotante .

Electrónica analógica

Circuito multiplicador

En electrónica analógica, un multiplicador es un circuito cuya señal de salida es el producto del valor instantáneo de sus señales de entrada.

Un multiplicador puede consistir en un circuito amplificador diferencial , en el que la corriente de la rama común determina la ganancia diferencial; también puede utilizar el efecto Hall .

En radio, el multiplicador, esencial para la modulación y demodulación heterodina , se construye alrededor de un componente no lineal (con mayor frecuencia un diodo .

Multiplicador de frecuencia

Un multiplicador de frecuencia es un circuito no lineal al que se le aplica una señal de banda estrecha. La señal resultante tiene muchos armónicos de la frecuencia de entrada. Un filtro selecciona cuál de estas frecuencias, múltiplo de la de la señal, está presente en la salida.

Electrónica digital

Se han propuesto varios tipos de circuitos según su rendimiento, tamaño y consumo energético. Estos incluyen el algoritmo de Booth y sus variantes, a menudo utilizado para circuitos de baja potencia, y técnicas que generan todos los productos parciales antes de reducirlos a un número logarítmico de pasos dependiendo del tamaño de las entradas (como árboles de Wallace  (en) y Dadda  (en ) ).

Principio

Los algoritmos utilizados por los multiplicadores actuales son variantes mejoradas del algoritmo de multiplicación de columnas aprendido en grados pequeños. La única diferencia está en la tabla de multiplicar utilizada. En binario, esta tabla de multiplicar se reduce a esta:

Por lo demás, el algoritmo es idéntico al aprendido en la escuela primaria. Consiste en calcular productos parciales, siendo cada uno igual al producto de uno de los dígitos del multiplicador por el multiplicando. Estos productos parciales luego se suman para dar el resultado.

Multiplicadores sin signo

Multiplicador simple

Los multiplicadores más simples implementan el algoritmo visto arriba de la manera más trivial posible, calculando los productos parciales y sumándolos uno por uno. Por tanto, estos multiplicadores se componen de un sumador y de un acumulador para almacenar los resultados temporales. Estos incorporan registros para almacenar el multiplicando y el multiplicador a lo largo de la duración de la operación. El conjunto está asistido por un contador, encargado de gestionar el número de repeticiones que quedan por realizar antes del final de la multiplicación, y una pequeña lógica combinatoria para gestionar el inicio de la operación y su terminación.

Al comienzo de la operación, el multiplicador y el multiplicando se almacenan en registros y el acumulador que almacena el resultado se inicializa a cero. Luego, en cada ciclo de reloj, el multiplicador calculará el producto parcial del bit menos significativo del multiplicador y el multiplicando. Este cálculo del producto parcial es un simple Y entre cada bit del multiplicando y el bit menos significativo del multiplicador. Este producto parcial se agrega luego al contenido del acumulador. En cada ciclo, el multiplicador se desplaza una muesca hacia la derecha para pasar al siguiente bit (como recordatorio, el multiplicando se multiplica por un bit del multiplicador a la vez). El multiplicando también se desplaza un paso hacia la izquierda.

El multiplicador visto arriba puede sufrir algunas pequeñas optimizaciones. Una primera optimización consiste en no realizar un producto entre el multiplicando y el bit menos significativo del multiplicador si este último es cero. En este caso, el producto parcial será cero y su adición con el contenido del acumulador será inútil. Es perfectamente posible conformarse con cambiar el contenido del multiplicando, sin calcular el producto parcial y realizar la suma. Esto se puede hacer de manera bastante simple usando la lógica combinacional conectada al circuito, siempre que esto se encargue de secuenciar los cambios y controlar el sumador. Del mismo modo, si el bit menos significativo del multiplicador no es cero, es inútil hacer el producto (mediante AND), el producto es idéntico al multiplicando.

Por lo tanto, es suficiente, en cada ciclo de reloj, si el bit menos significativo del multiplicador no es cero, agregar el multiplicando al contenido del acumulador. En cada ciclo, el multiplicador se desplaza una muesca hacia la derecha y el multiplicando se desplaza una muesca hacia la izquierda.

Multiplicador compartido

Otra posible optimización consiste en almacenar el resultado a la salida del sumador no en los bits menos significativos de éste, sino en sus bits más significativos. Si desplazamos nuestro acumulador una muesca hacia la derecha en cada adición de producto parcial, podemos obtener el resultado correcto. Con esta técnica, se puede utilizar un sumador más pequeño. Por ejemplo, sin esta optimización, multiplicar dos números de 32 bits requeriría un sumador capaz de manejar números de 64 bits. Con la optimización, un sumador vulgar de 32 bits puede ser suficiente.

En este multiplicador optimizado, es posible fusionar el registro del multiplicador y el acumulador. El truco de este circuito es almacenar el multiplicador en los bits de orden inferior del registro fusionado y colocar el resultado en la salida del sumador en los bits de orden superior. En cada ciclo, el registro del acumulador se desplaza hacia la derecha. Por lo tanto, los bits utilizados por el multiplicador se reemplazan gradualmente por el resultado de las adiciones del producto parcial. Esta fusión permite utilizar un sumador más simple.

Multiplicadores

En lugar de sumar los productos parciales uno a uno, también es posible realizarlos en paralelo. Basta utilizar tantos sumadores y circuitos de cálculo de producto parcial como productos parciales a calcular. Por tanto, es posible calcular todos los productos parciales en paralelo y realizar las adiciones con un conjunto de sumadores conectados en serie. Generalmente, los sumadores de propagación de acarreo se utilizan en este tipo de circuito. El uso de sumadores más avanzados aumentaría demasiado la cantidad de puertas lógicas utilizadas por el circuito final, para una ganancia bastante pequeña en el rendimiento.

Sin embargo, encadenar sumadores en series como esta usa muchos circuitos. Además, estos sumadores tienen un tiempo de propagación significativo. Las ganancias de rendimiento existen en comparación con los multiplicadores vistos anteriormente, pero no necesariamente merecen tal aumento en el tamaño del circuito. Para evitar desperdiciar espacio, es posible utilizar los llamados sumadores de acarreo y ahorro, diseñados para acelerar múltiples adiciones.

Multiplicadores de eje de reducción

Para ganar rendimiento y hacer que el circuito sea más rápido, es posible agregar productos parciales no en serie, sino a través de un eje de reducción. Este árbol aprovecha el hecho de que tres bits de igual peso en productos parciales se pueden agregar en dos bits, uno de los cuales es de mayor peso, y está interesado solo en los bits individuales de productos parciales sin intentar sumarlos de dos en dos. . Esto ahorra la propagación de acarreo, que es la causa de la latencia y la complejidad en los sumadores. Cuando ya no sea posible realizar una reducción, los dos grupos restantes de dígitos se suman.

Para dos números de tamaño n, dado que el número de dígitos de los productos parciales es n² en total y la reducción toma un número logarítmico de pasos, los árboles de reducción permiten que la multiplicación se realice en un paso , como es el caso de la suma. Sin embargo, los multiplicadores son en la práctica más lentos y más grandes que los sumadores.

Hay varios tipos de árboles que pueden usarse para la reducción, siendo los más conocidos los árboles Wallace y los árboles Dadda.

Multiplicación con signo

Notas y referencias

  1. Michel Fleutry , Diccionario enciclopédico de electrónica inglés-francés , La casa del diccionario,1991( ISBN  2-85608-043-X ) , pág.  546.
  2. Comisión Electrotécnica Internacional , "Dispositivos semiconductores y circuitos integrados: tipos de dispositivos semiconductores" , en Vocabulario electrotécnico internacional IEC 60050 ,2002( leer en línea ) , pág.  521-04-27.
  3. Comisión electrotécnica internacional , "Oscilaciones, señales y dispositivos relacionados: dispositivos y redes lineales y no lineales" , en Vocabulario electrotécnico internacional IEC 60050 ,1992( leer en línea ) , pág.  702-09-32.
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">