1 LA UNIDAD ARITMÉTICA Y LÓGICALECCIÓN 4. CIRCUITOS ARITMÉTICOS DE SUMA Y RESTA DE ENTEROS Departamento de Informática. Curso
2 EL SEMISUMADOR BINARIOS = ab’ + ba’ = a b C = ab Departamento de Informática. Curso
3 CIRCUITO DEL SEMISUMADOR BINARIODepartamento de Informática. Curso
4 EL SUMADOR BINARIO COMPLETOS = a’ b’ c + a’ b c’ + a b’ c’ + a b c C = a’ b c + a b’ c + a b c’ + a b c Departamento de Informática. Curso
5 ECUACIONES DEL SUMADOR BINARIO COMPLETOS = c ( a b ) C = a b + c ( a b) Departamento de Informática. Curso
6 OTRO CIRCUITO SUMADOR BINARIODepartamento de Informática. Curso
7 SUMADOR BINARIO PARALELO (CPA)Tsumador = N x Tbit Departamento de Informática. Curso
8 CIRCUITO DE SUMA Y RESTAA-B = A+(-B) = A+(B’+1) = A+B’+1 Departamento de Informática. Curso
9 CIRCUITOS SUMADORES RÁPIDOSLa causa del retardo es la propagación del acarreo entre etapas. Solución: cálculo anticipado del acarreo Definimos Gi = ai x bi variable generada Pi = ai bi variable propagada No MELO CREO Departamento de Informática. Curso
10 ECUACIONES DEL BIT DE CARRYSustituyendo estas variables en las ecuaciones lógicas del sumador binario tendremos: Si = Pi ci Ci+1 = ai bi + ci (ai + bi ) = Gi + ci Pi Departamento de Informática. Curso
11 ECUACIONES DEL BIT DE CARRYDepartamento de Informática. Curso
12 CÉLULA SUMADORA RÁPIDADepartamento de Informática. Curso
13 CIRCUITO GENERADOR DE LLEVADASDepartamento de Informática. Curso
14 CIRCUITO GENERADOR DE LLEVADASDepartamento de Informática. Curso
15 CIRCUITO GENERADOR DE LLEVADASDepartamento de Informática. Curso
16 Departamento de Informática. Curso 2006-2007CIRCUITO SUMADOR CLA Departamento de Informática. Curso
17 SUMADORES RÁPIDOS DE 16 BITSCircuito LAC de 16 bits es excesivamente complejo Se buscan soluciones a partir de LAC de 4 bits El problema es la generación anticipada de los carrys c4 , c8 , c12 y c16 Departamento de Informática. Curso
18 Departamento de Informática. Curso 2006-2007CIRCUITOS LAC DE GRUPO C4 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 G0 + P3 P2 P1 P0 c0 Llamando G0G = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 G0 P0G = P3 P2 P1 P0 Podemos escribir: C4 = G0G + P0G c0 Departamento de Informática. Curso
19 CIRCUITO SUMADOR RAPIDO DE 16 BITSGenerar las funciones G y P para cada bit a 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
20 SUMADOR CON SELECCIÓN DE ARRASTREDepartamento de Informática. Curso
21 SUMADOR CON PUENTEO DE ARRASTRESDepartamento de Informática. Curso
22 SUMADORES CONDICIONALESSon 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
23 CELULA DEL SUMADOR CONDICIONALDepartamento de Informática. Curso
24 SUMADOR CONDICIONAL DE 2 BITSDepartamento de Informática. Curso
25 SEGUNDA ETAPA DE UN SUMADOR CONDICIONAL DE 4 BITSDepartamento de Informática. Curso
26 SUMADOR CONDICIONAL DE 8 BITSDepartamento de Informática. Curso
27 TABLA DEL SUMADOR CONDICIONALDepartamento de Informática. Curso
28 SUMADORES MULTIOPERANDO CSADepartamento de Informática. Curso
29 Departamento de Informática. Curso 2006-2007ARBOLES DE WALLACE Departamento de Informática. Curso
30 LA UNIDAD ARITMÉTICA Y LÓGICALECCIÓN 5. CIRCUITOS ARITMÉTICOS DE MULTIPLICACIÓN DE ENTEROS Departamento de Informática. Curso
31 MULTIPLICACION DE NÚMEROS NATURALESDepartamento de Informática. Curso
32 Departamento de Informática. Curso 2006-2007CIRCUITOS NMM Departamento de Informática. Curso
33 CÉLULA ELEMENTAL DEL MULTIPLICADORDepartamento de Informática. Curso
34 Departamento de Informática. Curso 2006-2007MATRIZ SUMADORA Departamento de Informática. Curso
35 MULTIPLICADORES DE 8 BITSDepartamento de Informática. Curso
36 MULTIPLICADORES DE 8 BITSDepartamento de Informática. Curso
37 HARDWARE PARA ALGORITMOS DE MULTIPLICACIÓNDepartamento de Informática. Curso
38 MULTIPLICACIÓN POR SUMA Y DESPLAZAMIENTOSea la operación 13x11 Departamento de Informática. Curso
39 ALGORITMO DE MULTIPLICACIÓN POR SUMA Y DESPLAZAMIENTOInicialización: A ; Multiplicando B ; Multiplicador MQ ; N I Analizar bit MQ0 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 Si I = 0 Terminar Si I 0 Ir a 2 Departamento de Informática. Curso
40 Departamento de Informática. Curso 2006-2007EJEMPLO Departamento de Informática. Curso
41 ALGORITMO DE ROBERTSONSirve para multiplicar un número positivo y un número negativo Departamento de Informática. Curso
42 ALGORITMO DE ROBERTSONSó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
43 JUSTIFICACIÓN DEL ALGORITMO DE ROBERTSONDepartamento de Informática. Curso
44 Departamento de Informática. Curso 2006-2007REGLA DE LA CADENA Departamento de Informática. Curso
45 MULTIPLICADORES BINARIOS RECODIFICADOSRecodificar 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
46 Departamento de Informática. Curso 2006-2007ALGORITMO DE BOOTH Departamento de Informática. Curso
47 Departamento de Informática. Curso 2006-2007DIAGRAMA DE FLUJO Departamento de Informática. Curso
48 Departamento de Informática. Curso 2006-2007CASOS ESPECIALES Caso de “1” aislado Solución: No codificar Caso de “0” aislado Solución : Cambiar el 0 por –1 Departamento de Informática. Curso
49 OTRA RECODIFICACIÓN DEL MULTIPLICADORDepartamento de Informática. Curso
50 ALGORITMO DE SOLAPAMIENTO DE TERNASInicialización ( Similar a casos anteriores 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 I0 ir a 2, en otro caso Fin. Departamento de Informática. Curso
51 Departamento de Informática. Curso 2006-2007DIAGRAMA DE FLUJO Departamento de Informática. Curso
52 CIRCUITOS MULTIPLICADORES EN COMPLEMENTO A DOSDepartamento de Informática. Curso
53 MULTIPLICACION DE NUMEROS ENTEROS CON SIGNODepartamento de Informática. Curso
54 PLANTEAMIENTO DEL PROBLEMADepartamento de Informática. Curso
55 Departamento de Informática. Curso 2006-2007POSIBLE SOLUCIÓN Departamento de Informática. Curso
56 MULTIPLICADOR DE PEZARISDepartamento de Informática. Curso
57 ALGORITMO DE BAUGH-WOOLEYDepartamento de Informática. Curso
58 MULTIPLICADOR DE BAUGH-WOOLEYDepartamento de Informática. Curso
59 LA UNIDAD ARITMÉTICA Y LÓGICALECCIÓN 6. CIRCUITOS ARITMÉTICOS Y ALGORITMOS DE DIVISION DE ENTEROS Departamento de Informática. Curso
60 ALGORITMO DE DIVISIÓN CON RESTAURACIÓNEs el algoritmo de división convencional. Los pasos a seguir son los siguientes: Inicialización: Dividendo MQ ; Divisor B ; N I ; 0 A Desplazamiento de A-MQ a la izquierda 1 bit. Restar A-B A Comprobar si A<0 : Si es cierto Restaurar el dividendo A+ B A Si no es cierto 1 MQ0 Decrementar contador I Comprobar si I =0 Si es cierto FIN Si no es cierto Ir al paso 2 Al final de la operación tenemos el cociente en MQ y el resto en A. Departamento de Informática. Curso
61 Departamento de Informática. Curso 2006-2007
62 Departamento de Informática. Curso 2006-2007EJEMPLO Departamento de Informática. Curso
63 ALGORITMO DE DIVISIÓN SIN RESTAURACIÓNEs una mejora del algoritmo anterior que se basa en lo siguiente: si seguimos el diagrama de flujo del algoritmo sin restauración a partir del momento en que se comprueba el valor del bit de menor peso del divisor la operación a realizar es : 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
64 ALGORITMO DE DIVISIÓN SIN RESTAURACIÓNInicialización: Dividendo MQ ; Divisor B ; N-1 I ; 0 A Desplazamiento a la izquierda de A-MQ Restar A-B A Analizar A: Si A <0 desplaz a la izquierda de A-MQ y sumar A+B A 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 Si A <0 sumar A+B A Si A >0 1 MQ0 FIN Departamento de Informática. Curso
65 Departamento de Informática. Curso 2006-2007
66 Departamento de Informática. Curso 2006-2007EJEMPLO Departamento de Informática. Curso
67 MÉTODO DE DIVISIÓN POR CONVERGENCIADepartamento de Informática. Curso
68 ELECCIÓN DE LOS VALORES DE RiDepartamento de Informática. Curso
69 DIAGRAMA DE FLUJO DEL PROCESODepartamento de Informática. Curso
70 METODO DE DIVISIÓN MEDIANTE EL INVERSO DEL DIVISORDepartamento de Informática. Curso
71 APLICACIÓN DEL MÉTODO DE NEWTON-RAPHSONDepartamento de Informática. Curso
72 ELECCIÓN DEL VALOR INICIALDepartamento de Informática. Curso
73 PROCEDIMIENTO DE CALCULO DEL INVERSODepartamento de Informática. Curso
74 Departamento de Informática. Curso 2006-2007DIAGRAMA DE FLUJO Departamento de Informática. Curso
75 CELDA BÁSICA DEL DIVISOR COMBINACIONALDepartamento de Informática. Curso
76 DIVISIÓN COMBINACIONALDepartamento de Informática. Curso
77 LA UNIDAD ARITMÉTICA Y LÓGICALECCIÓN 7. ARITMÉTICA DE PUNTO FLOTANTE Departamento de Informática. Curso
78 REPRESENTACION BINARIA DE NUMEROS REALESUn 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
79 Departamento de Informática. Curso 2006-2007EJEMPLO Sea por ejemplo La parte entera 23 = 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 Luego 0.85 = …. Por tanto = Departamento de Informática. Curso
80 REPRESENTACION NORMALIZADA. NORMA IEEE-754En 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
81 REPRESENTACION NORMALIZADA. NORMA IEEE-754En 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
82 REPRESENTACION APROXIMADA DE NUMEROS REALESRango : 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
83 TIPOS DE NUMEROS REALESNormalizados: 0 < E < Emax 1.F < 2 Cero : E = 0 F = (-1)S x existe +0 y –0 Infinitos E = F = (-1)S x existe +infinito y – infinito No reales ( not a number) E = F >0 Denormales E = 0 F > 0 Departamento de Informática. Curso
84 SUMA Y RESTA DE NÚMEROS EN PUNTO FLOTANTEAlinear 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
85 MULTIPLICACION Y DIVISIÓN DE NÚMEROS EN PUNTO FLOTANTESumar 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 Departamento de Informática. Curso
86 Departamento de Informática. Curso 2006-2007
87 Departamento de Informática. Curso 2006-2007