fbpx
Wikipedia

Algoritmo de Booth

El algoritmo de multiplicación de Booth es un algoritmo de multiplicación que multiplica dos números binarios con signo en la notación de complemento a dos. El algoritmo fue inventado por Andrew Donald Booth en 1950 mientras que hacía investigación sobre cristalografía en la Universidad de Bloomsbury, en Birkbeck, Londres. Booth usaba calculadoras de escritorio que eran más rápidas en el desplazamiento que sumando, y creó el algoritmo para aumentar su velocidad. El algoritmo de Booth es de interés en el estudio de la arquitectura de computadoras.

El algoritmo

El algoritmo de Booth examina pares adyacentes de bits del multiplicador Y de N-bits en la representación de complemento dos con signo, incluyendo un bit implícito debajo del bit menos significativo, y-1 = 0. Para cada bit yi, para i corriendo desde 0 hasta N-1, los bits yi e yi-1 son considerados. Cuando estos dos bits son iguales, el acumulador del producto P se deja sin cambios. Cuando yi = 0 e yi-1 = 1, el multiplicando multiplicado por 2i es agregado a P; y cuando yi = 1 e yi-1 = 0, el multiplicando multiplicado por 2i es restado de P. El valor final de P es el producto con signo.

La representación del multiplicando y del producto no son especificadas; típicamente, éstos también están ambos en la representación de complemento dos, como el multiplicador, pero cualquier sistema de numeración que soporte la adición y la substracción trabajará igual de bien. Según lo indicado aquí, el orden de los pasos no está determinado. Típicamente, procede desde el bit menos significativo (LSB) al bit más significativo (MSB), comenzando en i = 0; la multiplicación por 2i es entonces típicamente reemplazado por el desplazamiento (shifting) incremental del acumulador P a la derecha entre los pasos; los bits bajos pueden ser desplazados hacia fuera, y las adiciones y substracciones subsecuentes entonces pueden ser hechas justo en los N bits más altos de P.[1]​ Hay muchas variaciones y optimizaciones sobre estos detalles.

El algoritmo es a menudo descrito como convertir secuencias de 1s en el multiplicador con un +1 de orden alto y un -1 de orden inferior en los extremos de la secuencia. Cuando una secuencia corre por el MSB, no hay +1 de orden alto, y el efecto neto es la interpretación como un negativo de valor apropiado.

Procedimiento

Sean dos números, multiplicando y multiplicador, con longitudes en bits, x para el primero, e Y para el segundo:

  • Se construye una matriz de tres filas y x+y+1 columnas. Se identifica las filas como, A la primera, S la segunda y P la tercera.
  • Se inician los x primeros bits de cada fila con:
  • Los siguientes y bits se completan con:
    • A, ceros.
    • S, ceros.
    • P, el multiplicador.
  • Para finalizar la matriz, se inician a 0 todos los valores de la última columna.

Una vez iniciada esta matriz, se realiza el algoritmo.

  • Se realizan y iteraciones del siguiente bucle.
    1. Se comparan los dos bits menos significativos de P, para realizar la siguiente acción:
      • 00 o 11: no se hace nada.
      • 01: P = P + A. Se ignora el desbordamiento (overflow).
      • 10: P = P + S. Se ignora el desbordamiento.
    2. Desplazamiento aritmético de P a la derecha (se conserva el bit de signo).
  • Finalmente, tras y iteraciones, se elimina (mediante un desplazamiento) el último bit de la derecha (menos significativo), obteniendo el resultado.

Referencias

  1. Chi-hau Chen (1988). Signal processing handbook. CRC Press. p. 234. ISBN 9780824779566. 

Véase también

Enlaces externos

  • Radix-4 Booth Encoding
  • in
  • Booth's Algorithm JavaScript Simulator
  • Implementation in Python
  •   Datos: Q477049

