Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Funciones lógicas y circuitos lógicos para la suma y resta de bits, Ejercicios de Circuitos Digitales

Las funciones lógicas y los diagramas lógicos y a bloques para la suma y resta de dos bits, incluyendo el circuito sumador completo y el generador de acarreo posterior. Se explican los conceptos básicos y se dan ejemplos de operaciones con números en formato binario.

Tipo: Ejercicios

2021/2022

Subido el 17/01/2024

daceru
daceru 🇲🇽

5

(1)

5 documentos

1 / 24

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1
ING. HÉCTOR PIÑA CANALES
CIRCUITOS ARITMÉTICOS
Entre las funciones principales que debe realizar una computadora digital, están
las operaciones básicas aritméticas: suma, resta, multiplicación y división. En
base a estas operaciones se pueden ejecutar cualquier otro tipo de operación más
compleja, ya sea a través de circuitos o de programas que ejecuten algún
algoritmo.
La operación aritmética más básica que puede realizar una computadora digital es
la suma de dos números binarios:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
Las tres primeras sumas producen un resultado cuya longitud es de un dígito
(suma o resultado de la suma), mientras que la última, en donde ambos sumandos
son iguales a 1, el resultado es de dos dígitos, denominándose al dígito más
significativo de este valor como bit de arrastre ó bit de acarreo (carry).
Cuando los sumandos tienen más de un dígito, el bit de arrastre que se obtiene de
la suma de dos dígitos se suma al siguiente par de bits más significativos, hasta
obtener un bit de acarreo final.
1111
1011
1101
11000
Un circuito combinatorio que realiza únicamente la suma de dos bits se llama
medio sumador ó semisumador ó sumador medio, mientras que el circuito que
realiza la suma de tres bits (2 sumandos y el bit de arrastre de una suma
anterior) se le conoce como sumador completo.
CIRCUITO SEMISUMADOR ó MEDIO SUMADOR ó SUMADOR MEDIO.
Es un circuito lógico que realiza la suma aritmética de dos bits, tiene dos entradas
(para los sumandos) y dos salidas (suma y acarreo generado). Su tabla de
verdad, funciones lógicas, diagrama lógico y diagrama a bloques son:
Tabla de verdad:
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Vista previa parcial del texto

¡Descarga Funciones lógicas y circuitos lógicos para la suma y resta de bits y más Ejercicios en PDF de Circuitos Digitales solo en Docsity!

CIRCUITOS ARITMÉTICOS

Entre las funciones principales que debe realizar una computadora digital, están las operaciones básicas aritméticas: suma, resta, multiplicación y división. En base a estas operaciones se pueden ejecutar cualquier otro tipo de operación más compleja, ya sea a través de circuitos o de programas que ejecuten algún algoritmo. La operación aritmética más básica que puede realizar una computadora digital es la suma de dos números binarios: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Las tres primeras sumas producen un resultado cuya longitud es de un dígito (suma o resultado de la suma), mientras que la última, en donde ambos sumandos son iguales a 1, el resultado es de dos dígitos, denominándose al dígito más significativo de este valor como bit de arrastre ó bit de acarreo (carry). Cuando los sumandos tienen más de un dígito, el bit de arrastre que se obtiene de la suma de dos dígitos se suma al siguiente par de bits más significativos, hasta obtener un bit de acarreo final. 1111 1011 1101 11000 Un circuito combinatorio que realiza únicamente la suma de dos bits se llama medio sumador ó semisumador ó sumador medio , mientras que el circuito que realiza la suma de tres bits (2 sumandos y el bit de arrastre de una suma anterior) se le conoce como sumador completo. CIRCUITO SEMISUMADOR ó MEDIO SUMADOR ó SUMADOR MEDIO. Es un circuito lógico que realiza la suma aritmética de dos bits, tiene dos entradas (para los sumandos) y dos salidas (suma y acarreo generado). Su tabla de verdad, funciones lógicas, diagrama lógico y diagrama a bloques son: Tabla de verdad:

