Representación de enteros y operaciones aritméticas en la ALU
Resumen
El documento explica cómo se representan los números enteros en la ALU, con signo-magnitud y complemento a 2, y cómo se convierten entre longitudes. Después describe las operaciones aritméticas: negación, suma, resta, multiplicación (incluido el algoritmo de Booth) y división con y sin signo. El estudiante aprenderá a trabajar con estos algoritmos a nivel de bits.
Puntos clave
- En signo-magnitud, el bit más significativo indica el signo y los demás bits la magnitud.
- En complemento a 2, los positivos se representan igual que en signo-magnitud y el bit más significativo tiene valor negativo.
- Para negar un entero en complemento a 2 se invierten todos los bits y se suma 1.
- La resta se realiza sumando al minuendo el complemento a 2 del sustraendo.
- La multiplicación con signo puede hacerse con el Algoritmo de Booth.
- En la división con signo se usan los registros A, Q y M, y el cociente se obtiene en Q con los ajustes de signo indicados.
Representación de Números Enteros y Operaciones en la Unidad Aritmético-Lógica (ALU)
La ALU (Unidad Aritmético-Lógica) es el componente del procesador que ejecuta las operaciones aritméticas y lógicas con los datos.
Representación de Números Enteros
- Signo-Magnitud: En un número de n bits, los n-1 bits de la derecha representan la magnitud y el bit más significativo (el bit n) representa el signo.
- Complemento a 2: Los números positivos se representan igual que en signo-magnitud. Para los negativos, el bit más significativo representa un valor negativo ( ), y el resto de los bits contribuyen con su valor posicional ( ), sumando todos los valores se obtiene el número.
Conversión de Enteros entre Longitudes
- Signo-magnitud: El bit más significativo se usa como signo y el resto se rellena con ceros.
- Complemento a 2: Se extiende el signo, rellenando el espacio adicional con el valor del bit de signo.
Operaciones Aritméticas
Negación de un entero (Complemento a 2): Para obtener la representación negativa de un entero, se invierten todos los bits (1s se convierten en 0s y viceversa) y luego se suma 1 al resultado.
- Suma: Se realiza de la misma forma aritmética que en el sistema decimal.
- Resta: Se calcula el complemento a 2 del sustraendo y se suma al minuendo.
- Multiplicación:
- Sin signo: Similar a la multiplicación decimal.
- Con signo: Se puede utilizar el Algoritmo de Booth.
- División:
- Sin signo: Se examinan los bits del dividendo de izquierda a derecha hasta que sean mayores o iguales que el divisor. Se colocan ceros en el cociente hasta que el divisor "quepa". Luego, se coloca un 1 en el cociente y se resta el divisor del dividendo parcial. El proceso se repite cíclicamente con el resto parcial y los bits restantes del dividendo.
- Con signo:
- Cargar el divisor en el registro M y el dividendo en los registros A y Q (el dividendo en complemento a dos de 2n bits).
- Desplazar A y Q una posición a la izquierda.
- Si M y A tienen el mismo signo, A <— A - M; si no, A <— A + M.
- La operación tiene éxito si el signo de A es el mismo antes y después.
- Si la operación tiene éxito o A = 0, entonces Q0 <— 1.
- Si no tiene éxito y A ≠ 0, entonces Q0 <— 0, y se restablece el valor anterior de A.
- Repetir los pasos 2 a 4 tantas veces como bits tenga Q.
- El resto queda en A. Si los signos del divisor y el dividendo eran iguales, el cociente está en Q; si no, el cociente correcto es el complemento a dos de Q.
Descargar
PDF Word HTMLPreguntas frecuentes
¿Cómo se niega un número en complemento a 2?
Se invierten todos los bits del número (los 1 pasan a 0 y viceversa) y, al resultado, se le suma 1.
¿Cómo se realiza una resta en la ALU?
Se calcula el complemento a 2 del sustraendo y se suma al minuendo.
¿Cómo se extiende un entero a una longitud mayor en complemento a 2?
Se extiende el signo, rellenando los bits adicionales con el valor del bit de signo.
Ponte a prueba
Tarjetas de repaso
Pulsa una tarjeta para ver la respuesta.
Test
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.