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 número 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 división con restauración. 5) Dividir 314 entre 28 utilizando el algoritmo de división sin restauración. NOTA: USAR PARA LA MULTIPLICACIÓN 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 DIVISIÓN 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 líneas consecutivas, no se vuelven a escribir. Nota 2: para restar, se puede usar la suma en complemento a 2. No se ha representado explícitamente el valor en complemento a 2 del sustraendo. Nota 3: en las operaciones de multiplicación, 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 número de bits. Nota 4: en las operaciones de división, se opera con la parte más 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 01XX 001X 0001 0001 R4 XXXXX 1XXXX 01XXX 101XX 0101X 00101 00101 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 DIVISIÓN CON RESTAURACIÓN BS R1a R1b 0 0 1110 1010 0011 1010 R2 R3 1011 00000 00001 0 1 0 0111 010 1100 010 0111 010 0 0 1110 10 0011 10 00010 00101 0 1 0 0111 0 1100 0 0111 0 01010 0 0 1110 0011 Resto Cociente 10101 Comentarios Inicio RESTA: R1a R1a-R2, BS=0 R3 1 Desplazamiento R1 izquierda RESTA: R1a R1a-R2, BS=1 RESTAURACIÓN: 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 RESTAURACIÓN: R1a R1a+R2 R3 0 Desplazamiento R1 izquierda RESTA: R1a R1a-R2, BS=0 R3 1 DIVISIÓN SIN RESTAURACIÓN BS R1a R1b R2 0 10011 1010 11100 1 10111 1010 R3 00000 00000 1 0 01111 010 01011 010 00001 0 1 10110 10 11010 10 1 0 10101 0 10001 0 1 0 00101 00010 00110 Resto Cociente 01011 00010 Comentarios Inicio R1a R1a-R2, BS=1, próx bucle + R3 BS’ Desplazamiento R1 izquierda R1a R1a+R2, BS=0, próx bucle R3 BS’ Desplazamiento R1 izquierda R1a R1a-R2, BS=1, próx bucle + R3 BS’ Desplazamiento R1 izquierda R1a R1a+R2, BS=0, próx bucle R3 BS’ Desplazamiento R1 izquierda R1a R1a-R2, BS=0 R3 BS’