mi a 0 b 0 S c 0 0 0 0 0 0 1 0 1 1 0 2 1 0 1 0 3 1 1 0 1 Funciones lógicas: _ _ S(a 0 ,b 0 ) = ∑(1,2) = a0 • b 0 + a0 • b 0 = a 0  b 0 c 0 (a 0 ,b 0 ) = ∑(3) = a0 • b 0 Diagrama lógico y diagrama a bloques: a 0 b 0 a 0 b 0 S c 0 Semisumador c 0 S CIRCUITO SUMADOR COMPLETO Es un circuito lógico que tiene tres entradas (dos para los sumandos y la otra para el bit de acarreo de una suma anterior) y dos salidas (suma y acarreo generado). Su tabla de verdad, funciones lógicas, diagrama lógico y diagrama a bloques son: Tabla de verdad:

a 0 b 0 c 0 S Ci

a 0 b 0

sumador

Ci completo c 0

S

Un circuito equivalente se encuentra simplificando a Ci, utilizando los postulados y teoremas del álgebra de Boole:


Ci(a 0 ,b 0 ,c 0 ) = a 0 • b 0 • c 0 + a 0 • b 0 • c 0 + a0 • b 0 • c 0 + a0 • b 0 • c 0


= a 0 • b0 • (c 0 + c 0 ) + c0 • (a0 • b 0 + a0 • b 0 ) = a 0 • b 0 + c0 • (a 0  b 0 ) Diagrama lógico:

a 0 b 0 c 0 S Ci S. S. 1 S. S. 2 En este circuito se ahorra una compuerta (resulta más económico) y se construye con dos semisumadores pero el circuito tiene 3 niveles de conmutación para el acarreo Ci (es más lento).

SUMADOR COMPLETO DE 4 BITS

La suma de dos números binarios de “n” bits, puede realizarse de dos formas: En serie o en paralelo. El método de la suma en serie , usa únicamente un circuito sumador completo, un elemento acumulador o de memoria (flip-flop) para conservar el arrastre de salida generado, este bit de arrastre acumulado se usa como bit de arrastre de entrada para el siguiente par de bits y un arreglo de elementos de memoria (registro) para almacenar el resultado de la suma. El método de la suma en paralelo , usa “n” circuitos sumadores completos y todos los bits de ambos sumandos se aplican a los sumadores simultáneamente. El bit de acarreo de salida de un sumador se conecta al bit de acarreo de entrada del siguiente sumador hasta obtener un bit de arrastre final.

binario a hexadecimal por cada 4 bits se pone el digito hexadecimal equivalente. En la siguiente tabla se muestran las equivalencias: HEXADECIMA L

BINARIO

A 1010

B 1011

C 1100

D 1101

E 1110

F 1111

Ejemplos: 100011011110 111100110000 ACE 101011001110 FE0 111100110000

  • 8DB + 100011011011 + D1A + 110100011010 1001110101001 1110001001010 111111011000 111111111111 BD9 101111011001 7EB 011111101011
  • 5CE + 010111001110 + 85F + 100001011111 1000110100111 1000001001010 CIRCUITO GENERADOR DE ARRASTRE O ACARREO POSTERIOR El tiempo de propagación de una señal de entrada hasta alcanzar la salida es igual al retardo de propagación de una compuerta multiplicado por el número de niveles de compuertas que tiene el circuito. La suma de dos números binarios de “n” bits en paralelo implica que todos los bits que se van a sumar (sumandos y bits de arrastre) estén disponibles para el cálculo al mismo tiempo. Como en cualquier circuito lógico, en un sumador en paralelo de “n” bits, las señales de entrada

se deben de propagar por las diferentes compuertas antes que la suma correcta esté disponible en las salidas. El mayor tiempo de propagación en un sumador en paralelo, es el tiempo que se toma cada bit de acarreo en propagarse por cada uno de los sumadores completos. El número de niveles de compuertas para la propagación del bit de arrastre se puede deducir del circuito sumador completo:

