partir de a y b y el carry inicial Generar las funciones G y P de grupo a partir de G y P Generar los bits de carry de grupo (c4 , c8 , c12 , c16 ) Generar el resto de las llevadas Generar todos los bits del resultado
Departamento de Informática. Curso 2006-2007
19
SUMADOR CON SELECCIÓN DE ARRASTRE
Departamento de Informática. Curso 2006-2007
20
SUMADOR CON PUENTEO DE ARRASTRES
Departamento de Informática. Curso 2006-2007
21
SUMADORES CONDICIONALES
Son una evolución de los sumadores con
selección de llevada. Las ecuaciones de las salidas en función del carry entrante son:
Departamento de Informática. Curso 2006-2007
22
CELULA DEL SUMADOR CONDICIONAL
Departamento de Informática. Curso 2006-2007
23
SUMADOR CONDICIONAL DE 2 BITS
Departamento de Informática. Curso 2006-2007
24
SEGUNDA ETAPA DE UN SUMADOR CONDICIONAL DE 4 BITS
Departamento de Informática. Curso 2006-2007
25
SUMADOR CONDICIONAL DE 8 BITS
Departamento de Informática. Curso 2006-2007
26
TABLA DEL SUMADOR CONDICIONAL
Departamento de Informática. Curso 2006-2007
27
SUMADORES MULTIOPERANDO CSA
Departamento de Informática. Curso 2006-2007
28
ARBOLES DE WALLACE
Departamento de Informática. Curso 2006-2007
29
LA UNIDAD ARITMÉTICA Y LÓGICA
LECCIÓN 2. CIRCUITOS ARITMÉTICOS DE MULTIPLICACIÓN DE ENTEROS
Departamento de Informática. Curso 2006-2007
30
MULTIPLICACION DE NÚMEROS NATURALES
Departamento de Informática. Curso 2006-2007
31
CIRCUITOS NMM
Departamento de Informática. Curso 2006-2007
32
CÉLULA ELEMENTAL DEL MULTIPLICADOR
Departamento de Informática. Curso 2006-2007
33
MATRIZ SUMADORA
Departamento de Informática. Curso 2006-2007
34
MULTIPLICADORES DE 8 BITS
Departamento de Informática. Curso 2006-2007
35
MULTIPLICADORES DE 8 BITS
Departamento de Informática. Curso 2006-2007
36
HARDWARE PARA ALGORITMOS DE MULTIPLICACIÓN
Departamento de Informática. Curso 2006-2007
37
MULTIPLICACIÓN POR SUMA Y DESPLAZAMIENTO
Sea la operación 13x11
Departamento de Informática. Curso 2006-2007
38
ALGORITMO DE MULTIPLICACIÓN POR SUMA Y DESPLAZAMIENTO
1.
Inicialización: 0→ A ; Multiplicando → B ; Multiplicador → MQ ; N → I 2. Analizar bit MQ0 1. 2.
3. 4. 5.
Si MQ0 = 0 ⇒ Ir a 3 Si MQ0 = 1 ⇒ (A) + (B) → (A) e ir a 3
Desplazar C-A-MQ un bit a la derecha Decrementar I Comprobar I 1. 2.
Si I = 0 ⇒ Terminar Si I ≠ 0 ⇒ Ir a 2 Departamento de Informática. Curso 2006-2007
39
EJEMPLO
Departamento de Informática. Curso 2006-2007
40
ALGORITMO DE ROBERTSON
Sirve para multiplicar un número positivo y un
número negativo
Departamento de Informática. Curso 2006-2007
41
ALGORITMO DE ROBERTSON
Sólo sirve para el caso de multiplicando
positivo y multiplicador negativo. Para los n-1 primeros bits del multiplicador se utiliza el algoritmo anterior. Para el bit de signo del multiplicador se pone el complemento a dos del multiplicando El resultado es un número negativo
Departamento de Informática. Curso 2006-2007
42
JUSTIFICACIÓN DEL ALGORITMO DE ROBERTSON
Departamento de Informática. Curso 2006-2007
43
REGLA DE LA CADENA
Departamento de Informática. Curso 2006-2007
44
MULTIPLICADORES BINARIOS RECODIFICADOS
Recodificar el multiplicador para evitar las
cadenas de “1”
Efectuar la multiplicación tradicional donde el
sumando correspondiente es 0, Mcando óMcando en función de que el bit correspondiente del multiplicador sea 0, 1, -1.
Tenemos presente siempre la necesidad de
extender el signo en los sumandos. Departamento de Informática. Curso 2006-2007
45
ALGORITMO DE BOOTH
Departamento de Informática. Curso 2006-2007
46
DIAGRAMA DE FLUJO
Departamento de Informática. Curso 2006-2007
47
CASOS ESPECIALES
00100 → 01Solución: No codificar
Caso de “1” aislado
100 → 00100
11011 → 01100 → 00-100 Solución : Cambiar el 0 por –1
Caso de “0” aislado
Departamento de Informática. Curso 2006-2007
48
OTRA RECODIFICACIÓN DEL MULTIPLICADOR
Departamento de Informática. Curso 2006-2007
49
ALGORITMO DE SOLAPAMIENTO DE TERNAS
1. Inicialización ( Similar a casos anteriores 2. 3. 4. 5.
salvo que ahora N/2 →I) Analizar el valor numérico de MQ1 – MQ0 – MQ-1 y actuar como en la tabla precedente Desplazamiento aritmético de A-MQ de 2 bits a la derecha. Decrementar I Si I≠0 ir a 2, en otro caso Fin.
Departamento de Informática. Curso 2006-2007
50
DIAGRAMA DE FLUJO
Departamento de Informática. Curso 2006-2007
51
CIRCUITOS MULTIPLICADORES EN COMPLEMENTO A DOS
Departamento de Informática. Curso 2006-2007
52
MULTIPLICACION DE NUMEROS ENTEROS CON SIGNO
Departamento de Informática. Curso 2006-2007
53
PLANTEAMIENTO DEL PROBLEMA
Departamento de Informática. Curso 2006-2007
54
POSIBLE SOLUCIÓN
Departamento de Informática. Curso 2006-2007
55
MULTIPLICADOR DE PEZARIS
Departamento de Informática. Curso 2006-2007
56
ALGORITMO DE BAUGH-WOOLEY
Departamento de Informática. Curso 2006-2007
57
MULTIPLICADOR DE BAUGH-WOOLEY
Departamento de Informática. Curso 2006-2007
58
LA UNIDAD ARITMÉTICA Y LÓGICA
LECCIÓN 3. CIRCUITOS ARITMÉTICOS Y ALGORITMOS DE DIVISION DE ENTEROS
Departamento de Informática. Curso 2006-2007
59
ALGORITMO DE DIVISIÓN CON RESTAURACIÓN
Es el algoritmo de división convencional. Los pasos a seguir son los siguientes: 1. Inicialización: Dividendo → MQ ; Divisor → B ; N→I; 0→A 2. Desplazamiento de A-MQ a la izquierda 1 bit. 3. Restar A-B → A 4. Comprobar si A 0 ⇒ desplazamos (2ª) y restamos (2A – B) Si A < 0 ⇒ sumamos B (A + B), desplazamos 2(A + B) y restamos B (2A + B)
Departamento de Informática. Curso 2006-2007
63
ALGORITMO DE DIVISIÓN SIN RESTAURACIÓN
1. 2. 3. 4.
Inicialización: Dividendo → MQ ; Divisor → B ; 0→A Desplazamiento a la izquierda de A-MQ Restar A-B → A Analizar A: 1. 2.
5. 6. 7.
Si A 0 1→ MQ0 desplaz a la izquierda de A-MQ y restar A-B→ A
Decrementar el contador I Si I >0 ir a 4 Analizar A: 1. 2.
8.
N-1 → I ;
Si A 0 1→ MQ0
FIN Departamento de Informática. Curso 2006-2007
64
Departamento de Informática. Curso 2006-2007
65
EJEMPLO
Departamento de Informática. Curso 2006-2007
66
MÉTODO DE DIVISIÓN POR CONVERGENCIA
Departamento de Informática. Curso 2006-2007
67
ELECCIÓN DE LOS VALORES DE Ri
Departamento de Informática. Curso 2006-2007
68
DIAGRAMA DE FLUJO DEL PROCESO
Departamento de Informática. Curso 2006-2007
69
METODO DE DIVISIÓN MEDIANTE EL INVERSO DEL DIVISOR
Departamento de Informática. Curso 2006-2007
70
APLICACIÓN DEL MÉTODO DE NEWTON-RAPHSON
Departamento de Informática. Curso 2006-2007
71
ELECCIÓN DEL VALOR INICIAL
Departamento de Informática. Curso 2006-2007
72
PROCEDIMIENTO DE CALCULO DEL INVERSO
Departamento de Informática. Curso 2006-2007
73
CELDA BÁSICA DEL DIVISOR COMBINACIONAL
Departamento de Informática. Curso 2006-2007
74
DIVISIÓN COMBINACIONAL
Departamento de Informática. Curso 2006-2007
75
LA UNIDAD ARITMÉTICA Y LÓGICA
LECCIÓN 4. ARITMÉTICA DE PUNTO FLOTANTE
Departamento de Informática. Curso 2006-2007
76
REPRESENTACION BINARIA DE NUMEROS REALES
Un número real consta de parte entera y
parte fraccionaria y su representación binaria es la siguiente:
En la práctica para representar en binario un
número real trabajamos por separado con su parte entera y su parte fraccionaria Departamento de Informática. Curso 2006-2007
77
EJEMPLO
Sea por ejemplo 23.85
La parte entera 23 = 10111 y la parte fraccionaria la pasamos a binario multiplicando por 2 y quedándonos con la parte fraccionaria: .85 x 2 = 1.70 .70 x 2 = 1.40 .40 x 2 = 0.80 .80 x 2 = 1.60 .60 x 2 = 1.20 .20 x 2 = 0.40 .40 x 2 = 0.80 Luego 0.85 = 0.1101100 ….
Por tanto 23.85 = 10111.1101100 Departamento de Informática. Curso 2006-2007
78
REPRESENTACION NORMALIZADA. NORMA IEEE-754
En simple precisión la longitud de palabra
es de 32 bits
Vemos que la mantisa está normalizada de
modo que 1 ≤ F ≤ 2 y que el exponente se almacena en exceso a 127 para evitar tener que usar otro bit de signo
Departamento de Informática. Curso 2006-2007
79
REPRESENTACION NORMALIZADA. NORMA IEEE-754
En doble precisión la longitud de palabra es
64 bits
Ahora el exponente está en exceso a 1023 y
la mantisa está normalizada lo mismo que en el punto anterior
Departamento de Informática. Curso 2006-2007
80
REPRESENTACION APROXIMADA DE NUMEROS REALES
Rango : Nos da el conjunto de intervalos
donde existen números representables, depende del exponente Precisión : Nos da la diferencia entre dos números representables consecutivos, depende del número de bits de la mantisa. El rango y la precisión son conceptos antagónicos pues para mejorar la precisión habría que aumentar la mantisa y por tanto reducir el exponente lo que lleva a una disminución del rango. Departamento de Informática. Curso 2006-2007
81
TIPOS DE NUMEROS REALES
Normalizados:
Cero :
Infinitos
No reales ( not a number)
Denormales
0 < E < Emax
E=0 F=0
E = 255 +infinito y – infinito
(-1)S x 0
F =0
1 ≤ 1.F
0
E=0 F>0
Departamento de Informática. Curso 2006-2007
82
SUMA Y RESTA DE NÚMEROS EN PUNTO FLOTANTE
Alinear mantisas : Tomar el número con menor exponente y desplazar su mantisa a la derecha hasta igualar los exponentes Sumar o restar mantisas Normalizar el resultado si fuera necesario Redondear la mantisa al número de bits apropiado Normalizar si fuera preciso
Departamento de Informática. Curso 2006-2007
83
MULTIPLICACION Y DIVISIÓN DE NÚMEROS EN PUNTO FLOTANTE
Sumar o restar los exponentes (y restar o sumar el exceso) Multiplicar o dividir las mantisas Normalizar el resultado Redondear la mantisa al número apropiado de bits Normalizar si es preciso Determinar el signo del resultado