Uploaded by EDGARD ALEXANDRE RIBEIRO

Somadores: Exercício de Eletrônica Digital

advertisement
Prática 5 - Somadores
GFI 127 - Projetos em Eletrônica Digital
Edgard Alexandre Ribeiro
1)​ Estude como somar dois números binários.
​
A soma binária pode ser realizada seguindo a mesma lógica da soma decimal,
levando em conta as somas unitárias em cada casa e as duplas sendo levadas à
esquerda sempre que a soma é maior que o maior algarismo possível (1).
​
Na base 2, existem 4 possibilidades para cada casa: 0 + 0 = 0; 1 + 0 = 1; 0 + 1
= 1 e 1 + 1 = 10, ou seja, 0 e uma dupla (um carry) para a casa à esquerda. Também,
caso a soma seja 1 + 1 e já haja um carry, 1 + 1 + 1 = 1 + um carry para a próxima
coluna à esquerda.
​
No caso da subtração, 0 - 1 necessita de uma dupla emprestada da casa à
esquerda. Portanto, a subtração realizada nesse caso é 10 - 1 = 1 (2 - 1 = 1).
2)​ Analise o processo de adição binária da figura.
​
A figura basicamente explica de forma visual o que foi dito acima.
3)​ Analise o diagrama em blocos de uma unidade aritmética.
​
Nesse diagrama é possível identificar uma ALU (unidade lógica e aritmética) em
conjunto com uma unidade de memória e uma unidade de controle. A ALU é formada
por um registrador, responsável por receber um dos valores binários que participa das
operações aritméticas e/ou de lógica; um acumulador, que possui o outro e atual valor
acumulado após as sequenciais operações realizadas; e os circuitos lógicos, capazes
de realizar essas operações aritméticas e lógicas, como somas, subtrações,
incrementos e verificações de igualdade e overflow.
​
Ao funcionar em conjunto com as outras unidades citadas, a ALU pode ser
controlada pela unidade de controle para realizar a operação desejada com os valores
presentes no acumulador e no registrador e armazenar o resultado novamente no
acumulador. Por sua vez, é possível observar que o valor do acumulador também pode
ser salvo na unidade de memória ou alterado para outro valor lá salvo, tudo em acordo
com os comandos da unidade de controle.
4)​ Analise o diagrama em blocos.
Esse diagrama representa um circuito com uma sequência de 5 somadores
completos, que são unidades capazes de somar 3 bits e retornar a soma separada em
um bit para a própria casa binária e um carry para a próxima casa. Portanto, em
conjunto esse circuito é um somador de 2 parcelas binárias de 5 algarismos.
O primeiro somador recebe dois bits 𝐴0 e 𝐵0, sendo esses os primeiros bits de
cada parcela, e o terceiro bit 𝐶0 sempre sendo 0. Então, o resultado representa o valor
do primeiro bit da soma final e o carry é levado como uma das 3 entradas do próximo
somador. Essa cadeia se segue até quinto somador para se obter os 5 bits da soma
binária, sendo que o carry do último somador 𝐶5 acaba sendo um overflow.
5)​ Estudo o funcionamento de um somador completo.
​
Como explicado anteriormente, um somador completo consegue somar de forma
binária 3 bits e apresentar o resultado com 2 saídas, uma para a própria casa binária e
a outra como o carry de saída para próxima casa binária. Geralmente, a terceira
entrada C provê o carry de saída de um somador anterior, sendo assim um carry de
entrada 𝐶𝐼𝑁.
​
Então, analisando a tabela verdade, as entradas são todas as possibilidades de
soma para 3 bits, ou seja, somas que resultam em 0, 1, 2 ou 3. Isso em binário é 00,
01, 10 ou 11, cada bit representado por uma das saídas. O carry assume o valor 1
quando a soma resulta em 10 ou 11, o que significa 0 + 1 + 1 = 10 em qualquer ordem
e a opção única 1 + 1 + 1 = 11.
​
Um somador completo pode ser formado a partir de um circuito com dois meio
somadores e uma porta OR. Por sua vez, os meio somadores são unidades que
somam dois bits e retornam as mesmas duas saídas de um somador completo, porém
englobando somente os resultados 00, 01 e 10. Meio somadores podem ser formados
a partir de uma porta XOR e uma porta AND.
Figura 1 - Circuito meio somador à esquerda e um somador completo à direita.
6)​ Confira o diagrama de Karnaugh do somador.
​
Analisando o diagrama de Karnaugh e a expressão algébrica para 𝑆 e 𝐶𝑂𝑈𝑇, é
possível perceber o seguinte:
​
Manipulando a expressão de S pode-se provar que o resultado é equivalente ao
circuito mostrado na figura com os dois meio somadores, ou mais especificamente,
utilizando duas portas XOR para a saída de soma.
𝐴 · 𝐵 · 𝐶 + 𝐴 · 𝐵 · 𝐶 + 𝐴 · 𝐵 · 𝐶 + 𝐴 · 𝐵 · 𝐶 = (𝐴 · 𝐵 + 𝐴 · 𝐵 ) · 𝐶 + (𝐴 · 𝐵 + 𝐴 · 𝐵) · 𝐶
(𝐴 · 𝐵 + 𝐴 · 𝐵 ) · 𝐶 + (𝐴 · 𝐵 + 𝐴 · 𝐵) · 𝐶 = (𝐴 ⊗ 𝐵) · 𝐶 + (𝐴 ⊗ 𝐵) · 𝐶
(𝐴 ⊗ 𝐵) ⊗ 𝐶
​
Provando que 𝐴 · 𝐵 + 𝐴 · 𝐵 = 𝐴 ⊗ 𝐵:
𝐴 ⊗ 𝐵 = (𝐴 · 𝐵 + 𝐴 · 𝐵) = 𝐴 · 𝐵 · 𝐴 · 𝐵 = (𝐴 + 𝐵) · (𝐴 + 𝐵)
(𝐴 + 𝐵) · (𝐴 + 𝐵) = 𝐴 · 𝐴 + 𝐴 · 𝐵 + 𝐴 · 𝐵 + 𝐵 · 𝐵 = 𝐴 · 𝐵 + 𝐴 · 𝐵
Já para o 𝐶𝑂𝑈𝑇, pode-se provar que o carry possui expressão equivalente ao
circuito da figura se for igual a soma de uma porta AND de A e B e uma AND de C com
um XOR de A e B.
𝐵 · 𝐶 + 𝐴 · 𝐶 + 𝐴 · 𝐵 = (𝐵 + 𝐴 ) · 𝐶 + 𝐴 · 𝐵
(𝐴 ⊗ 𝐵) · 𝐶 + 𝐴 · 𝐵 = (𝐴 · 𝐵 + 𝐴 · 𝐵) · 𝐶 + 𝐴 · 𝐵 = 𝐴 · 𝐵 · 𝐶 + 𝐴 · 𝐵 · 𝐶 + 𝐴 · 𝐵
𝐴 · 𝐵 · 𝐶 + 𝐴 · 𝐵 · 𝐶 + 𝐴 · 𝐵 · (1) = 𝐴 · 𝐵 · 𝐶 + 𝐴 · 𝐵 · 𝐶 + 𝐴 · 𝐵 · (1 + 2𝐶)
𝐴 · 𝐵 · 𝐶 + 𝐴 · 𝐵 · 𝐶 + 𝐴 · 𝐵 + 2 · 𝐴 · 𝐵 · 𝐶 = [𝐴 · 𝐵 + 𝐴 · 𝐵 + 2 · 𝐴 · 𝐵] · 𝐶 + 𝐴 · 𝐵
[(𝐴 + 𝐴) · 𝐵 + (𝐵 + 𝐵) · 𝐴] · 𝐶 + 𝐴 · 𝐵 = [(1) · 𝐵 + (1) · 𝐴 ] · 𝐶 + 𝐴 · 𝐵
(𝐵 + 𝐴 ) · 𝐶 + 𝐴 · 𝐵
Download