ai bi ci (1) (2) (3)

Pi

Si

Ci+

Gi

Las variables de entrada y salida usan el subíndice “i”, para denotar un estado típico de un sumador en paralelo. Las señales “Pi” y “Gi” son comunes a todos los sumadores completos y dependen solamente de los bits de entrada de los sumandos, mientras que “Ci+1” depende de “Pi”, “Gi” y “Ci”. El tiempo de propagación del acarreo es un factor limitante de la velocidad con la cual se suman dos números en paralelo. Existen diferentes técnicas y métodos para reducir el tiempo de demora de propagación del arrastre , siendo la más utilizada la denominada de “ observación del arrastre posterior”. Definiendo: Pi = ai + bi --------------(1) Gi = ai • bi --------------(2) Si = Pi + Ci --------------(3) Ci+1 = Gi + Pi • Ci --------------(4) Ci se llama el arrastre generado y produce un arrastre de salida cuando ai y bi son iguales a 1 sin tomar en cuenta el arrastre de entrada.

SUMADOR DECIMAL CODIFICADO EN BINARIO ó SUMADOR BCD

Uno de los códigos más comúnmente utilizado en computadoras digitales para representar números decimales es el código BCD natural. Para convertir un número decimal a binario se toma su equivalente de 4 bits en binario y para convertir de binario a decimal por cada 4 bits se pone el digito decimal equivalente. En la siguiente tabla se muestran las equivalencias: DECIMAL BINARIO 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 La desventaja de este código es que no se utilizan 6 combinaciones (del 10 al

  1. ya que sólo son válidas las combinaciones del 0 al 9. Considerando la suma de dos números en código BCD , se tiene: 0000 0000 ........ 0000 1001 1001 ........ 1001 0000 0001 1001 0001 0010 1001 0000 0001 ....... 1001 1010 1011 ....... 10010 De los resultados obtenidos , se observa que para la suma9 estos son válidos en el código BCD, mientras que para la suma > 9 el resultado obtenido no es correcto o es invalido ya que la combinación obtenida no pertenece al código. Para corregir los valores incorrectos , se debe de sumar 0110 al resultado obtenido , que es equivalente al número 6 decimal. Obsérvese que son 6 las combinaciones no utilizadas y que 0110 es el complemento de 1001, es decir, del número 9 decimal, siendo éste el número máximo que puede obtenerse en BCD con 4 dígitos binarios. Así se tiene: 1001 1001 1001 .......... 1001 1001 1001 0001 0010 0011 0111 1000 1001 1010 1011 1100 .......... 10000 10001 10010 0110 0110 0110 0110 0110 0110

Utilizando sumadores completos de 4 bits, sólo se puede obtener como resultado máximo válido el 1001 (9 10 ), pero si se usa un circuito corrector y el bit de acarreo se pueden tener 5 bits, con lo que se obtiene como salida válida 1 1001 (19 10 ), que es el valor máximo que se puede generar al sumar dos dígitos BCD más un bit de acarreo de entrada, con lo que se tiene 9 + 9 +1 = 19, siendo el 1 en la suma, el acarreo de salida. El circuito corrector debe ser capaz de dejar el resultado como está (sumar 0) si es ≤ 9 ó bien de corregir el resultado (sumar 0110) si es > 9, como se muestra en la figura: b 3 b 2 b 1 b 0 a 3 a 2 a 1 a 0 K (7483) c 0 S 3 S 2 S 1 S 0 Circuito corrector “0” b 3 b 2 b 1 b 0 a 3 a 2 a 1 a 0 X (7483) “0” Cn Z 3 Z 2 Z 1 Z 0 Haciendo una tabla funcional para los 19 valores se tiene: suma BCD suma BCD sin corregir corregida Dec. K S 3 S 2 S 1 S 0 Cn Z 3 Z 2 Z 1 Z 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 2 0 0 0 1 0 0 0 0 1 0 3 0 0 0 1 1 0 0 0 1 1 No 4 0 0 1 0 0 0 0 1 0 0 requiere 5 0 0 1 0 1 0 0 1 0 1 corrección 6 0 0 1 1 0 0 0 1 1 0 7 0 0 1 1 1 0 0 1 1 1 8 0 1 0 0 0 0 1 0 0 0

“0” b 3 b 2 b 1 b 0 a 3 a 2 a 1 a 0 X (7483) “0” Cn Z 3 Z 2 Z 1 Z 0 RESTA BINARIA La operación de la resta de dos números binarios puede realizarse por alguno de los siguientes dos métodos: 1.- Usando complementos , en donde el sustraendo se complementa (a 1’s ó 2’s) y el resultado del complemento se suma al minuendo, con lo que se convierte en una operación de suma. 2.- En forma directa , en donde cada bit del sustraendo se resta del correspondiente bit del minuendo para obtener el bit de la diferencia. Si el bit del sustraendo es mayor que el bit del minuendo se pide prestado un “1” a la siguiente posición más significativa. Para la operación de resta en forma directa de dos bits (minuendo – sustraendo), se han diseñado y construido circuitos lógicos que realizan esta operación y que se conocen como: restadores medios o medio restadores o semirestadores y restadores completos. SEMIRESTADOR o RESTADOR MEDIO o MEDIO RESTADOR Es un circuito lógico que realiza la resta dos bits. Para ejecutar la operación “m - s” se deben comparar las magnitudes de “m” y “s”. Si “m ≥ s” , se tienen 3 posibilidades: 0 - 0 = 0 1 - 0 = 1 1 - 1 = 0 Al resultado se le llama bit de diferencia. Si “m < s” , se tiene “0 - 1”, lo que hace necesario pedir prestado un “1” de la siguiente posición más significativa. El “1” prestado agrega “2” al bit del minuendo, con el minuendo igual a 2 la resta se convierte en:

El circuito tiene 2 entradas para el minuendo y el sustraendo y dos salidas, una para el resultado de la resta (bit de diferencia) y la otra para un bit que se pide prestado. La tabla de verdad, funciones lógicas, diagrama lógico y diagrama a bloques son: Tabla de verdad: mi m s R P 0 0 o 0 0 0 0 0 1 1 1 2 1 0 1 0 3 1 1 0 0 Funciones lógicas: _ _ R(m, s) = ∑(1, 2) = m  s + m  s = m  s _ P 0 (m, s) = ∑(1) = m  n Diagrama lógico y diagrama a bloques:

m s m s

o R

P 0 semirestador

P 0 R

RESTADOR COMPLETO

Es un circuito lógico que realiza la resta de dos bits, tomando en consideración que se ha prestado un “1” a un estado menos significativo. El circuito tiene tres entradas para el minuendo, sustraendo y bit que presta y dos salidas para el bit de diferencia y bit que pide prestado. La tabla de verdad, funciones lógicas, diagrama lógico y diagrama a bloques son: Tabla de verdad:

o

R

Pi

m s

restador

Pi completo p 0

R

Un circuito equivalente, se encuentra simplificando Pi utilizando postulados y teoremas:


Pi(m,s,p 0 ) = m  s  p 0 + m  s  p 0 + m  s  p 0 + m  s  p 0


= m  (s  p 0 + s  p 0 ) + p 0  s  (m + m ) _ = m  (s  p 0 ) + p 0  s Diagrama lógico:

m s p 0

o

i R

Pi

Analizando la función lógica de “R”, se ve que es similar que la función de “S” en el sumador completo, mientras que la salida “P 1 ” se parece a la función de “Ci ”, excepto que la variable “m” (sumando “a”) aparece complementada. Debido a estas semejanzas es posible convertir un sumador completo en un restador completo, simplemente complementando la entrada “a” que se conecta a las compuertas que generan el bit de arrastre de salida P 0.

COMPLEMENTOS

En cualquier sistema numérico existen dos formas de complemento:

**1. El complemento a la base b.

  1. El complemento a la base menos uno b-1.** Una forma de obtener el complemento a la base “b” es de la siguiente manera:
  • Dado un número positivo “N” en base “b” (Nb), se define el complemento de “b” del número “Nb” como: __ Nb = bn^ - Nb ; para toda Nb0 y 0 para Nb = 0 Donde: n = número de dígitos que contiene el número Nb. Ejemplos: ____ 37810 = (10 10 )^3 - 378 10 = 1000 10 - 378 10 = 622 10 ____ 4278 = (10 8 )^3 - 427 8 = 1000 8 - 427 8 = 351 8 _____ FEA 16 = (10 16 )^3 - FEA 16 = 1000 16 - FEA 16 = 16 16 ______ 101102 = (10 2 )^5 - 10110 2 = 1000000 2 -10110 2 = 1010 2
  • El complemento a la base menos uno “b - 1”, se obtiene de la siguiente forma: Se listan en orden ascendente a los dígitos del sistema numérico, junto a ella se repite la lista, pero en orden descendente, la relación de un digito con el otro da como resultado el complemento a la base menos uno (b -1) de ese digito. Las listas para decimal, octal, hexadecimal y binario son: DECIMAL OCTAL HEXADECIMAL BINARIO 0 9 0 7 0 F 0 1

Utilizando un sumador completo de 4 bits (7483), realizar un circuito restador de 4 bits, usando la resta por complemento a unos: Solución:

a 3 a 2 a 1 a 0 b 3 b 2 b 1 b 0

o o o o C 4 C 0 7483 S 3 S 2 S 1 S 0

RESTA POR COMPLEMENTO A DOS

Para realizar la resta por complemento a dos, utilizando sumadores completos, se usa el siguiente procedimiento: 1.- Se complementa a dos el sustraendo. 2.- El resultado del complemento se suma al minuendo:

  • Si el minuendo es mayor que el sustraendo, el último acarreo generado con valor de uno se desprecia y el resultado es positivo.
  • Si el minuendo es menor que el sustraendo, el último acarreo generado tiene un valor de cero y el resultado obtenido en el paso 2 se encuentra en complemento a dos y nos indica que esté es negativo, para conocerlo hay que complementar a dos.

Ejemplos: 1110 1110 1001 1001

  • 1010 0101 + 0101 - 1111 0000 + 0001 --------- + 1 ------------ ---------- + 1 ---------- ------- 1 0100 ------- 0 1010 0101 x 0001 1 1100 0111 011 E9B 111010011011 1110 1001 1011
  • CD7 - 110011010111 001100101000 + 0011 0010 1001 -------- ----------------------- + 1 ------------------------- --------------------- 1 0001 1100 0100 001100101001 x 1 1110 0000 000 BCC 101111001100 1011 1100 1100
  • AFD - 101011111101 010100000010 + 0101 0000 0011 -------- ----------------------- + 1 ------------------------- --------------------- 1 0000 1100 1111 010100000011 x 0 0000 0101 000 CAF 110010101111 1100 1010 1111
  • ED8 - 111011011000 000100100111 + 0001 0010 1000 -------- ----------------------- + 1 ------------------------- --------------------- 0 1101 1101 0111 000100101000 0 0000 0000 000 DAC 110110101100 1101 1010 1100
  • DAD - 110110101101 001001010010 + 0010 0101 0011 -------- ----------------------- + 1 ------------------------- --------------------- 0 1111 1111 1111 001001010011 Utilizando un sumador completo de 4 bits, realizar un circuito restador de 4 bits, usando la resta por complemento a dos:

a 3 a 2 a 1 a 0 b 3 b 2 b 1 b 0

o o o o