Anda di halaman 1dari 3

Realizar las operaciones siguientes, utilizando el algoritmo indicado.

Para ello, escribir los contenidos de los registros en los sucesivos instantes de tiempo, marcando el resultado final. En todos los casos, utilizar el menor nmero de bits. 1) Multiplicar 12 x 18 utilizando el algoritmo de suma desplazamiento. 2) Multiplicar 21 x 13 utilizando el algoritmo de suma de sumas y restas. 3) Multiplicar 17 x (-11) utilizando el algoritmo de Booth. 4) Dividir 234 entre 11 utilizando el algoritmo de divisin con restauracin. 5) Dividir 314 entre 28 utilizando el algoritmo de divisin sin restauracin.

NOTA: USAR PARA LA MULTIPLICACIN LOS SIGUIENTES REGISTROS R1: multiplicando. R2: multiplicador. C-R3: resultados provisionales con bit de signo C C-R3-R4: Resultado final

NOTA: USAR PARA LA DIVISIN LOS SIGUIENTES REGISTROS BS: Bit de signo. R1: Dividendo. R2: Divisor. R3: Cociente provisional y definitivo. NOTAS PREVIAS
Nota 1: en todos los casos, los registros que no cambien en dos lneas consecutivas, no se vuelven a escribir. Nota 2: para restar, se puede usar la suma en complemento a 2. No se ha representado explcitamente el valor en complemento a 2 del sustraendo. Nota 3: en las operaciones de multiplicacin, se ha optado por usar un registro R4 distinto del R2 para no perder el valor inicial del multiplicador. R2 y R4 tienen el mismo nmero de bits. Nota 4: en las operaciones de divisin, se opera con la parte ms significativa del dividendo residual, llamada R1a, con el divisor R2. Ambos tienen la misma cantidad de bits.

SUMA DESPLAZAMIENTO R1 R2 C R3 0 1100 10010 0 0000 0 0000 01001 0 1100 0 0110 10100 0 0011 01010 0 0001 00101 0 1101 0 0110 10010 0 0110 SUMAS Y RESTAS R1 R2 R2-1 C R3 0 10101 1101 0 0 00000 1 01011 1 10101 0110 1 0 01010 0 00101 1011 0 1 10000 1 11000 0101 1 1 11000 1 11100 0 10001 0 10001 ALGORITMO DE BOOTH R1 R2 R2-1 C R3 0 10001 10101 0 0 00000 1 01111 1 10111 01010 1 0 01000 0 00100 10101 0 1 10011 1 11001 01010 1 0 01010 0 00101 10101 0 1 10100 1 11010 1 11010

R4 XXXXX 0XXXX

00XXX 000XX 1000X

11000 11000 R4 XXXX 1XXX

Comentarios Inicio Desplaza CR3R4 derecha Rota R2 R3 R1+R3 Desplaza CR3R4 derecha Rota R2 Desplaza CR3R4 derecha Rota R2 Desplaza CR3R4 derecha Rota R2 R3 R1+R3 Desplaza CR3R4 derecha Rota R2 Fin Comentarios Inicio R3R3-R1 Desplaza CR3R4 derecha Rota R2-R2-1 R3R3+R1 Desplaza CR3R4 derecha Rota R2-R2-1 R3R3-R1 Desplaza CR3R4 derecha Rota R2-R2-1 No opera Desplaza CR3R4 derecha R3R3+R1 Fin Comentarios Inicio R3R3-R1 Desplaza CR3R4 derecha Rota R2-R2-1 R3R3+R1 Desplaza CR3R4 derecha Rota R2-R2-1 R3R3-R1 Desplaza CR3R4 derecha Rota R2-R2-1 R3R3+R1 Desplaza CR3R4 derecha Rota R2-R2-1 R3R3-R1 Desplaza CR3R4 derecha Fin

01XX

001X

0001 0001 R4 XXXXX 1XXXX

01XXX

101XX

0101X

00101 00101

DIVISIN CON RESTAURACIN BS R1a R1b 0 0 0 1 0 0 0 0 1 0 0 0 1110 1010 0011 1010 0111 010 1100 010 0111 010 00010 1110 10 0011 10 00101 0111 0 1100 0 0111 0 01010 1110 0011 Resto Cociente 10101 R2 R3 Comentarios Inicio RESTA: R1a R1a-R2, BS=0 R3 1 Desplazamiento R1 izquierda RESTA: R1a R1a-R2, BS=1 RESTAURACIN: R1a R1a+R2 R3 0 Desplazamiento R1 izquierda RESTA: R1a R1a-R2, BS=0 R3 1 Desplazamiento R1 izquierda RESTA: R1a R1a-R2, BS=1 RESTAURACIN: R1a R1a+R2 R3 0 Desplazamiento R1 izquierda RESTA: R1a R1a-R2, BS=0 R3 1

1011 00000 00001

DIVISIN SIN RESTAURACIN BS R1a R1b R2 0 10011 1010 11100 1 10111 1010 1 0 0 1 1 0 1 0 01111 010 01011 010 00001 10110 10 11010 10 00010 10101 0 10001 0 00101 00010 00110 Resto Cociente 01011 R3 00000 00000 Comentarios Inicio R1a R1a-R2, BS=1, prx bucle + R3 BS Desplazamiento R1 izquierda R1a R1a+R2, BS=0, prx bucle R3 BS Desplazamiento R1 izquierda R1a R1a-R2, BS=1, prx bucle + R3 BS Desplazamiento R1 izquierda R1a R1a+R2, BS=0, prx bucle R3 BS Desplazamiento R1 izquierda R1a R1a-R2, BS=0 R3 BS