Buscar

1709030976194Aula 14 - Aritmética Binária

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Federal de Sergipe
Centro de Ciências Exatas e Tecnologia
Departamento de Engenharia Elétrica
Circuitos Digitais
Aritmética Binária
Prof. Marcos Vinícius Silva Alves
2023/2
ARITMÉTICA BINÁRIA
Sumário
I. Introdução
II. Circuitos Somadores Básicos
III. Representação de números binários com sinal
IV. Adição e subtração no sistema Comp. 2
V. Circuito Somador/Subtrator de números no sistema Comp. 2
VI. CD4008 - Somador de 4 bits
DEL-UFS Marcos V. S. Alves 2/51
I. Introdução
ARITMÉTICA BINÁRIA
I. INTRODUÇÃO
Aritmética binária
▶ O sistema de numeração binário é, como o sistema decimal,
um sistema de numeração posicional . Isso torna as
operações aritméticas nesses sistemas similares.
▶ Nessa disciplina, estudaremos:
• As operações básicas de soma e subtração para números
binários representados em ponto fixo.
• Em sistemas de ponto fixo, a quantidade de bits para
representar a parte fracionária é constante.
• Trabalharemos apenas com números inteiros, com e sem
sinal .
• Um outro sistema de representação é o ponto flutuante, no
qual os números apresentam quantidade variável de bits para a
parte fracionária, esse assunto não será abordado.
DEL-UFS Marcos V. S. Alves 4/51
ARITMÉTICA BINÁRIA
I. INTRODUÇÃO
Adição de números binários sem sinal
▶ Em sistemas posicionais, podemos executar operações de soma
e subtração computando o resultado um dígito de cada vez:
Soma no sistema decimal
1 1 ← carry
+ 1 5 4
8 6 3
1 0 1 7
▶ Inicia-se com a soma dos
LSDs, e calcula-se dígito a
dígito até o MSD;
▶ Sempre que uma soma
excede 9, tem-se um “vai
um” (carry).
Soma no sistema binário
1 ← carry
+ 1 0 1 0 1010
1 1 0 0 1210
1 0 1 1 0 2210
▶ Inicia-se com a soma dos
LSBs, e calcula-se bit a bit
até chegar ao MSB;
▶ Sempre que uma soma
excede 1, tem-se um “vai
um” (carry).
DEL-UFS Marcos V. S. Alves 5/51
ARITMÉTICA BINÁRIA
I. INTRODUÇÃO
Subtração de números binários sem sinal
▶ A subtração de dois números binários positivos também pode
ser feita da maneira usual:
• Inicia-se com o LSB, e calcula-se a subtração bit a bit até o
MSD;
• Quando o bit do minuendo for menor que o do subtraendo,
tem-se um “empréstimo”.
-1 ← emprestado
− 1 0 1 0 1010
0 1 0 0 410
0 1 1 0 610
-1 -1 ← emprestado
− 1 0 0 410
0 0 1 110
0 1 1 310
DEL-UFS Marcos V. S. Alves 6/51
II. Circuitos Somadores Básicos
ARITMÉTICA BINÁRIA
II. CIRCUITOS SOMADORES BÁSICOS
Meio somador (half adder)
A B S COUT
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
DEL-UFS Marcos V. S. Alves 8/51
ARITMÉTICA BINÁRIA
II. CIRCUITOS SOMADORES BÁSICOS
Somador completo (full adder)
S = ABCIN +ABCIN +ABCIN +ABCIN
= CIN(AB+AB)+CIN(AB+AB)
= CIN(A⊕B)+CIN(A⊕B) = CIN ⊕A⊕B
COUT = ACIN +BCIN +AB
DEL-UFS Marcos V. S. Alves 9/51
ARITMÉTICA BINÁRIA
II. CIRCUITOS SOMADORES BÁSICOS
Somador completo (full adder)
DEL-UFS Marcos V. S. Alves 10/51
ARITMÉTICA BINÁRIA
II. CIRCUITOS SOMADORES BÁSICOS
Somador completo a partir de meio somadores
Note que:
S1 = A⊕B
COUT1 = A ·B
S2 = CIN ⊕S1
COUT2 = CIN ·S1
Portanto:
S = CIN ⊕A⊕B
COUT = A ·B+CIN · (A⊕B)
= A ·B+CIN · (A+B)
DEL-UFS Marcos V. S. Alves 11/51
ARITMÉTICA BINÁRIA
II. CIRCUITOS SOMADORES BÁSICOS
Somador em paralelo
S4S3S2S1S0 = A4A3A2A1A0+B4B3B2B1B0
LSBMSB
DEL-UFS Marcos V. S. Alves 12/51
ARITMÉTICA BINÁRIA
II. CIRCUITOS SOMADORES BÁSICOS
Limitações do somador com carry ondulante
▶ Um somador com carry ondulante é aquele no qual a saída de
carry de cada somador-completo é conectada à entrada de
carry do próximo somador de maior ordem.
▶ A soma e o carry out de saída de um estágio não podem ser
gerados antes que o carry in seja estabelecido. Isso provoca
um atraso no processo de adição.
DEL-UFS Marcos V. S. Alves 13/51
ARITMÉTICA BINÁRIA
II. CIRCUITOS SOMADORES BÁSICOS
Somadores com cary antecipado
▶ O somador com carry antecipado é muito mais rápido que o
somador com carry ondulante.
▶ Esse somador antecipa o carry de saída de cada estágio
produzindo o carry de saída (Cout) por meio da geração ou da
propagação de carry :
• Geração (Cg ). Um carry de saída é produzido (gerado)
internamente pelo somador-completo, quando os dois bits de
entrada são 1s:
Cg = A ·B
• Propagação (Cp). Um carry de entrada passa através do
somador (ondulação) até se tornar um carry de saída, podendo
ocorrer quando ao menos uma de suas entradas for 1:
Cp = A+B
▶ O carry de saída de cada estágio será Cout = Cg +Cp ·Cin
DEL-UFS Marcos V. S. Alves 14/51
ARITMÉTICA BINÁRIA
II. CIRCUITOS SOMADORES BÁSICOS
Somadores com cary antecipado
▶ Equações do carry de cada estágio para um somador paralelo
de 4 estágios (4 bits):
▶ Note que o carry de cada estágio depende apenas das entradas
A e B dele e dos estágio anteriores e do carry de entrada do
primeiro estágio, Cin1.
DEL-UFS Marcos V. S. Alves 15/51
ARITMÉTICA BINÁRIA
II. CIRCUITOS SOMADORES BÁSICOS
Somadores com cary antecipado
DEL-UFS Marcos V. S. Alves 16/51
III. Representação de números binários com sinal
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
Representação de números binários com sinal
▶ Para efetua operações com números negativos e positivos, é
necessário representar o sinal do número (+ ou –).
▶ Estudaremos dois sistemas de representação de números
binários com sinal: o sistema sinal-magnitude e o sistema de
complemento de 2 .
▶ Ambos utilizam um bit (o mais a esquerda), denominado bit
de sinal , para determinar o sinal do número.
Bit de sinal
0 (+) 1(-)
Representação da Magnitude
▶ A diferença entre o sistema sinal-magnitude e o sistema de
complemento de 2 está na forma de representar a magnitude.
DEL-UFS Marcos V. S. Alves 18/51
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
Sistema sinal-magnitude
▶ No sistema sinal-magnitude, o bit mais a esquerda é o bit de
sinal, e os demais bits, denominados bits de magnitude,
armazenam o equivalente binário direto do valor decimal
representado:
▶ Embora esse sistema seja uma representação direta, ele não é
normalmente utilizado, porque a implementação de circuitos
aritméticos se torna mais complexa que em outros sistemas.
DEL-UFS Marcos V. S. Alves 19/51
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
Sistema de complemento de 2
▶ O sistema de complemento de 2 é o sistema de
representação de números binários com sinal mais usado.
▶ Como veremos mais adiante, esse sistema permite que
operações de soma e subtração sejam feitas praticamente pelo
mesmo circuito.
▶ Para compreender como é feita a representação de números
nesse sistema, temos que saber como determinar os
complementos de 1 e de 2 de um número binário.
DEL-UFS Marcos V. S. Alves 20/51
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
Complemento de 1 de um número
▶ O complemento de 1 de um número binário é obtido
substituindo cada 0 por um 1 e cada 1 por um 0.
▶ Em outras palavras, substitui-se cada bit do número binário
por seu complemento.
▶ Exemplo:
número original → 1 1 1 0 1 0 0
↓ ↓ ↓ ↓ ↓ ↓ ↓
complemento de 1 → 0 0 0 1 0 1 1
Então, dizemos que o complemento de 1 de 1110100 é 0001011.
DEL-UFS Marcos V. S. Alves 21/51
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
Complemento de 2 de um número
▶ O complemento de 2 de um número binário é obtido em dois
passos:
• Calcula-se o complemento de 1 do número;
• Em seguida, soma-se 1 ao complemento de 1.
▶ Exemplo:
número original (11610) → 1 1 1 0 1 0 0
↓ ↓ ↓ ↓ ↓ ↓ ↓
complemento de 1 → 0 0 0 1 0 1 1
+ 1
complemento de 2 → 0 0 0 1 1 0 0
Então, dizemos que 0001100 é a representação em
complemento de 2 de 1110100.
DEL-UFS Marcos V. S. Alves 22/51
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
Complemento de 2 de um número - Exemplos
número original (2310) → 1 0 1 1 1
↓ ↓ ↓ ↓ ↓
0 1 0 0 0 ← complemento de 1
+ 1
0 1 0 0 1 ← complemento de 2
número original (1510) → 1 1 1 1
↓ ↓ ↓ ↓
0 0 0 0 ← complemento de 1
+ 1
0 0 0 1 ← complemento de 2
DEL-UFS Marcos V. S. Alves23/51
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
Representação de números com sinal usando complemento
de 2
▶ Número positivo: a magnitude é representada na forma
binária direta, e um bit de sinal 0 é colocado a esquerda.
▶ Número negativo: a magnitude é representada na forma do
complemento de 2, e um bit de sinal 1 é colocado a esquerda.
DEL-UFS Marcos V. S. Alves 24/51
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
Representação em complemento de 2 - Exemplos
▶ Represente o número +1110 no sistema de complemento de 2,
usando um total de 5 bits, incluindo o bit de sinal.
bit de sinal → 0 1 0 1 1 ← binário verdadeiro
Portanto, a representação de +1110 em complemento de 2
(com 5 bits) é 01011.
DEL-UFS Marcos V. S. Alves 25/51
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
Representação em complemento de 2 - Exemplos
▶ Represente o número −910 no sistema de complemento de 2,
usando um total de 5 bits, incluindo o bit de sinal.
• Inicialmente, calculamos a representação de 910 em
complemento de 2:
910 → 1 0 0 1
↓ ↓ ↓ ↓
0 1 1 0 ← complemento de 1
+ 1
0 1 1 1 ← complemento de 2
• Em seguida, basta incluir o bit de sinal:
bit de sinal → 1 0 1 1 1 ← complemento de 2
• Portanto, a representação de −910 em complemento de 2 (com
5 bits) é 10111.
DEL-UFS Marcos V. S. Alves 26/51
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
O complemento de 2 como operação de negação
▶ Calcular o complemento de 2 de um número com sinal
(representado no sistema complemento de 2) é “análogo” a
multiplicá-lo por (-1), isto é, calcular o seu oposto:
• Aplicar o Comp. 2 em um número positivo resulta em seu
oposto negativo;
• Aplicar o Comp. 2 em um número negativo resulta em seu
oposto positivo.
▶ Exemplos:
+910 = 01001
Comp. 2
−−−−−−−→ 10111=−910
Comp. 2
−−−−−−−→ 01001=+910
010 = 00000
Comp. 2
−−−−−−−→ 00000 = 010
Observação: Note que o bit de sinal foi incluído nos cálculos dos
complementos de 2. Isso sempre pode ser feito.
DEL-UFS Marcos V. S. Alves 27/51
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
Intervalo de números representados em complemento de 2
com N+1 bits
▶ Em geral, quando trabalhamos com o sistema de complemento
de 2, utilizamos um número fixo de bits para armazenar cada
número positivo ou negativo.
▶ Utilizando N+1 bits, teremos:
• 1 bit de sinal;
• N bits de magnitude;
Nesse caso, iremos conseguir representar números no intervalo
de −2N a +(2N −1).
▶ Exemplo: com 4 bits (1 bit de sinal e 3 bits de magnitude)
conseguimos representar em complemento de 2 os números de
−8 =−23 a 7 = 23−1.
DEL-UFS Marcos V. S. Alves 28/51
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
Intervalo de números representados em complemento de 2
com 4 bits
▶ Com 4 bits (1 bit de sinal e 3 bits de magnitude) conseguimos
representar em complemento de 2 os números de -8 a 7.
Número Representação em Número Representação em
Decimal Complemento de 2 Decimal Complemento de 2
7 0111 -1 1111
6 0110 -2 1110
5 0101 -3 1101
4 0100 -4 1100
3 0011 -5 1011
2 0010 -6 1010
1 0001 -7 1001
0 0000 -8 1000
DEL-UFS Marcos V. S. Alves 29/51
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
Caso especial
▶ Sempre que um número com sinal tiver um 1 no bit de sinal e
todos os bits de magnitude forem 0, seu equivalente decimal
será −2N , em que N é o número de bits da magnitude.
1000 = −23 =−8
10000 = −24 =−16
100000 = −25 =−32
▶ Nesse caso, tomar o complemento de 2 produz o valor com o
qual começamos, pois estamos no limite negativo do intervalo
de números que podem ser representados com esses bits.
▶ Para representar o oposto positivo desses números,
precisaremos de 1 bit a mais do que aqueles usados nas suas
representações. Ex.: 810 = 01000, 1610 = 010000 e
3210 = 0100000.
DEL-UFS Marcos V. S. Alves 30/51
ARITMÉTICA BINÁRIA
III. REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL
Extensão de sinal
▶ Em alguns casos, precisamos armazenar um número
inicialmente com x bits em um registrador capaz de armazenar
y bits, em que y > x . Para fazer isso, precisamos estender o
número original de x bits, adicionando novos bits até obter
uma representação desse número com y bits.
▶ Números positivos. Para estender um número positivo, basta
acrescentar a quantidade necessária de zeros 0 a sua esquerda:
Representação em Comp. 2 de +910
▶ Números negativos. Para estender um número negativo, basta
acrescentar a quantidade necessária de uns 1 a sua esquerda:
Representação em Comp. 2 de -910
DEL-UFS Marcos V. S. Alves 31/51
IV. Adição e subtração no sistema Comp. 2
ARITMÉTICA BINÁRIA
IV. ADIÇÃO E SUBTRAÇÃO NO SISTEMA COMP. 2
Adição e subtração no sistema de complemento de 2
▶ Sejam A10 e B10 dois números decimais positivos.
Podemos executar as seguintes operações de adição e subtração:
• A10+B10 • −A10+B10 = (−1) ·A10+B10
• A10−B10 = A10+(−1) ·B10 • −A10−B10 = (−1) ·A10+(−1) ·B10
▶ Como visto, aplicar o complemento de 2 em um número
binário com sinal é análogo a multiplicá-lo por (−1).
▶ Sejam A2 e B2 os equivalentes binários de A10 e B10,
respectivamente. Então, as operações anteriores podem ser
executadas (em binário) das formas a seguir:
• A2+B2 • −A2+B2 = Comp2(A2)+B2
• A2−B2 = A2+Comp2(B2) • −A2−B2 = Comp2(A2)+Comp2(B2)
DEL-UFS Marcos V. S. Alves 33/51
ARITMÉTICA BINÁRIA
IV. ADIÇÃO E SUBTRAÇÃO NO SISTEMA COMP. 2
Exemplos de adição e subtração
▶ 810+510:
810 + 0 1 0 0 0
510 0 0 1 0 1
1310 0 1 1 0 1
▶ 810−510:
1 1
810 + 0 1 0 0 0
−510 1 1 0 1 1
310 0 0 0 1 1
O último carry (em vermelho) é
ignorado.
DEL-UFS Marcos V. S. Alves 34/51
ARITMÉTICA BINÁRIA
IV. ADIÇÃO E SUBTRAÇÃO NO SISTEMA COMP. 2
Exemplos de adição e subtração
▶ −810+510:
−810 + 1 1 0 0 0
510 0 0 1 0 1
−310 1 1 1 0 1
▶ −810−510:
1 1
−810 + 1 1 0 0 0
−510 1 1 0 1 1
−1310 1 0 0 1 1
O último carry (em vermelho) é
ignorado.
DEL-UFS Marcos V. S. Alves 35/51
ARITMÉTICA BINÁRIA
IV. ADIÇÃO E SUBTRAÇÃO NO SISTEMA COMP. 2
Exemplos de adição e subtração
▶ 810−810:
1 1
810 + 0 1 0 0 0
−810 1 1 0 0 0
010 0 0 0 0 0
O último carry (em vermelho) é
ignorado.
▶ 510−510:
1 1 1 1 1
510 + 0 0 1 0 1
−510 1 1 0 1 1
010 0 0 0 0 0
O último carry (em vermelho) é
ignorado.
DEL-UFS Marcos V. S. Alves 36/51
ARITMÉTICA BINÁRIA
IV. ADIÇÃO E SUBTRAÇÃO NO SISTEMA COMP. 2
Overflow (transbordamento) aritmético
▶ 810+910:
1
810 + 0 1 0 0 0
910 0 1 0 0 1
? 1 0 0 0 1
Como a soma de dois números positivos pode ser um número
negativo?
A resposta é que a conta está errada.
O resultado correto seria 1710, que não pode ser representado no
sistema complemento de 2 com apenas 5 bits (1710 ≡ 010001)
(Overflow)
DEL-UFS Marcos V. S. Alves 37/51
ARITMÉTICA BINÁRIA
IV. ADIÇÃO E SUBTRAÇÃO NO SISTEMA COMP. 2
Overflow (transbordamento) aritmético
▶ −810−910:
1
−810 + 1 1 0 0 0
−910 1 0 1 1 1
? 0 1 1 1 1
Como a soma de dois números negativos pode ser um número
positivo?
A resposta é que a conta está errada.
O resultado correto seria −1710, que não pode ser representado no
sistema complemento de 2 com apenas 5 bits (−1710 ≡ 101111)
(Overflow)
DEL-UFS Marcos V. S. Alves 38/51
ARITMÉTICA BINÁRIA
IV. ADIÇÃO E SUBTRAÇÃO NO SISTEMA COMP. 2
Detecção de overflow aritmético
▶ O overflow ocorre apenas quando dois números positivos ou
dois negativos são somados;
▶ O overflow pode ser detectado verificando se o bit de sinal do
resultado tem o mesmo valor dos bits de sinal dos números
que estão sendo somados.
▶ 810+910:
0 1 0 0 0
810 + 0 1 0 0 0
910 0 1 0 0 1
? 1 0 0 0 1
▶ −810−910:
1 0 0 0 0
−810 + 1 1 0 0 0
−910 1 0 1 1 1
? 0 1 1 1 1
▶ Outra forma de detectar a ocorrência de um overflow é
verificar se os dois últimos carry são diferentes.
DEL-UFS Marcos V. S. Alves 39/51
ARITMÉTICA BINÁRIA
IV. ADIÇÃO E SUBTRAÇÃO NO SISTEMA COMP. 2
Detecção de overflow aritmético
▶ Para demonstrar a equivalência entre as duas formas de
verificação de overflow descritas no slideanterior, considere a
seguinte soma de dois números de N+1 bits:
CN CN−1 CN−2 C0
+ AN AN−1 . . . A1 A0
ZN ZN−1 . . . Z1 Z0
SN SN−1 . . . S1 S0
A demonstração de que as proposições
(
AN = ZN ̸= SN
)
e(
CN ̸= CN−1
)
são equivalentes é feita a seguir:
AN ZN CN−1 SN CN
(
AN = ZN ̸= SN
) (
CN ̸= CN−1
)
0 0 0 0 0 0 0
0 0 1 1 0 1 1
0 1 0 1 0 0 0
0 1 1 0 1 0 0
1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 1 1 1
1 1 1 1 1 0 0
DEL-UFS Marcos V. S. Alves 40/51
ARITMÉTICA BINÁRIA
IV. ADIÇÃO E SUBTRAÇÃO NO SISTEMA COMP. 2
Círculos numéricos
Número Representação em
Decimal Complemento de 2
7 0111
6 0110
5 0101
4 0100
3 0011
2 0010
1 0001
0 0000
-1 1111
-2 1110
-3 1101
-4 1100
-5 1011
-6 1010
-7 1001
-8 1000
DEL-UFS Marcos V. S. Alves 41/51
V. Circuito Somador/Subtrator de números no
sistema Comp. 2
ARITMÉTICA BINÁRIA
V. CIRCUITO SOMADOR/SUBTRATOR DE NÚMEROS NO SISTEMA COMP. 2
Subtrator completo
▶ O projeto de um subtrator completo pode ser feito seguindo os
mesmos passos adotados no projeto do somador completo:
CIN A B S COUT
0 0 0 0 0
0 0 1 1 1
0 1 0 1 0
0 1 1 0 0
1 0 0 1 1
1 0 1 0 1
1 1 0 0 0
1 1 1 1 1
▶ Contudo, não é isso que queremos! Iremos projetar um
circuito que faça ambas as operações: adição e
subtração.
DEL-UFS Marcos V. S. Alves 43/51
ARITMÉTICA BINÁRIA
V. CIRCUITO SOMADOR/SUBTRATOR DE NÚMEROS NO SISTEMA COMP. 2
Circuito Somador/Subtrator
▶ Nesse circuito, além das entradas de dados, em que
carregamos os números A e B que serão somados/subtraídos,
teremos uma entrada de controle op, tal que:
• op = 0: o circuito executa a adição A+B;
• op = 1: o circuito executa a subtração A−B;
▶ A ideia é executar a subtração A−B calculando o
complemento de 2 de B , isto é, A−B = A+Comp2(B).
DEL-UFS Marcos V. S. Alves 44/51
ARITMÉTICA BINÁRIA
V. CIRCUITO SOMADOR/SUBTRATOR DE NÚMEROS NO SISTEMA COMP. 2
Circuito Somador/Subtrator
X4 X0X3 X1X2
▶ Nesse circuito, as portas
XOR operam como
“inversores controlados”
por op:
• op = 0: Xi = Bi ,
i = 0, . . . ,4;
• op = 1: Xi = Bi ,
i = 0, . . . ,4;
▶ Dessa forma:
• op = 0: X = B;
• op = 1: X é o Comp.
de 1 de B;
▶ Note que C0 = op. Portanto, quando op = 1, teremos
A+(Comp1(B)+1) = A+Comp2(B) = A−B .
DEL-UFS Marcos V. S. Alves 45/51
ARITMÉTICA BINÁRIA
V. CIRCUITO SOMADOR/SUBTRATOR DE NÚMEROS NO SISTEMA COMP. 2
Circuito detector de overflow no Somador/Subtrator
▶ O overflow só poderá ocorrer quando dois números positivos
ou dois negativos são somados. Quando ocorrer o overflow, o
bit de sinal do resultado não terá o mesmo valor dos bits de
sinal dos números somados.
▶ Em uma soma de números com sinal representados com N+1
bits, SNSN−1 . . .S0 = ANAN−1 . . .A0+ZNZN−1 . . .Z0:
overflow⇔
(
AN = ZN ̸= SN
)
• Outra forma de detectar a ocorrência de um overflow é
verificar se os dois últimos carry são diferentes:
overflow⇔
(
CN ̸= CN−1
)
Observação: a equivalência dos métodos foi demonstrada no
Slide 40.
DEL-UFS Marcos V. S. Alves 46/51
ARITMÉTICA BINÁRIA
V. CIRCUITO SOMADOR/SUBTRATOR DE NÚMEROS NO SISTEMA COMP. 2
Circuito detector de overflow no Somador/Subtrator
O = 1 → overflow
O = 0 → o resultado da adição/subtração
está correto.
DEL-UFS Marcos V. S. Alves 47/51
VI. CD4008 - Somador de 4 bits
ARITMÉTICA BINÁRIA
VI. CD4008 - SOMADOR DE 4 BITS
CI CD4008 - Somador de 4 bits
DEL-UFS Marcos V. S. Alves 49/51
ARITMÉTICA BINÁRIA
VI. CD4008 - SOMADOR DE 4 BITS
Referências e fontes das imagens
T. Floyd, Sistemas digitais: Fundamentos e aplicações, 9a ed.,
Bookman, Porto Alegre, 2007.
Manuais (datasheets) de dispositivos, disponíveis na internet.
R. J. Tocci, N. S. Widmer, and G. L. Moss, Sistemas digitais:
princípios e aplicações, 11a ed., Pearson Prentice Hall, São
Paulo, 2011.
DEL-UFS Marcos V. S. Alves 50/51
Circuitos Digitais
Aritmética Binária
Prof. Marcos Vinícius Silva Alves
email: marcosvsalves@academico.ufs.br
2023/2
	Introdução
	Circuitos Somadores Básicos
	Representação de números binários com sinal
	Adição e subtração no sistema Comp. 2
	Circuito Somador/Subtrator de números no sistema Comp. 2
	CD4008 - Somador de 4 bits
	vi. A.

Continue navegando