Unidad Aritmética Lógica

Anuncio
Algoritmos
Multiplicación
División
1
Algoritmos de Multiplicación

Producto = Multiplicando * Multiplicador
P
: producto
 R: Multiplicando
 Q: Multiplicador

P=R*Q
2
Algoritmos de Multiplicación

Primer Algoritmo.
3
Algoritmos de Multiplicación

Primer Algoritmo.
4
Algoritmos de Multiplicación

Segundo Algoritmo
5
Algoritmos de Multiplicación

Segundo Algoritmo
6
Algoritmos de Multiplicación

Segundo
Algoritmo
Ejemplo 0010 * 0011
Multiplicador
0
1
2
3
4
Multiplicando
Producto
0011
0010
00000000
0011
0010
00100000
0011
0010
00010000
0001
0010
00010000
0001
0010
00110000
0001
0010
00011000
0000
0010
00011000
0000
0010
00011000
0000
0010
00001100
0000
0010
00001100
0000
0010
00000110
0000
0010
00000110
7
0000
0010
00000110
Algoritmos de Multiplicación

Tercer Algoritmo
8
Algoritmos de Multiplicación

Tercer Algoritmo
9
Algoritmos de Multiplicación

Tercer Algoritmo
 Ejemplo
Multiplicando
0010
Producto
00000011
0010
00100011
1
0010
00010001
2
0010
00110001
0010
00011000
0010
00011000
0010
00001100
0010
00001100
0010
00000110
0
3
4
10
Algoritmos de Multiplicación

Algoritmo Booth’s (operandos con signo)
 Multiplicando
 Multiplicador
0010
1001
Multiplicando Producto Multiplicador
0010
0000 10010
qi qi-1
11
Algoritmos de Multiplicación

Algoritmo Booth’s (operandos con signo)
 Suma
o Resta el multiplicando a la mitad
izquierda del producto y coloca el resultado en la
mitad izquierda del producto:

Si qi = 0 y qi-1 = 1
 suma

Si qi = 1 y qi-1 = 0
 resta

Si qi = qi-1
operación.
 Desplaza
 no se efectúa ninguna
1 bit a la derecha registro producto.
12
Algoritmos de Multiplicación

Algoritmo Booth’s (operandos con signo)
Multiplicando
Producto Multiplicador
0010
0000 1001 0
qi = 1 y qi-1 = 0, resta
0010
1110 1001 0
se desplaza 1 bit
0010
1111 0100 1
qi = 0 y qi-1 = 1, suma
0010
0001 0100 1
se desplaza 1 bit
0010
0000 1010 0
qi = qi-1 = 0, solo se desplaza 1 bit
0010
0000 0101 0
qi = 1 y qi-1 = 0, resta
0010
1110 0101 0
se desplaza 1 bit
0010
1111 0010 1
13
Algoritmos de División

Dividendo = Cuociente * Divisor + Resto
14
Algoritmos de División

Primer Algoritmo
15
Algoritmos de División

Primer Algoritmo
16
Algoritmos de División

Segundo Algoritmo
17
Algoritmos de División

Segundo Algoritmo
18
Algoritmos de División

Tercer Algoritmo
19
Algoritmos de División

Tercer Algoritmo
20
Punto Flotante: Suma

Ejemplo: sumar los números
 9,99910*10
1
+ 1,61010 * 10-1
 Asuma
que solo se puede almacenar cuatro
dígitos significativos y dos dígitos para el
exponente.
 Cómo se realiza esta suma ?
21
Punto Flotante: Suma

Primero alinear el punto decimal de el
número que posee menor exponente:
 1,61010*10

-1
= 0,161010*100 = 0.0161010*101
Sumar ambos significandos (mantisa)
9,99910
+ 0,01610
10,01510
→ 10,01510 * 101
22
Punto Flotante: Suma

Número flotante normalizado
 10,01510

* 101 = 1,001510 * 102
Se asume que se puede almacenar cuatro
dígitos significativos, por lo que se debe
redondear el número.
2
1,002
*
10

10
23
Punto Flotante: Suma
Inicio
Compara los exponentes de los dos número;
Efectúa un corrimiento a la derecha del número
más pequeño hasta que el exponente
sea igual al del otro número
Suma los significandos
Normaliza la suma, realiza corrimiento:
hacia la derecha e incrementa el exponente,
O
Hacia la izquierda y decremeta el exponente
si
Overflow o
underflow
Excepción
no
Redondear significando de acuerdo al
Número de bits
no
Normalizado ?
si
Fin
24
Punto Flotante: Suma
25
Punto Flotante: Multiplicación

Ejemplo: multiplicar los números
 1,11010*10
10
x 9,20010 * 10-5
Asuma que solo se puede almacenar
cuatro dígitos significativos y dos dígitos
para el exponente.
 Cómo se realiza esta multiplicación ?

26
Punto Flotante: Multiplicación

Se calcula el exponente: sumando los
exponentes de los operandos
 Directo
10+ (-5) = 5
 O polarizado
10 + 127 = 137
 -5 + 127 = 122
 Nuevo exponente

= 137 +122 – 127 = 259 – 127 = 132 = 5 + 127
27
Punto Flotante: Multiplicación

A
continuación
significandos.
se
multiplican
los
1,11010
x
9,20010
0000
0000
2220
9990
1021200010 → 10,21200010
10,21210* 105
28
Punto Flotante: Multiplicación

Normalizar
10,21210* 105 = 1,021210* 106

Redondear
1,02110* 106

Signo
 El
signo del producto depende de los signos
de ambos operandos

Si el signo de ambos es igual , el signo resultado es
positivo, en otro caso es negativo
+1,02110* 106
29
Punto Flotante: Multiplicación

Ejemplo en base 2
 1,0002

* 2-1 x -1,1102 * 2-2
Sumando exponentes


(-1 -2) + 127 = 124
(-1 +127) + (-2 + 127) -127 = 124
30
Punto Flotante: Multiplicación

Multiplicando significandos
1.0002
x 1.1102
0000
1000
1000
1000
11100002
→ 1,1100002 * 2-3
31
Punto Flotante: Multiplicación

Verificar si esta normalizado y verificar el
exponente, overflow o underflow
(254 >= Ei >= 1)

Redondear
1,1102 * 2-3

Signo
-3
-1,110
*
2

2
32
Punto Flotante: Multiplicación
Inicio
Suma los exponentes polarizados de los
dos números y resta la polarización
obteniendo así en nuevo exponente
Multiplica los significandos
Normaliza el producto si es necesario, realizando
Un corrimiento a la derecha e incremetandto el
exponente
Overflow o
underflow
si
Excepción
no
Redondear significando de acuerdo al
Número de bits
no
Normalizado ?
si
Signo de acuerdo a los operandos
33
Fin
Descargar