Você está na página 1de 49

Sistemas Digitais I

Aula 4-4
Prof. Dr. Stefan Michael Blawid
stefan@ene.unb.br
Tpicos
04/06/2013 SD1 - 4 Circuitos combinacionais 2
I. Somadores
a) Meio, Completo, Ripple-carry, Lookahead carry


II. Nmeros negativos


III.Unidade lgica e aritmtica (ALU)
Tpicos
04/06/2013 SD1 - 4 Circuitos combinacionais 3
I. Somadores
a) Meio, Completo, Ripple-carry, Lookahead carry


II. Nmeros negativos


III.Unidade lgica e aritmtica (ALU)
Soma de nmeros positivos
I. A soma de dois nmeros de 1 bit pode resultar em 4
valores distintos:
04/06/2013 SD1 - 4 Circuitos combinacionais 4
Somador completo
04/06/2013 SD1 - 4 Circuitos combinacionais 5
Circuito: Somador completo
04/06/2013 SD1 - 4 Circuitos combinacionais 6
Circuito decomposto
04/06/2013 SD1 - 4 Circuitos combinacionais 7
Soma de nmeros positivos
I. Nmeros maiores envolvem mais bits

II. Ainda assim, os bits so adicionados aos pares

III. Entretanto, para cada posio i do bit, a operao de
adio deve incluir uma informaco de vai-um da
posio i-1
04/06/2013 SD1 - 4 Circuitos combinacionais 8
Somador ripple-carry
04/06/2013 SD1 - 4 Circuitos combinacionais 9
I. A operao de adio iniciada no dgito menos
significativo e feita aos pares progredindo at o
dgito mais significativo.

II. Se um vai-um produzido em uma posio i, ele
ser adicionado aos operandos (dgitos) da posio i
+1.

III. Uma cadeia de somadores completos, conectados em
seqncia, pode executar essa operaco. Essa
configuraco chamada de somador ripple-carry,
em conseqncia do modo que o sinal de vai-um
transportado de estgio para estgio
Somador ripple-carry
04/06/2013 SD1 - 4 Circuitos combinacionais 10
Descrio com VHDL
Somador ripple-
carry de 4 bits
04/06/2013 SD1 - 4 Circuitos combinacionais 11
Somador ripple-carry
04/06/2013 SD1 - 4 Circuitos combinacionais 12
I. Cada somador completo introduz um certo atraso
antes de suas sadas s
i
and c
i+1
serem vlidas
II. Vamos supor que o atraso de cada somador
completo (estgio) seja dado por t:
a) O vai-um do primeiro estgio, c
1
, chega ao segundo
estgio t depois da aplicao das entradas x
0
e y
0
b) O vai-um do segundo estgio,c
2
, chega ao terceiro
estgio com um atraso de 2t, e assim por diante.
c) O sinal c
n-1
valido aps (n-1) t , e a soma completa
estar disponvel depois de um atraso de (n) t

III. O atraso, obviamente, depender do tamanho do
nmero (i.e. o nmero de bits)
Somador Carry look-ahead
04/06/2013 SD1 - 4 Circuitos combinacionais 13
Completo vs Carry look-ahead
04/06/2013 SD1 - 4 Circuitos combinacionais 14
Lgica Carry look-ahead
04/06/2013 SD1 - 4 Circuitos combinacionais 15
Lgica Carry look-ahead
Das Bild kann nicht angezeigt werden. Dieser Computer verfgt mglicherweise ber zu wenig Arbeitsspeicher, um das Bild zu ffnen, oder das Bild ist beschdigt. Starten Sie den Computer neu, und ffnen Sie dann erneut die Datei. Wenn weiterhin das rote x
angezeigt wird, mssen Sie das Bild mglicherweise lschen und dann erneut einfgen.
04/06/2013 SD1 - 4 Circuitos combinacionais 16
74x283 Somador 4-bit
04/06/2013 SD1 - 4 Circuitos combinacionais 17
Viso mais prxima
04/06/2013 SD1 - 4 Circuitos combinacionais 18
Ripple carry entre grupos
04/06/2013 SD1 - 4 Circuitos combinacionais 19
Look-ahead carry entre grupos
04/06/2013 SD1 - 4 Circuitos combinacionais 20
Tpicos
04/06/2013 SD1 - 4 Circuitos combinacionais 21
I. Somadores
a) Meio, Completo, Ripple-carry, Lookahead carry


II. Nmeros negativos


III.Unidade lgica e aritmtica (ALU)
Nmeros negativos (signed)
I. Para nmeros negativos, no sistema binrio, o sinal
representado pelo bit mais esquerda (mais
significativo):
a) 0 = positivo
b) 1 = negativo

