Estrategia de prompts, primeras ideas para su construcción
Ejemplo de algoritmo de booth
1. Ejemplo de Algoritmo de Booth<br />CS440 <br />Puntos a recordar<br /> Cuando se utiliza el algoritmo de Booth:<br />Usted necesitará el doble de bits en su producto como que tiene en su original de dos operandos.<br />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.<br /> Para empezar<br />Decida qué operando será el multiplicador y que será el multiplicando<br />Convertir ambos operandos en complemento a dos la representación utilizando bits X<br />X debe ser al menos un poco más de lo necesario para la representación binaria del operando numéricamente más grande<br />Comience con un producto que consiste en el multiplicador con una X adicional cero bits<br /> Ejemplo<br />Un ejemplo de multiplicación de 2 x (-5)<br />Para nuestro ejemplo, vamos a revertir la operación, y se multiplican (-5) x 2<br /> 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.<br />Vamos a usar 5-bit complemento a 2:<br />-5 Es 11011 (multiplicador)<br />2 es 00010 (multiplicando)<br /> A partir de productos<br /> El multiplicador es:<br /> 11011<br />Añadir 5 ceros a la izquierda para el multiplicador para obtener el producto de principio:<br /> 00000 11011<br /> Paso 1 para cada paso<br />Utilice el LSB (bit menos significativo) y el LSB anterior para determinar la acción de la aritmética.<br />Si es el primer paso, utilice 0 como el LSB anterior.<br />Aritmética de las acciones posibles:<br />00 ninguna operación aritmética<br /> 01 añadir multiplicando a la mitad izquierda del producto<br />10 restar multiplicando de la mitad izquierda del producto<br />11 ninguna operación aritmética<br /> Paso 2 para cada paso<br />Realizar un cambio aritmético a la derecha (ASR) en todo el producto.<br />NOTA: Para operandos X-bit, algoritmo de Booth requiere X pasa.<br /> Ejemplo<br />Vamos a continuar con nuestro ejemplo de la multiplicación de (-5) x 2<br />Recuerde:<br />-5 Es 11011 (multiplicador)<br />2 es 00010 (multiplicando)<br />Y hemos añadido 5 ceros a la izquierda para el multiplicador para obtener el producto de principio:<br /> 00000 11011<br /> Ejemplo continuación<br />Producto inicial y de las anteriores LSB<br /> 00000 11011 0<br />(Nota: Ya que este es el primer paso, se utiliza 0 para el LSB anterior)<br />Paso 1, Paso 1:Examine los últimos 2 bits<br /> 00000 1101 1 0 <br />Los dos últimos son de 10 bits, por lo que necesitamos:<br />restar el multiplicando de la mitad izquierda del producto<br /> Ejemplo: Paso 1 continuación<br /> Paso 1, Paso 1: Aritmética de acción<br /> (1) 00.000 (a la izquierda de la mitad de los productos)<br /> -00.010 (Mulitplicand)<br /> 11 110 (usa un fantasma prestado)<br />Lugar resultado en la mitad izquierda del producto<br /> 11110 11011 0<br /> Ejemplo: Paso 1 continuación<br />Paso 1, Paso 2: ASR (desplazamiento a la derecha aritmética)<br />Antes de ASR<br /> 11110 11011 0<br /> Después de ASR<br /> 11111 01101 1<br />(a la izquierda-la mayoría fue de 1 bit, de modo que un 1 se desplazó en a la izquierda)<br />Paso 1 está completa.<br /> Ejemplo: Paso 2<br />De productos actuales y anteriores LSB<br /> 11111 01101 1 <br />Paso 2, Paso 1: Examine los últimos 2 bits<br /> 11111 0110 1 1 <br />Los dos últimos son de 11 bits, por lo que NO es necesario realizar una acción aritmética --<br /> simplemente vaya al paso 2.<br /> Ejemplo: Paso 2 continuación<br />Paso 2, Paso 2: ASR (desplazamiento a la derecha aritmética)<br />Antes de ASR<br /> 11111 01101 1<br /> Después de ASR<br /> 11111 10110 1<br /> (a la izquierda-la mayoría fue de 1 bit, de modo que un 1 se desplazó en a la izquierda)<br /> Paso 2 está completo.<br /> Ejemplo: Paso 3<br />De productos actuales y anteriores LSB<br /> 11111 10110 1 <br /> Paso 3, Paso 1: Examine los últimos 2 bits<br /> 11111 1011 0 1 <br />Los dos últimos bits son 01, por lo que necesitamos:<br />Añadir el multiplicando a la mitad izquierda del producto<br /> Ejemplo: Paso 3 continuación<br /> Paso 3, Paso 1: Aritmética de acción<br /> (1) 11.111 (a la izquierda de la mitad de los productos)<br /> 00 010 (mulitplicand)<br /> 00 001 (caída de llevar a la a la izquierda)<br />Lugar resultado en la mitad izquierda del producto<br /> 00001 10110 1<br />Ejemplo: Paso 3 continuación<br />Paso 3, Paso 2: ASR (desplazamiento a la derecha aritmética)<br /> Antes de ASR<br /> 00001 10110 1<br /> Después de ASR<br /> 00000 11011 0<br /> (a la izquierda-la mayoría poco fue de 0, por lo que se desplazó a 0 en el de la izquierda)<br />Paso 3 está completa.<br /> Ejemplo: Paso 4<br />De productos actuales y anteriores LSB<br /> 00000 11011 0<br />Paso 4, Paso 1: Examine los últimos 2 bits<br /> 00000 1101 1 0 <br />Los dos últimos son de 10 bits, por lo que necesitamos:<br />restar el multiplicando de la mitad izquierda del producto<br /> Ejemplo: Paso 4 continuación<br /> Paso 4, Paso 1: Aritmética de acción<br /> (1) 00.000 (a la izquierda de la mitad de los productos)<br /> -00.010 (Mulitplicand)<br /> 11 110 (usa un fantasma prestado)<br />Lugar resultado en la mitad izquierda del producto<br /> 11110 11011 0<br /> Ejemplo: Paso 4 continuación<br />Paso 4, Paso 2: ASR (desplazamiento a la derecha aritmética)<br />Antes de ASR<br /> 11110 11011 0<br /> Después de ASR<br /> 11111 01101 1<br /> (a la izquierda-la mayoría fue de 1 bit, de modo que un 1 se desplazó en a la izquierda)<br /> Paso 4 es completo.<br />Ejemplo: Pase 5<br />De productos actuales y anteriores LSB<br /> 11111 01101 1 <br />Pase 5, Paso 1: Examine los últimos 2 bits<br /> 11111 0110 1 1 <br />Los dos últimos son de 11 bits, por lo que NO es necesario realizar una acción aritmética --<br />simplemente vaya al paso 2.<br /> Ejemplo: Pase 5 continuó<br />Pase 5, Paso 2: ASR (desplazamiento a la derecha aritmética)<br /> Antes de ASR<br /> 11111 01101 1<br /> Después de ASR<br /> 11111 10110 1<br /> (a la izquierda-la mayoría fue de 1 bit, de modo que un 1 se desplazó en a la izquierda)<br /> Paso 5 es completa.<br /> Producto Final<br /> Hemos completado 5 pases de la 5-operandos poco, así que hemos terminado.<br />La eliminación de la LSB anterior, el producto final resultante es:<br /> 11111 10110<br /> Verificación<br />Para confirmar que tenemos la respuesta correcta, convertir el complemento a 2 producto final de nuevo a decimal.<br />Producto final: 11111 10110<br />Decimal Valor: -10<br /> que es el producto correcto de:<br />(-5) X 2 <br />http://translate.google.com.ec/translate?hl=es&langpair=en|es&u=http://academic.regis.edu/psmallwo/SitePages/CS440/Presentations/Wk1online-BoothsAlg.ppt<br />