Ejemplo de algoritmo de booth

12
Ejemplo de Algoritmo de Booth CS440 Puntos a recordar Cuando se utiliza el algoritmo de Booth: o Usted necesitará el doble de bits en su producto como que tiene en su original de dos operandos. o El bit más a la izquierda de sus operandos (tanto multiplicando y multiplicador) es un bit de signo, y no puede ser utilizado como parte del valor. Para empezar Decida qué operando será el multiplicador y que será el multiplicando Convertir ambos operandos en complemento a dos la representación utilizando bits X o X debe ser al menos un poco más de lo necesario para la representación binaria del operando numéricamente más grande Comience con un producto que consiste en el multiplicador con una X adicional cero bits Ejemplo

Transcript of Ejemplo de algoritmo de booth

Page 1: Ejemplo de algoritmo de booth

Ejemplo de Algoritmo de Booth

CS440 

Puntos a recordar

 Cuando se utiliza el algoritmo de Booth:o Usted necesitará el doble de bits en su producto como que tiene en su

original de dos operandos.o El bit más a la izquierda de sus operandos (tanto multiplicando y

multiplicador) es un bit de signo, y no puede ser utilizado como parte del valor.

 Para empezar

Decida qué operando será el multiplicador y que será el multiplicando

Convertir ambos operandos en complemento a dos la representación utilizando bits X

o X debe ser al menos un poco más de lo necesario para la representación binaria del operando numéricamente más grande

Comience con un producto que consiste en el multiplicador con una X adicional cero bits

 Ejemplo

Un ejemplo de multiplicación de 2 x (-5) Para nuestro ejemplo, vamos a revertir la operación, y se multiplican (-5) x 2

o  El operando numéricamente mayor (5) se requieren 3 bits para representar en binario (101).  Así que debemos utilizar al menos 4 bits para representar los operandos, para permitir el bit de signo.

Vamos a usar 5-bit complemento a 2:o -5 Es 11011 (multiplicador)

Page 2: Ejemplo de algoritmo de booth

o 2 es 00010 (multiplicando)

 A partir de productos

 El multiplicador es:

     11011

Añadir 5 ceros a la izquierda para el multiplicador para obtener el producto de principio:

    00000 11011

 Paso 1 para cada paso

Utilice el LSB (bit menos significativo) y el LSB anterior para determinar la acción de la aritmética.

o Si es el primer paso, utilice 0 como el LSB anterior.

Aritmética de las acciones posibles:

o 00  ninguna operación aritmética

o  01  añadir multiplicando a la mitad izquierda del producto

o 10  restar multiplicando de la mitad izquierda del producto

o 11  ninguna operación aritmética

 Paso 2 para cada paso

Page 3: Ejemplo de algoritmo de booth

Realizar un cambio aritmético a la derecha (ASR) en todo el producto.

NOTA: Para operandos X-bit, algoritmo de Booth requiere X pasa.

 Ejemplo

Vamos a continuar con nuestro ejemplo de la multiplicación de (-5) x 2 Recuerde:

o -5 Es 11011 (multiplicador)o 2 es 00010 (multiplicando)

Y hemos añadido 5 ceros a la izquierda para el multiplicador para obtener el producto de principio:

         00000 11011

 Ejemplo continuación

Producto inicial y de las anteriores LSB

   00000 11011 0

(Nota: Ya que este es el primer paso, se utiliza 0 para el LSB anterior)

Paso 1, Paso 1:Examine los últimos 2 bits

   00000 1101 1 0 

Los dos últimos son de 10 bits, por lo que necesitamos:

Page 4: Ejemplo de algoritmo de booth

restar el multiplicando de la mitad izquierda del producto

 Ejemplo: Paso 1 continuación

 Paso 1, Paso 1: Aritmética de acción

 (1) 00.000 (a la izquierda de la mitad de los productos)

    -00.010 (Mulitplicand)

    11  110 (usa un fantasma prestado)

Lugar resultado en la mitad izquierda del producto

      11110 11011 0

 Ejemplo: Paso 1 continuación

Paso 1, Paso 2: ASR (desplazamiento a la derecha aritmética)

o Antes de ASR

           11110 11011 0

o  Después de ASR

   11111 01101 1

(a la izquierda-la mayoría fue de 1 bit, de modo que un 1 se desplazó en a la izquierda)