II. Para um nmero de n bits, os n-1 bits restantes
representam a magnitude
04/06/2013 SD1 - 4 Circuitos combinacionais 22
Nmeros negativos (signed)
04/06/2013 SD1 - 4 Circuitos combinacionais 23
I. Existem 3 formatos de se representar nmeros
negativos
a) sinal-magnitude
b) Complemento de 1
c) Complemento de 2
-
II. Sinal-magnitude usa um bit para o sinal (0=+, 1=-)
e o restante para a magnitude, como se fosse um
nmero sem sinal (unsigned)
a) Por exemplo, usando-se nmeros de 4 bits:
(+5)
10
=(0101)
2
, (-5)
10
=(1101)
2
, (+3)
10
=(0011)
2
,
(-3)
10
=(1011)
2
, (+7)
10
=(0111)
2
, (-7)
10
=(1111)
2
b) Apesar da fcil compreenso a implementao desta
representao no fcil
Complemento de 1
04/06/2013 SD1 - 4 Circuitos combinacionais 24
I. A representao em complemento de 1, um nmero
negativo K de n bits obtido subtraindo seu nmero
positivo equivalente, P, de 2
n
-1 : K=(2
n
-1)-P

II. Por exemplo, se n=4 ento
a) K=(2
4
-1)-P = (15)
10
-P = (1111)
2
-P
b) -5 = (15)
10
-5=(1111)
2
-(0101)
2
=(1010)
2
c) -3=(15)
10
-3=(1111)
2
-(0011)
2
=(1100)
2

III. Dos exemplos acima pode-se notar que o complemento
de 1 pode ser formado simplesmente complementando
cada bit do nmero, incluindo o bit do sinal.
-
IV. Nmeros em complemento de 1 tm algumas
desvantagens quando usados em operaes aritmticas.
Complemento de 2
04/06/2013 SD1 - 4 Circuitos combinacionais 25
I. Na representao em complemento de 2 um nmero
de n bits K obtido subtraindo seu equivalente
positivo, P, de 2
n
: K=2
n
-P

II. Por exemplo, se n=4, ento:
a) K=2
4
-P=(16)
10
-P=(10000)
2
-P
b) -5=(16)
10
-5=(10000)
2
-(0101)
2
=(1011)
2
c) -3=(16)
10
-3=(10000)
2
-(0011)
2
=(1101)
2

III. Uma maneira simples de achar o complemento de 2
de um nmero somar 1 ao seu complemento de 1
Regra (prtica)
I. Dado um nmero com sinal, B=b
n-1
b
n-2
b
1
b
0
, seu
complemento de 2, K=k
n-1
k
n-2
k
1
k
0
, pode ser achado
do seguinte modo:
a) Examinando-se todos os bits em B, da direita para a
esquerda, e complementando todos os bits depois do
primeiro bit 1 encontrado.

II. Exemplo: B=00110100
a) O complemento de 2 ser:
04/06/2013 SD1 - 4 Circuitos combinacionais 26
Nmeros inteiros de 4 bits
04/06/2013 SD1 - 4 Circuitos combinacionais 27
Adio e Subtrao
04/06/2013 SD1 - 4 Circuitos combinacionais 28
I. Para nmeros sinal-magnitude, a adio simples.
Porm, se os nmeros tiverem sinais diferentes a
operao se torna bastante complicada.
a) Circuitos lgicos que comparam e subtraem nmeros
so necessrios
b) possvel fazer a subtrao sem um circuito especfico
c) Por esse motivo, a representao sinal-magnitude
no utilizada em computadores.

II. Para nmeros em complemento de 1, adio e a
subtrao requerem uma correo para se obter o
valor esperado
a) Por exemplo: (-5)+(-2)=(-7), porm, fazendo a
operao utilizado complemento de 1: 1010 + 1101 =
(1)0111. A correo deve ser feita adicionando o bit de
vai-um ao resultado final: 1 + 0111 = 1000 (-7).
Operaes em complemento de 2
I. Para a adio o resultado est sempre correto.

II. Qualquer bit de vai-um alm dos bits de posio
considerados simplesmente ignorado:
04/06/2013 SD1 - 4 Circuitos combinacionais 29
Operaes em complemento de 2
I. O modo mais fcil de se realizar uma subtrao
tornar o subtraendo negativo e adicionar ao
minuendo
a) Achar o complemento de 2 do subtraendo e adicion-lo
ao minuendo
04/06/2013 SD1 - 4 Circuitos combinacionais 30
Subtrao
04/06/2013 SD1 - 4 Circuitos combinacionais 31
Subtractor comp. Somador comp.
Fictitious name
04/06/2013 SD1 - 4 Circuitos combinacionais 32
Unidade de soma e subtrao
04/06/2013 SD1 - 4 Circuitos combinacionais 33
I. A operao de subtrao pode ser realizada como a
operao de adio, usando o complemento de 2 do
subtraendo, sem considerar o sinal dos operandos

