920 likes | 1.32k Views
LECCIÓN 4. CIRCUITOS ARITMÉTICOS DE SUMA Y RESTA DE ENTEROS. LA UNIDAD ARITMÉTICA Y LÓGICA. EL SEMISUMADOR BINARIO. S = ab’ + ba’ = a b C = ab. CIRCUITO DEL SEMISUMADOR BINARIO. EL SUMADOR BINARIO COMPLETO. S = a’ b’ c + a’ b c’ + a b’ c’ + a b c
E N D
LECCIÓN 4. CIRCUITOS ARITMÉTICOS DE SUMA Y RESTA DE ENTEROS LA UNIDAD ARITMÉTICA Y LÓGICA Departamento de Informática. Curso 2006-2007
EL SEMISUMADOR BINARIO • S = ab’ + ba’ = a b • C = ab Departamento de Informática. Curso 2006-2007
CIRCUITO DEL SEMISUMADOR BINARIO Departamento de Informática. Curso 2006-2007
EL SUMADOR BINARIO COMPLETO • S = 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 2006-2007
ECUACIONES DEL SUMADOR BINARIO COMPLETO • S = c ( a b ) • C = a b + c ( a b) Departamento de Informática. Curso 2006-2007
OTRO CIRCUITO SUMADOR BINARIO Departamento de Informática. Curso 2006-2007
SUMADOR BINARIO PARALELO (CPA) • Tsumador = N x Tbit Departamento de Informática. Curso 2006-2007
CIRCUITO DE SUMA Y RESTA • A-B = A+(-B) = A+(B’+1) = A+B’+1 Departamento de Informática. Curso 2006-2007
CIRCUITOS SUMADORES RÁPIDOS • La 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 Departamento de Informática. Curso 2006-2007
ECUACIONES DEL BIT DE CARRY • Sustituyendo 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 2006-2007
ECUACIONES DEL BIT DE CARRY Departamento de Informática. Curso 2006-2007
CÉLULA SUMADORA RÁPIDA Departamento de Informática. Curso 2006-2007
CIRCUITO GENERADOR DE LLEVADAS Departamento de Informática. Curso 2006-2007
CIRCUITO GENERADOR DE LLEVADAS Departamento de Informática. Curso 2006-2007
CIRCUITO GENERADOR DE LLEVADAS Departamento de Informática. Curso 2006-2007
CIRCUITO SUMADOR CLA Departamento de Informática. Curso 2006-2007
SUMADORES RÁPIDOS DE 16 BITS • Circuito 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 2006-2007
CIRCUITOS 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 2006-2007
CIRCUITO SUMADOR RAPIDO DE 16 BITS • Generar 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 2006-2007
SUMADOR CON SELECCIÓN DE ARRASTRE Departamento de Informática. Curso 2006-2007
SUMADOR CON PUENTEO DE ARRASTRES Departamento de Informática. Curso 2006-2007
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
CELULA DEL SUMADOR CONDICIONAL Departamento de Informática. Curso 2006-2007
SUMADOR CONDICIONAL DE 2 BITS Departamento de Informática. Curso 2006-2007
SEGUNDA ETAPA DE UN SUMADOR CONDICIONAL DE 4 BITS Departamento de Informática. Curso 2006-2007
SUMADOR CONDICIONAL DE 8 BITS Departamento de Informática. Curso 2006-2007
TABLA DEL SUMADOR CONDICIONAL Departamento de Informática. Curso 2006-2007
SUMADORES MULTIOPERANDO CSA Departamento de Informática. Curso 2006-2007
ARBOLES DE WALLACE Departamento de Informática. Curso 2006-2007
LECCIÓN 5. CIRCUITOS ARITMÉTICOS DE MULTIPLICACIÓN DE ENTEROS LA UNIDAD ARITMÉTICA Y LÓGICA Departamento de Informática. Curso 2006-2007
MULTIPLICACION DE NÚMEROS NATURALES Departamento de Informática. Curso 2006-2007
CIRCUITOS NMM Departamento de Informática. Curso 2006-2007
CÉLULA ELEMENTAL DEL MULTIPLICADOR Departamento de Informática. Curso 2006-2007
MATRIZ SUMADORA Departamento de Informática. Curso 2006-2007
MULTIPLICADORES DE 8 BITS Departamento de Informática. Curso 2006-2007
MULTIPLICADORES DE 8 BITS Departamento de Informática. Curso 2006-2007
HARDWARE PARA ALGORITMOS DE MULTIPLICACIÓN Departamento de Informática. Curso 2006-2007
MULTIPLICACIÓN POR SUMA Y DESPLAZAMIENTO • Sea la operación 13x11 Departamento de Informática. Curso 2006-2007
ALGORITMO DE MULTIPLICACIÓN POR SUMA Y DESPLAZAMIENTO • Inicialización: 0 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 2006-2007
EJEMPLO Departamento de Informática. Curso 2006-2007
ALGORITMO DE ROBERTSON • Sirve para multiplicar un número positivo y un número negativo Departamento de Informática. Curso 2006-2007
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
JUSTIFICACIÓN DEL ALGORITMO DE ROBERTSON Departamento de Informática. Curso 2006-2007
REGLA DE LA CADENA Departamento de Informática. Curso 2006-2007
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
ALGORITMO DE BOOTH Departamento de Informática. Curso 2006-2007
DIAGRAMA DE FLUJO Departamento de Informática. Curso 2006-2007
CASOS ESPECIALES • Caso de “1” aislado 00100 01-100 00100 Solución: No codificar • Caso de “0” aislado 11011 0-1100 00-100 Solución : Cambiar el 0 por –1 Departamento de Informática. Curso 2006-2007
OTRA RECODIFICACIÓN DEL MULTIPLICADOR Departamento de Informática. Curso 2006-2007
ALGORITMO DE SOLAPAMIENTO DE TERNAS • Inicializació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 2006-2007