You are on page 1of 18

Aritmtica de Computadoras

Jos Acosta

Temas a Tratar

Unidad Aritmtico Lgica Representacin de enteros Aritmtica con enteros Representacin en coma flotante Aritmtica en coma flotante

Referencia: Organizacin y Arquitectura de Computadores William Stallings 7 ed. Cap. 9

Unidad Aritmtico Lgica


Hace los clculos Cualquier dispositivo de la computadora esta ah para servir a esta unidad Maneja nmeros enteros Puede manejar nmeros de punto flotante Puede tener unidad de punto flotante separada (co-procesador matemtico ) La UPF puede estar en chip separado (486DX +)

ALU
Entradas y Salidas

Unidad de Control

Indicadores

ALU
Registros Registros

Representacin de Enteros

Solo tiene 0 & 1 para representar todo Nmeros positivos almacenado en binario

Ejm. 41=00101001

Para proceso y almacenamiento no se dispone de signo ni punto (coma) decimal Se emplean convenciones alternativas para negativos y decimales

Representacin de Enteros
Signo-Magnitud

Se usa el MSB (extremo izquierdo) como bit de signo 0 significa positivo y 1 significa negativo:
+18 = 00010010 -18 = 10010010

Limitaciones

Necesidad de considerar tanto el signo como la magnitud en operaciones aritmticas Dificultad para representar el 0:

+0 = 00000000 - 0 = 10000000

Representacin de Enteros
Complemento a 2

Se usa el MSB (extremo izquierdo) como bit de signo Facilidad de implementacin:


Entero: 3 = 00000011 Complemento a 1 = 11111100 (inversin bits NOT) Complemento a 2 = 11111101 (se suma 1 al LSB)

Ventajas

Representacin nica del 0 (con signo +) Facilita ejecucin de operaciones aritmticas

Representacin de Enteros
Comparacin de representaciones
Decimal +3 +2 +1 +0 -0 -1 -2 -3 Signo-Magnitud 0011 0010 0001 0000 1000 1001 1010 1011 Complemento a 2 0011 0010 0001 0000 1111 1110 1101 Sesgada 1010 1001 1000 0111 0110 0101 0100

Representacin de Enteros
Conversin entre longitudes distintas

En notacin signomagnitud, se traslada signo a MSB y se rellena con ceros los bits restantes:
+18 = 00010010 Signo-magnitud 8 bits +18 = 0000000000010010 Signo-magnitud 16 bits -18 = 10010010 Signo-magnitud 8 bits -18 = 1000000000010010 Signo-magnitud 16 bits

En notacin complemento a 2, se traslada signo a MSB y se rellena con ceros los bits restantes si el entero es positivo y con 1 si es negativo:
+18 = 00010010 Entero 8 bits -18 = 11101110 Complemento a 2, 8 bits -18 = 1111111111101110 Complemento a 2, 16 bits

Aritmtica con Enteros


Negacin

En notacin signomagnitud, se invierte el bit de signo En notacin complemento a 2: Se complementan los bits del entero Sumar 1 Se dan 2 casos especiales:

Caso especial 1
0 = 00000000 Complemento a 1 = 11111111 +1 0 = 1 00000000 Se descarta acarreo final

Caso especial 2
-128 = 10000000 Complemento a 1 = 01111111 +1 -128 = 10000000 - (-128) = -128

Aritmtica con Enteros


Suma y Resta

La suma es adicion binaria normal, como si fuesen nmeros enteros sin signo Si hay bit de acarreo final se descarta Regla de desbordamiento: al sumar 2 nmeros y ambos son positivos o negativos, se produce desbordamiento si y solo si el resultado tiene signo opuesto

Regla de la Resta: para sustraer un numero (el sustraendo) de otro (minuendo), se obtiene el complemento a 2 del sustraendo y se le suma al minuendo

Aritmtica con Enteros


Hardware para Suma y Resta
Registro RegistroB B Registro RegistroA A

Complementador Complementador

SW SW

OF OF
OF = Bit de desbordamiento SW = Switch suma o resta

Sumador Sumador

Aritmtica con Enteros


Multiplicacin

La suma es adicion binaria normal, como si fuesen nmeros enteros sin signo Si hay bit de acarreo final se descarta Regla de desbordamiento: al sumar 2 nmeros y ambos son positivos o negativos, se produce desbordamiento si y solo si el resultado tiene signo opuesto

Regla de la Resta: para sustraer un numero (el sustraendo) de otro (minuendo), se obtiene el complemento a 2 del sustraendo y se le suma al minuendo

Aritmtica con Enteros


Multiplicacin sin signo
1011 Multiplicando (11 decimal) x 1101 Multiplicador (13 decimal) 1011 Productos parciales 0000 Nota: si bit multiplicador es 1 copiar 1011 multiplicando de otro modo es cero 1011 10001111 Producto (143 decimal) Nota: resultado de doble longitud

Aritmtica con Enteros


Algoritmo de Multiplicacin sin signo
Inicio Inicio C, A 00 C, A M Multiplicando M Multiplicando Q Multiplicador Q Multiplicador Contador nn Contador

NO Q0 = 1?

SI

C, A C, A Desplazamiento Desplazamiento aritmtico aa la derecha: aritmtico la derecha: C, A, Q, C, A, Q, Contador Contador -11 Contador Contador

A ++ M A M

NO

Contador=0? Contador=0?

SI

Fin Fin

Producto en A, Q

Aritmtica con Enteros


Multiplicacin con signo

No funciona algoritmo anterior Se puede: Otro: usar algoritmo de Booth tiene signo opuesto

Inicio Inicio A 00 -1 A 00 Q Q -1 M Multiplicando M Multiplicando Q Q Multiplicador Multiplicador Contador Contador nn

= 10 A A A -M A M

Q0, Q-1 = 11 = 00

= 01 A A A ++ M A M

Desplazamiento Desplazamiento Aritmtico aa la derecha: Aritmtico la derecha: A, Q, Q-1 A, Q, Q-1 Contador Contador -11 Contador Contador

NO

Contador=0? Contador=0?

SI

Fin Fin

Aritmtica con Enteros


Algoritmo de Booth
Inicio Inicio A 00 -1 A 00 Q Q -1 M Multiplicando M Multiplicando Q Q Multiplicador Multiplicador Contador Contador nn

= 10 Q0, Q-1 A A A -M A M = 11 = 00

= 01

A A

A ++ M A M

Desplazamiento Desplazamiento Aritmtico aa la derecha: Aritmtico la derecha: A, Q, Q-1 A, Q, Q-1 Contador Contador -11 Contador Contador

NO

Contador=0? Contador=0?

SI

Fin Fin

Rango de Nmeros

8 bit 2do complemento


+127 = 01111111 = 27 -1 -128 = 10000000 = -27 +32767 = 011111111 11111111 = 215 - 1 -32768 = 100000000 00000000 = -215

16 bit 2do complemento

You might also like