II. possvel utilizar o mesmo circuito do somador para
fazer soma e subtrao

III. Lembrete: complemento de 2 pode ser obtido do
complemento de 1 somado ao bit 1.
a) Pode-se usar a operao OU-EXCLUSIVO para se obter o
complemento de 1de um nmero:
X XOR 1 = X e X XOR 0 = X
b) Se uma operao de subtrao for executada, o
complemento de 1 do subtraendo pode ser obtido
fazendo-se o XOR de cada bit do nmero com o bit 1.
Circuito Somador/Subtrator
04/06/2013 SD1 - 4 Circuitos combinacionais 34
Overflow aritmtico
04/06/2013 SD1 - 4 Circuitos combinacionais 35
I. O resultado da adio ou da subtrao deve caber
dentro dos nmeros significantes usados para
representar os operandos

II. Se n bits so usados para representar nmeros
inteiros (positivos ou negativos) ento, o resultado
deve estar no intervalo entre 2
n-1
e +2
n-1
-1

III. Se o resultado no estiver no intervalo acima, um
overflow aritmtico ocorreu.

IV. Para assegurar a operao correta de um circuito
aritmtico, importante detectar a ocorrncia de um
overflow.
Exemplos
I. Para nmeros de 4 bits, 3 so de significncia e 1 de sinal:
II. Se os nmeros tiverem sinais diferentes, nenhum overflow
pode ocorrer.
04/06/2013 SD1 - 4 Circuitos combinacionais 36
Overflow aritmtico
04/06/2013 SD1 - 4 Circuitos combinacionais 37
I. Nos exemplos anteriores, overflow foi detectado nos
seguintes casos:
a) overflow = c
3
c
4
+c
3
c
4
b) overflow = c
3
XOR c
4
II. Portanto, para nmeros de n bits
a) overflow = c
n-1
XOR c
n
III. Um checador de overflow pode ser colocado no
circuito somador/subtrator simplesmente
adicionando-se uma porta OU-EXCLUSIVO.
Tpicos
04/06/2013 SD1 - 4 Circuitos combinacionais 38
I. Somadores
a) Meio, Completo, Ripple-carry, Lookahead carry


II. Nmeros negativos


III.Unidade lgica e aritmtica (ALU)
Unidade lgica e aritmtica (ULA)
04/06/2013 SD1 - 4 Circuitos combinacionais 39
I. ALU em Ingls (Arithmetic Logic Unit)

II. Circuito combinacional que executa um
conjunto de operaes lgicas e aritmticas

III.Possui sinais de controle para selecionar a
operao desejada
a) k sinais permitem 2
k
operaes
ULA parte aritmtica
I. Somador em
paralelo: clula
bsica da ULA

II. Este somador
soma dois
nmeros binrios
em paralelo (todos
os dgitos)
04/06/2013 SD1 - 4 Circuitos combinacionais 40
ULA parte aritmtica
04/06/2013 SD1 - 4 Circuitos combinacionais 41
ULA parte aritmtica
I. Controlando o valor de Y na entrada do somador,
podemos efetuar outras operaes:
04/06/2013 SD1 - 4 Circuitos combinacionais 42
ULA parte aritmtica
04/06/2013 SD1 - 4 Circuitos combinacionais 43
ULA Circuito parte aritmtico
04/06/2013 SD1 - 4 Circuitos combinacionais 44
ULA parte lgica
I. Possibilidades de operaes lgicas:
a) AND
b) OR
c) XOR
d) NOT
04/06/2013 SD1 - 4 Circuitos combinacionais 45
ULA Resumo
04/06/2013 SD1 - 4 Circuitos combinacionais 46
ULA Resumo
04/06/2013 SD1 - 4 Circuitos combinacionais 47
MSI Arithmetic Logic Unit (74x181)
04/06/2013 SD1 - 4 Circuitos combinacionais 48
Inputs Functions
S3 S2 S1 S0 M=0 (arithmetic) M=1 (logic)
0 0 0 0 A 1 + CIN A
0 1 1 0 A B 1 + CIN A XOR B
1 0 0 1 A + B + CIN A XOR B
1 0 1 1 (A OR B) + CIN A + B
1 1 0 0 A + A + CIN 0000
1 1 1 1 A + CIN A
04/06/2013 SD1 - 4 Circuitos combinacionais 49