1
Universidade Federal do ABC
Prof. Rodrigo Reina Muñoz
Aula 6: Circuitos Aritméticos
Eletrônica Digital
Operações Aritméticas
Somadores e SubtratoresSão circuitos dedicados que executam, respectivamente, as operações de soma e subtração no sistema binário. Esses circuitos fazem parte de um subsistema denominado ULA (Unidade Lógica e Aritmética).
Adição no Sistema Binário (Half Adder)
A e B = Variáveis para a soma; S = Resultado da soma;
Co = Vai-um de saída (Carry-out).
1 0 0 0 Co 0 1 1 1 0 1 1 1 0 0 0 0 S B A 1 0 0 0 Co 0 1 1 1 0 1 1 1 0 0 0 0 S B A Tabela-verdade
Expressão (da tabela):
S = A’.B + A.B’ = A ⊕ B Co = A.B
Expressão (da tabela): S = A’.B + A.B’ = A ⊕ B Co = A.B Implementação e símbolo: A B S Co A B S Co Meio Somador MS
“Half Adder” ou Meio Somador porque ele não realiza a soma do carry-out vindo de uma possível operação anterior.
Exemplo:
1 0 0 1 (9) 1 1, 0 1 1 (3,375) + 1 1 1 1 (15) + 1 0, 1 1 0 (2,750)
1 1 0 0 0 (24) 1 1 0, 0 0 1 (6,125)
Circuito Somador Completo (Full Adder)
1 1 1 0 1 0 0 0 Co 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 1 0 S 1 1 0 0 1 0 1 0 0 0 0 0 Ci B A
A, B e Ci = Variáveis para a soma;
onde, Ci = Carry-in (possível operação anterior).
S = Resultado da soma;
Co = Vai um de saída (Carry-out).
S = A’.(B’Ci + B.Ci’) + A.(B’Ci’ + B.Ci) S = A’.(B ⊕ Ci) + A.(B ⊕ Ci)’
fazendo
(B ⊕ Ci)’ = y’
S = A’.y + A.y’ = A ⊕ y e, portanto, S = A ⊕ B ⊕ Ci 0 1 1 0 0 1 1 0 00 0 1 AB Ci 01 11 10 Não há simplificação 1 0 1 1 1 0 0 0 00 0 1 AB Ci 01 11 10
Operações Aritméticas
Expressão (da tabela):S = A’.B’.Ci + A’.B.Ci’+A.B’.Ci’+A.B.Ci
Co = A’.B.Ci + A.B’Ci + A.B.Ci’ + A.B.Ci É possível simplificar?
A B Ci Co S A B S Co Somador Completo SC Ci
Operações Aritméticas
Implementação e símbolo:Expressão (da tabela):
S = A’.B’.Ci + A’.B.Ci’+A.B’.Ci’+A.B.Ci Co = B.Ci + A.Ci + A.B
A B Ci SC Co S A B Ci SC Co S A B Ci SC Co S A B MS Co S S0 S1 S2 S3 Co3 B0 A0 B1 A1 B2 A2 B3 A3
Co3 Co2 Co1 Co0 A3 A2 A1 A0 B3 B2 B1 B0 Co3 S3 S2 S1 S0 +
Operações Aritméticas
Associação de SomadoresVários somadores podem ser interconectados para formar somadores de um número maior de bits.
Exemplo: Somador de 4 bits. Utiliza um meio somador (para a
operação com os bits menos significativos) e três somadores completos.
Operações Aritméticas
O somador pode ser implementado usando somente somadores completos
Resultado aparece em S4, S3, S2, S1 e So
“0” (C0 = 0).
Subtração no Sistema Binário (Half Subtractor)
Operações Aritméticas
0 0 1 0 Bo 0 1 1 1 0 1 1 1 0 0 0 0 S B AA e B = Variáveis para a subtração; S = Resultado da subtração;
Bo = Representa o Vem-um (Borrow-out).
Expressão(da tabela) S = A’.B + A.B’ = A ⊕ B Bo = A’.B A B S Bo Meio Subtrator MS A B S Bo
Meio Subtrator porque o circuito não considera um possível
Borrow-out da operação anterior.
Operações Aritméticas
Circuito Subtrator Completo (Full Subtractor)
1 0 0 0 1 1 1 0 Bo 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 1 0 S 1 1 0 0 1 0 1 0 0 0 0 0 Bi B A
A, B e Bi = Variáveis para a subtração; Bi = Borrow-in (Bo do estágio anterior). S = Resultado da subtração;
Bo = Vem-um de saída (Borrow-out).
11 01 0 0 1 1 0 0 1 -Bo Bi A2Bo A1Bi A0 B2 B1 B0 S2 S1 S0 -Exemplo: S = A’.B’.Bi + A’.B.Bi’+A.B’.Bi’+A.B.Bi Bo = A’.B’.Bi + A’.B.Bi’ + A’.B.Bi + A.B.Bi
Expressão (da tabela):
S = A’.B’.Bi + A’.B.Bi’+A.B’.Bi’+A.B.Bi conforme demonstrado anteriormente,
S = A ⊕ B ⊕ Bi
Operações Aritméticas
0 1 1 0 0 1 1 0 00 0 1 AB Bi 01 11 10 Não há simplificação 0 0 1 0 1 1 1 0 00 0 1 AB Bi 01 11 10Bo = A’.B’.Bi + A’.B.Bi’ + A’.B.Bi + A.B.Bi
A B S Bo Subtrator Completo SC Bi A B Bi Bo S
Operações Aritméticas
Implementação: S = A ⊕ B ⊕ BiAssociação de Subtratores
Operações Aritméticas
Para obter, por exemplo, um circuito subtrator binário de 4 bits, utiliza-se um meio subtrator (para a operação com os bits menos significativos) e três subtratores completos para a operação dos demais bits.
A B Bi SC Bo S A B Bi SC Bo S A B Bi SC Bo S A B MS Bo S S0 S1 S2 S3 Co3 B0 A0 B1 A1 B2 A2 B3 A3 A3 A2 A1 A0
Bo2=Bi3 Bo1=Bi2 Bo0=Bi1
B3 B2 B1 B0
-Operações Aritméticas
Operações aritméticas de soma e subtração de números em formato binário são mais facilmente realizadas no sistema de complemento de 2.
A operação de subtração é realizada usando um circuito somador.
Somente um circuito eletrônico para as operações de adição e subtração (sempre que o complemento de 2 for utilizado).!!
- A operação de subtração pode ser realizada da seguinte forma: A – B = A + (– B)
- Um número negativo pode ser representado pelo seu complemento acrescido de uma unidade, ou seja:
– B = B’+1
- Dessa forma, pode-se escrever A – B = A + (– B) = A + B’+1
Operações Aritméticas
Subtração no sistema de complemento de 2.
Exemplo: subtraia 9 de (-4), considerando uma palavra de 5 bits.
4 = 00100 e -4 = 11100 ; 9 = 01001 e -9 = 10111
- O vai um mais a esquerda é desconsiderado. - Números negativos em complemento de 2.
- O bit mais a esquerda (MSB) indica se o número está em complemento de 2.
1 1 1 0 0 (-4) + 1 0 1 1 1 (-9)
00011110 (+30) 11110111 (-9) 1 00010101 (+21) positivo + desconsiderar 11100010 (-30) 00001001 (+9) 1 1101011 (-21) 0 0010100 + 1 0 0 010101 (+21) negativo positivo
Operações Aritméticas
Considerando uma palavra de 8 bits, efetue 30 - 9 e -30 + 9. Sabe-se que: 30 = 00011110 e 9 = 00001001
Operações Aritméticas
Considere a adição de +9 com +8 ( o quinto bit corresponde ao bit de sinal):
0 1 0 0 1 (+9) + 0 1 0 0 0 (+8)
1 0 0 0 1 Resultado errado!
Soma de dois números positivos deve resultar em outro número positivo.
Há ocorrência de overflow no bit de sinal.
Em operação de subtração, overflow poderá ocorrer quando minuendo e subtraendo tiverem sinais diferentes.
18
Operações Aritméticas
Multiplicação de números binários.
O procedimento envolve a multiplicação por um bit do multiplicador de cada vez. Os produtos parciais são sucessivamente deslocados a esquerda. Exemplo: 1 0 0 1 (+ 9) 1 0 1 1 (+ 11) 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 ____________ 1 1 0 0 0 1 1 ( 99)
- Use complemento de 2 para números negativos.
- O caso que merece atenção é quando um
dos números é negativo. Obtenha o
complemento de 2 desse número, realize a operação, e aplique o complemento de 2 ao resultado.
Operações Aritméticas
Divisão de números binários.Similar a divisão no formato decimal.
Operações Aritméticas
Somador de 4 Bits: Exemplo de Somador / Subtrator
Ci0 A0 A1 A2 A3 B0 B1 B2 B3 S0 S1 S2 S3 Co3 74283 A B S 0 1 1 1 0 1 1 1 0 0 0 0 S B A
Analisando a tabela verdade da porta XOR, percebe-se que: Se A = 0 S = B
Se A = 1 S = B’ Somador Binário 74283
A e B = Entrada de 4 bits para soma S = Saída de 4 bits (resultado)
Ci0 = Entrada vai-um de um possível estágio anterior Co3 = Saída vai-um para um possível estágio posterior
Operações Aritméticas
Ci0 A0 A1 A2 A3 B0 B1 B2 B3 S0 S1 S2 S3 Co3 74283 A0 A1 A2 A3 B0 B1 B2 B3 M S0 S1 S2 S3 Co3 Operação Se M = 0 Operação Adição A3 A2 A1 A0 + B3 B2 B1 B0Se M = 1 Operação Subtração A3 A2 A1 A0 - B3 B2 B1 B0, pois S = A3 A2 A1 A0 + B3’ B2’ B1’ B0’ + 1, que corresponde a
Operações Aritméticas
Unidade Lógica e Aritmética.
Em sistemas digitais as operações aritméticas são realizadas na unidade lógica e aritmética (ULA).
Unida Lógica e Aritmética
- O acumulador e o registrador B são elementos de memória. - O resultado final é mantido no acumulador, podendo ser transferido para a memória.
Operações Aritméticas
Associando um circuito somador
Somador paralelo de 4 bits usando o CI 74HC283.
Somador paralelo de 8 bits
implementado com 2 CIs 74HC283
Operações Aritméticas
Propagação do carry.
Na figura anterior, S3 somente alcança seu valor correto quando o carry gerado na saída do primeiro somador se propague através de todos os somadores.
Limitação de velocidade proibitiva quando alta velocidade é requerida.
Atraso de propagação é reduzido utilizando a técnica do carry antecipado (look-ahead carry).
Nessa técnica, circuitos lógicos analisam os bits de ordem mais baixa para determinar se um carry de mais alta ordem deve ser gerado.
Operações Aritméticas
Adição e subtração em complemento de 2 usando o CI 74LS283.
do registrador A do registrador Resultado da soma Representação em complemento de 2 de -3 Adição de -3 com +6
Operações Aritméticas
Subtração: Representa a diferença ignorado Saídas invertidas do registro B O complemento de 2 é obtido a partir do complemento de 1 e somando 1 ao LSB. • As saídas invertidas do registrador B formam o complemento de 1. • Colocando C0 = 1 soma-se 1 ao LSB.Operações Aritméticas
Circuito completo para a adição e subtração.
• ADD = 1, SUB = 0: Operação de adição. (Sub = 0 C0 = 0).
• ADD = 0, SUB = 1: Operação de subtração (B’ C0 = 1).
• Resultado armazenado em A através do pulso transfer.
- Conforme discutido, as operações aritméticas possuem o mesmo modo de operação, independentemente da base utilizada.