algoritmo, booth, algoritmo, multiplicación, booth, algoritmo, multiplicación, multiplica, números, binarios, signo, notación, complemento, algoritmo, inventado, andrew, donald, booth, 1950, mientras, hacía, investigación, sobre, cristalografía, universidad, b. El algoritmo de multiplicacion de Booth es un algoritmo de multiplicacion que multiplica dos numeros binarios con signo en la notacion de complemento a dos El algoritmo fue inventado por Andrew Donald Booth en 1950 mientras que hacia investigacion sobre cristalografia en la Universidad de Bloomsbury en Birkbeck Londres Booth usaba calculadoras de escritorio que eran mas rapidas en el desplazamiento que sumando y creo el algoritmo para aumentar su velocidad El algoritmo de Booth es de interes en el estudio de la arquitectura de computadoras Indice 1 El algoritmo 2 Procedimiento 3 Referencias 4 Vease tambien 5 Enlaces externosEl algoritmo EditarEl algoritmo de Booth examina pares adyacentes de bits del multiplicador Y de N bits en la representacion de complemento dos con signo incluyendo un bit implicito debajo del bit menos significativo y 1 0 Para cada bit yi para i corriendo desde 0 hasta N 1 los bits yi e yi 1 son considerados Cuando estos dos bits son iguales el acumulador del producto P se deja sin cambios Cuando yi 0 e yi 1 1 el multiplicando multiplicado por 2i es agregado a P y cuando yi 1 e yi 1 0 el multiplicando multiplicado por 2i es restado de P El valor final de P es el producto con signo La representacion del multiplicando y del producto no son especificadas tipicamente estos tambien estan ambos en la representacion de complemento dos como el multiplicador pero cualquier sistema de numeracion que soporte la adicion y la substraccion trabajara igual de bien Segun lo indicado aqui el orden de los pasos no esta determinado Tipicamente procede desde el bit menos significativo LSB al bit mas significativo MSB comenzando en i 0 la multiplicacion por 2i es entonces tipicamente reemplazado por el desplazamiento shifting incremental del acumulador P a la derecha entre los pasos los bits bajos pueden ser desplazados hacia fuera y las adiciones y substracciones subsecuentes entonces pueden ser hechas justo en los N bits mas altos de P 1 Hay muchas variaciones y optimizaciones sobre estos detalles El algoritmo es a menudo descrito como convertir secuencias de 1s en el multiplicador con un 1 de orden alto y un 1 de orden inferior en los extremos de la secuencia Cuando una secuencia corre por el MSB no hay 1 de orden alto y el efecto neto es la interpretacion como un negativo de valor apropiado Procedimiento EditarSean dos numeros multiplicando y multiplicador con longitudes en bits x para el primero e Y para el segundo Se construye una matriz de tres filas y x y 1 columnas Se identifica las filas como A la primera S la segunda y P la tercera Se inician los x primeros bits de cada fila con A el multiplicando S el complemento a dos del multiplicando P ceros Los siguientes y bits se completan con A ceros S ceros P el multiplicador Para finalizar la matriz se inician a 0 todos los valores de la ultima columna Una vez iniciada esta matriz se realiza el algoritmo Se realizan y iteraciones del siguiente bucle Se comparan los dos bits menos significativos de P para realizar la siguiente accion 00 o 11 no se hace nada 01 P P A Se ignora el desbordamiento overflow 10 P P S Se ignora el desbordamiento Desplazamiento aritmetico de P a la derecha se conserva el bit de signo Finalmente tras y iteraciones se elimina mediante un desplazamiento el ultimo bit de la derecha menos significativo obteniendo el resultado Referencias Editar Chi hau Chen 1988 Signal processing handbook CRC Press p 234 ISBN 9780824779566 Vease tambien EditarAlgoritmo de multiplicacionEnlaces externos EditarRadix 4 Booth Encoding Radix 8 Booth Encoding in A Formal Theory of RTL and Computer Arithmetic Booth s Algorithm JavaScript Simulator Implementation in Verilog Implementation in Python Datos Q477049Obtenido de https es wikipedia org w index php title Algoritmo de Booth amp oldid 135551571, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos