Aritmética del Procesador Gustavo Andrés Uribe Gómez
ALU
Representacion de enteros Se usa el sistema binario (1 y 0) El computador no almacena números negativo. Una palabra de n bits puede representar hasta el número 2n-1. Convertir a binario y a hexadecimal: 45, 30, -12 Convertir a decimal 1010102, FEA316.
Representación Negativos en Magnitud El bit más significativo indica el signo Problemas: Dos representaciones para el 0. Las operaciones aritméticas deben tener en cuenta el signo.
Representación Negativos Complemento a Dos +3=0011 +2=0010 +1=0001 0=000 -1=1111 -2=1110 -3=1101 Para obtener un negativo se niega cada bit y se suma 1. En este caso las operaciones aritméticas tratan indiferentemente a los números negativos o positivos. No se necesita circuito de resta.
Representación Negativos Complemento a Dos 4 bit complemento a 2 310=00112 -210=11102 -410=11002 8 bit 310=000000112 -210= 111111102 -410=111111002 16 bit?
Suma y Resta de Enteros
Suma y Resta de Enteros
Multiplicación Sin Signo
Multiplicación Complemento a Dos El algoritmo para números con signo no funciona Soluciones: Convertir todos los números a positivos y negar la salida en el caso de que inicialmente los signos sean distintos. (Ejemplo) Algoritmo de Booth
Algoritmo de Booth M es el multiplicando, Q el multiplicador, Q-1 es un registro donde se almacena el estado anterior del bit menos significativo de Q. Q0 es el estado actual del bit menos significativo de Q. El resultado es almacenado en A y Q. n es el tamaño de Q.
Algoritmo de Booth El shift que se realiza es un shift aritmético es decir que conserva el signo.
Algoritmo de Booth E Ejercicio: Multiplicar 5x3 y -5x3 La base matemática del algortimo se encuentra en el libro capítulo 9.
División Sin Signo
División Sin Signo
División con signo Ejercicio: Realizar la división 7/-3 y -7/3 Se usa un registro M para almacenar el divisor en este caso 00112 (3). Para realizar la división se siguen los siguientes pasos: En A y Q se almacena el dividendo expresado como un número complemento a dos de 2n bits. Se realiza un corrimiento hacia la izquierda de los registros A y Q. Si los registros M y A tienen el mismo signo se realiza A=A-M en caso contrario se realiza A=A+M. Si el signo de A a cambiado se fija Q0 en 0 y se restaura el valor anterior de A. En caso de que el signo de A no cambie se fija Q0 en 1. Se repiten los pasos del 2 al 4 tantas veces como bits tenga Q. El residuo esta en A, si los signos del divisor y el dividendo son los mismos el cociente esta en Q, sino el cociente es el complemento a 2 de Q.
Representación de Coma Flotante Al "baised exponent" se le debe restar un número llamado bias (2k-1 -1) para obtener el verdadero exponente. k en la formula es el número de bits del exponente.
Representación de Coma Flotante
Representación de Coma Flotante (IEEE 754) Ejercicio: Representar 13,62510 y 260,1562510 en las dos representaciones.
Representación de Coma Flotante (IEEE 754)
Representación de Coma Flotante (IEEE 754) NaN: Not a Number, que significa una excepción indicando que no es un número representable con coma flotante.
Suma y Resta de Coma Flotante En resumen se mira si alguno de los sumandos es cero, sino se procede a poner los sumandos con el mismo exponente. Se suman las partes fraccionarias y luego se normaliza el resultado.
Multiplicación de Coma Flotante
División de Coma Flotante
Gracias "El estudio profundo de la naturaleza es la fuente más fuerte de los descubrimientos matemáticos" Joseph Fourier "El propio Dios geometriza" Platón