SISTEMAS DIGITAIS
Circuitos combinatórios típicos:
circuitos aritméticos
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Outubro de 2005
Sistemas Digitais
1
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Circuitos aritméticos



Circuitos aritméticos são aqueles que
realizam operações aritméticas sobre
números binários
O circuito aritmético mais simples é o que
soma números de apenas 1 bit
Basta partir da conhecida tabela da soma
binária para o obter um semi-somador
Outubro de 2005
Sistemas Digitais
2
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Semi-somador

Tabela de verdade lógica de um semisomador
A+B
A=0
A=1
B=0
0
1
B=1
1
10
Outubro de 2005
Sistemas Digitais
AB
Soma
Transporte
00
0
0
01
1
0
10
1
0
11
0
1
3
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Semi-somador


Logigrama de um semi-somador
AB
Soma
Transporte
00
0
0
01
1
0
10
1
0
11
0
1
Cout  A  B
S  A B
O nome semi-somador vem do facto de este circuito
não permitir somar o transporte que venha de bits de
menor peso
Outubro de 2005
Sistemas Digitais
4
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Somador Completo

A um somador de 1 bit que tenha em conta
o transporte de somas anteriores chamase somador completo
Outubro de 2005
Sistemas Digitais
5
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Somador Completo

Tabela de verdade lógica e equações
A B Cin
S
Cout
0 0 0
0
0
0 0 1
1
0
0 1 0
1
0
0 1 1
0
1
1 0 0
1
0
1 0 1
0
1 1 0
0
1 1
1
1
1
AB
00
Cin
01
11
10
0
0
1
0
1
1
1
0
1
0
AB
00
Cin
01
11
10
0
0
0
1
0
1
0
1
1
1
S  Cin  A  B  Cin  A  B
 Cin  A  B  Cin  A  B
 A  B  Cin
Cout  A  B  Cin  A  Cin  B
 A  B  Cin   A  B 
1
1
Porquê?
Outubro de 2005
Sistemas Digitais
6
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Somador Completo

Logigrama de um somador completo
CO  A  B  CI  A  CI  B
S  A  B  CI
 A  B  CI   A  B 
Semi-somadores
Outubro de 2005
Sistemas Digitais
7
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Somadores de n bits


Assumindo blocos de somadores
completos, é possível construir somadores
de n bits
Exemplo: Um somador de 4 bits
Outubro de 2005
Sistemas Digitais
8
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Somadores de n bits

Somador iterativo de 4 bits
A
C
B
n
C
n-1
S
A
A
C
Ci 0
C
B
B
n
Outubro de 2005
n
0
A
0
A
n
C
n-1
S
n
n
0
S
Estrutura iterativa
(série)
Somador
completo
n
n
C
B
1
B
n
S
S
n
1
A
n
C
n-1
A
1
n
C
B
2
B
n
S
S
A
n
C
n-1
A
2
n
n
2
Sistemas Digitais
C
B
3
B
n
3
n
C
n-1
S
S
n
CC3o
n
3
9
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Somadores de n bits

Símbolo IEC de um somador sompleto de
:
4 bits

0
P
3
0
S
0
Q
3
3
CI
Outubro de 2005
CO
Sistemas Digitais
10
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Subtracções

O algoritmo da subtracção numa base
qualquer é semelhante ao da adição
 Se o aditivo é maior ou igual ao subtractivo,
faz-se a subtracção (em decimal)

Neste caso não é gerado transporte para a coluna
seguinte
 Se o aditivo é menor do que o subtractivo,
adiciona-se a base ao aditivo (em decimal) e só
depois se faz a subtracção

Neste caso gera-se um transporte igual a 1 para a
coluna seguinte
Outubro de 2005
Sistemas Digitais
11
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Subtracções


Ex. na base 10
15 (10)
- 7 (10)
8 (10)
Ex. na base 16
B5 (16)
- E (16)
A7 (16)
Outubro de 2005
Sistemas Digitais
12
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Números com Sinal


A representação de números inteiros tem
de ter em conta que os números podem
ser positivos, negativos ou o número 0
Uma das alternativas é a representação
por módulo e sinal, em que o bit mais
significativo indica o sinal. Se esse bit for
1 o número é negativo, se for 0 é positivo
Outubro de 2005
Sistemas Digitais
13
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Números com Sinal

Exemplo para números de 4 bits:
Representação
Número
representado
Representação
Número
representado
0000
0
1000
-0
0001
+1
1001
-1
0010
+2
1010
-2
0011
+3
1011
-3
0100
+4
1100
-4
0101
+5
1101
-5
0110
+6
1110
-6
0111
+7
1111
-7
Outubro de 2005
Sistemas Digitais
14
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Módulo e sinal

Inconvenientes:
 Duas representações diferentes para o zero
 O módulo e o sinal são processados de forma
diferente
 É necessário escolher a operação a realizar de
acordo com a operação desejada e o sinal dos
números envolvidos
Outubro de 2005
Sistemas Digitais
15
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Módulo e sinal

Por exemplo:
 Se pretendermos fazer a operação (+5) + (-3),
o que é realmente necessário fazer é a
subtracção 5-3 ficando o sinal positivo
 Se o problema for realizar (-5) + (+3), então
há que realizar também uma subtracção mas
do módulo do número negativo menos o do
positivo, isto é, 5-3, ficando depois o sinal
negativo
Outubro de 2005
Sistemas Digitais
16
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Módulo e sinal

Obviamente, tudo isto complica a
realização das operações (e, por
consequência, dos circuitos) que tenham
que realizar essas operações
Outubro de 2005
Sistemas Digitais
17
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2