Paso 1 está completa.

Page 5: Ejemplo de algoritmo de booth

 Ejemplo: Paso 2

De productos actuales y anteriores LSB

   11111 01101 1  

Paso 2, Paso 1: Examine los últimos 2 bits

             11111 0110 1 1 

Los dos últimos son de 11 bits, por lo que NO es necesario realizar una acción aritmética --

 simplemente vaya al paso 2.

 Ejemplo: Paso 2 continuación

Paso 2, Paso 2: ASR (desplazamiento a la derecha aritmética)

o Antes de ASR

            11111 01101 1

o  Después de ASR

  11111 10110 1

 (a la izquierda-la mayoría fue de 1 bit, de modo que un 1 se desplazó en a la izquierda)

 Paso 2 está completo.

Page 6: Ejemplo de algoritmo de booth

 Ejemplo: Paso 3

De productos actuales y anteriores LSB

             11111 10110 1  

 Paso 3, Paso 1: Examine los últimos 2 bits

            11111 1011 0 1 

Los dos últimos bits son 01, por lo que necesitamos:

Añadir el multiplicando a la mitad izquierda del producto

 Ejemplo: Paso 3 continuación

 Paso 3, Paso 1: Aritmética de acción

  (1) 11.111 (a la izquierda de la mitad de los productos)

        00 010 (mulitplicand)

     00 001 (caída de llevar a la a la izquierda)

Lugar resultado en la mitad izquierda del producto

   00001 10110 1

Ejemplo: Paso 3 continuación

Paso 3, Paso 2: ASR (desplazamiento a la derecha aritmética)

o  Antes de ASR

Page 7: Ejemplo de algoritmo de booth

   00001 10110 1

o  Después de ASR

    00000 11011 0

 (a la izquierda-la mayoría poco fue de 0, por lo que se desplazó a 0 en el de la izquierda)

Paso 3 está completa.

 Ejemplo: Paso 4

De productos actuales y anteriores LSB

   00000 11011 0

Paso 4, Paso 1: Examine los últimos 2 bits

             00000 1101 1 0 

Los dos últimos son de 10 bits, por lo que necesitamos:

restar el multiplicando de la mitad izquierda del producto

 Ejemplo: Paso 4 continuación

 Paso 4, Paso 1: Aritmética de acción

   (1) 00.000 (a la izquierda de la mitad de los productos)

        -00.010 (Mulitplicand)

Page 8: Ejemplo de algoritmo de booth

      11 110 (usa un fantasma prestado)

Lugar resultado en la mitad izquierda del producto

    11110 11011 0

 Ejemplo: Paso 4 continuación

Paso 4, Paso 2: ASR (desplazamiento a la derecha aritmética)

o Antes de ASR

   11110 11011 0

o  Después de ASR

   11111 01101 1

 (a la izquierda-la mayoría fue de 1 bit, de modo que un 1 se desplazó en a la izquierda)

 Paso 4 es completo.

Ejemplo: Pase 5

De productos actuales y anteriores LSB

                11111 01101 1  

Pase 5, Paso 1: Examine los últimos 2 bits

                11111 0110 1 1 

Page 9: Ejemplo de algoritmo de booth

Los dos últimos son de 11 bits, por lo que NO es necesario realizar una acción aritmética --

simplemente vaya al paso 2.

 Ejemplo: Pase 5 continuó

Pase 5, Paso 2: ASR (desplazamiento a la derecha aritmética)

o  Antes de ASR

    11111 01101 1

o  Después de ASR

   11111 10110 1

 (a la izquierda-la mayoría fue de 1 bit, de modo que un 1 se desplazó en a la izquierda)

 Paso 5 es completa.

 Producto Final

 Hemos completado 5 pases de la 5-operandos poco, así que hemos terminado.

La eliminación de la LSB anterior, el producto final resultante es:

   11111 10110

Page 10: Ejemplo de algoritmo de booth

 Verificación

Para confirmar que tenemos la respuesta correcta, convertir el complemento a 2 producto final de nuevo a decimal.

Producto final: 11111 10110 Decimal Valor: -10

 que es el producto correcto de:

(-5) X 2 

http://translate.google.com.ec/translate?hl=es&langpair=en|es&u=http://academic.regis.edu/psmallwo/SitePages/CS440/Presentations/Wk1online-BoothsAlg.ppt