Chama-se complemento para 2n de um
número X de n bits, ao resultado da
operação 2n – X
Por exemplo, o complemento para 2 de
0101 é:
10000
- 0101
1011
Outubro de 2005
Sistemas Digitais
18
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2


Se um número X tem n bits, então o seu
complemento para 2 é representado por n
bits
O complemento para 2 do complemento
para 2 de um número X é X:
 2n - (2n – X) = X
Outubro de 2005
Sistemas Digitais
19
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2

Formas alternativas de encontrar o
complemento para 2 de um número X:
 Inverter todos os bits de X e somar 1 ao
resultado
 Manter todos os 0’s menos significativos e
ainda o primeiro 1 de X, e inverter os
restantes bits mais significativos
Outubro de 2005
Sistemas Digitais
20
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2

Na representação de números com sinal em complemento
para 2, o bit mais significativo do número também indica o
sinal
 Se for 1 o número é negativo, se for 0 é positivo

Na representação de números com sinal em complemento
para 2
 Um número positivo é representado pelo seu módulo (como na
notação de sinal e módulo)
 Um número negativo é representado pelo complemento para 2
do seu módulo
Outubro de 2005
Sistemas Digitais
21
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2

Por exemplo, o número +6 é representado
em notação de complemento para 2 com 4
bits por 0110, e o número -6 é
representado por 1010:
 6 = 0110 ► complementando bit a bit, 1001
►1001 +1 = 1010 = -6

Repare-se que a determinação do
complemento para 2 de um número
positivo de n bits deixa automaticamente
o bit de sinal a 1
Outubro de 2005
Sistemas Digitais
22
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2

Os 16 números possíveis de representar em
complemento para 2 com 4 bits são:
Representação
Número
representado
Representação
Número
representado
0000
0
1000
-8
0001
+1
1001
-7
0010
+2
1010
-6
0011
+3
1011
-5
0100
+4
1100
-4
0101
+5
1101
-3
0110
+6
1110
-2
0111
+7
1111
-1
Outubro de 2005
Sistemas Digitais
23
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2




O intervalo de representação em complemento
para 2 é
[-2n-1, +2n-1-1]
Com 4 bits dá [-8,+7]
Com 5 bits dá [-16,+15]. Etc.
A razão da assimetria entre o número de
positivos e o de negativos radica no facto de não
haver duas representações para o 0 nesta
notação
Outubro de 2005
Sistemas Digitais
24
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2




Com esta representação, pode operar-se
sobre os números como em binário puro
O bit de transporte que resultar para
além do último deve ser descartado
Não precisamos de nos preocupar com o
bit de sinal dos operandos e do resultado
Desde que o resultado caiba em n bits, ele
está correcto
Outubro de 2005
Sistemas Digitais
25
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2

Exemplos
Soma de 2 positivos
(+2) + (+5) = +7
0010
0101
0111
Soma de 2 negativos
(-2) + (-5) = -7
1110
1011
11001
Ignora-se o transporte
porque sai dos 4 bits
utilizados na representação
Outubro de 2005
Sistemas Digitais
26
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2

Exemplos
Soma de 1 positivo com 1
negativo com resultado
negativo
Soma de 1 positivo com 1
negativo com resultado
positivo
(+5) + (-3) = +2
0101
1101
10010
(+2) + (-5) = -3
0010
1011
1101
Ignora-se o transporte porque sai
dos 4 bits utilizados na
representação
Outubro de 2005
Sistemas Digitais
27
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2



Quando a operação envolve dois números
com o mesmo sinal, é possível que o
resultado não possa ser representado com
o número de bits disponível.
Porque não “cabe” em n bits
A esta situação chama-se OVERFLOW
Outubro de 2005
Sistemas Digitais
28
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2

Por exemplo, 4 + 5 = 9, que não é
representável com 4 bits em notação de
complemento para 2
0100
0101
1001
O resultado é incoerente
pois dá, em notação de
complemento para 2, um
número negativo: (-7)
Outubro de 2005
Sistemas Digitais
29
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2


O overflow nunca ocorre em operações de
adição entre números com sinal contrário.
Prova-se que o overflow ocorre sempre
que o transporte para o bit de sinal é
diferente do transporte para o exterior
dos n bits
Outubro de 2005
Sistemas Digitais
30
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Complemento para 2

Geometricamente temos
0 - 0000
-1 - 1111
1 - 0001
-2 - 1110
2 - 0010
-3 - 1101
3 - 0011
-4 - 1100
4 - 0100
-5 - 1011
5 - 0101
-6 - 1010
6 - 0110
-7 - 1001
Outubro de 2005
-8 - 1000
Sistemas Digitais
7 - 0111
31
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Somador/Subtractor binário


Em complemento para 2, realizar a
subtracção x-y é o mesmo que realizar a
soma x + (-y)
Mas para isso precisamos de obter o
simétrico do subtractivo nessa notação
 no fundo, obter o complemento para 2 do
subtractivo
Outubro de 2005
Sistemas Digitais
32
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Somador/Subtractor binário


Se o conseguirmos fazer de forma fácil,
apenas precisamos de um somador para
fazer somas e subtracções em notação de
complemento para 2
Para obter o complemento para 2 do
subtractivo fazemos:
 Obtemos o seu complemento para 1, por troca
de 1s com 0s (usando um conjunto de XORs)
 Somamos 1 ao resultado que obtivermos
Outubro de 2005
Sistemas Digitais
33
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Somador/Subtractor binário
x
 1=x
x0=x
Controlo
Controlo
B
A  B  A  B 1
=1
Operação
0
1
A+B
A-B
=1
=1
=1

0
P
3
0
Resultado
S
0
3
A
Q
3
Outubro de 2005
Sistemas Digitais
CI
CO
34
Download

Circuitos aritmeticos 1