Você está na página 1de 28

PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica

Eletrnica Digital Cap. VI


por F.C.C. De Castro

Captulo VI
Circuitos Aritmticos
1 Introduo
No captulo anterior estudamos a soma e subtrao de nmeros binrios.
Neste captulo estudaremos como as operaes aritmticas de soma e
subtrao entre nmeros binrios podem ser implementadas atravs da
combinao de funes lgicas. Quando reunidas em um nico CI , estas
funes lgicas aritmticas constituem uma Unidade Lgica e Arimtica (ULA).
Uma ULA um bloco funcional fundamental em um microprocessador.

2 Meio Somador

Conforme vimos no Captulo V as regras bsicas para adio binria so:


0+0 =0
0 +1 = 1
1+ 0 = 1
1 + 1 = 10 O 1 no resultado o vai-um (carry) gerado
por ter sido esgotado a capacidade de contagem.
O carry deve ser acrescentado soma dos bits
imediatamente mais significativos esquerda
daqueles que deram origem ao carry .

Estas operaes so realizadas por um circuito lgico denominado


Meio-Somador (half adder).

Um meio-somador recebe dois bits de entrada A e B e produz dois bits de


sada: o bit de soma = A + B e o bit de carry C out , conforme mostram as
Figuras 1 e 2 e a Tabela 1 a seguir:

Figura 1: Smbolo lgico de um meio-somador.

1
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Tabela 1: Tabela Verdade de um meio-somador.

Figura 2: Diagrama lgico de um meio-somador.

3 Somador Inteiro

Um Somador Inteiro (full-adder) recebe 3 bits de entrada A , B , e Cin (o


ltimo correspondendo a eventual carry gerado na operao com bits menos
significativos) e produz dois bits de sada: o bit de soma = A + B e o bit de
carry C out , conforme mostram as Figuras 3 a 5 e a Tabela 2 a seguir:

Figura 3: Smbolo lgico de um somador inteiro.

2
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Tabela 2: Tabela Verdade de um somador inteiro. Note que a tabela obedece


as regras para soma binria com carry, estudada no captulo anterior.

Figura 4: (a) Lgica necessria para formar a soma dos bits de entrada AeB
Cin . (b) Diagrama lgico do somador inteiro, composto
com o carry de entrada
pelos meio-somadores I e II , o qual implementa a Tabela 2 (verifique).

3
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 5: (a) Diagrama lgico alternativo representando um somador inteiro


implementado a partir de 2 meio-somadores. (b) Smbolo lgico do somador
inteiro resultante.

Exemplo 1: Determine as sadas e C out para as situaes de entrada do


somador inteiro mostrado na Figura 6.

Figura 6: Somador inteiro com situaes de entrada distintas.


Soluo:

(a) = 1 + 0 + 0 = 1 com carry Cout = 0

(b) = 1 + 1 + 0 = 0 com carry Cout = 1

(c) = 1 + 0 + 1 = 0 com carry Cout = 1

4
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

4 Somadores de Palavr as Binrias

Para somar palavras binrias de N bits necessrio colocar em paralelo


N somadores inteiros, conforme mostram as Figuras 7,8 e 9:

Figura 7: Somador para palavras binrias de 2 bits.

Figura 8: Soma dos nmeros 101 e 011 atravs de um somador de 3 bits.

5
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 9: Somador para palavras binrias de 4 bits. (a) Diagrama de blocos


(b) Smbolo lgico.

A tabela verdade para o n -simo somador inteiro de um somador de


palavras binrias de N bits :

6
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Tabela 3: Tabela Verdade para o n -simo somador inteiro de um somador de


palavras binrias de N . Note que a tabela idntica Tabela 2.

5 Somadores Ripple Ca rry Somadores Look-ahead Carry

O somador mostrado na Figura 9(a) um somador do tipo Ripple Carry, o


qual maneja os bits de carry da mesma maneira que efetuamos em uma soma
manual:

Ou seja, C 4 no ser determinado antes que cada coluna tenha sido


formada. Note que cada coluna representa a ao do respectivo somador
inteiro na Figura 9(a).

Isto significa que o Tempo de Propagao (j estudado no Captulo IV)


das portas ser acumulado, atrasando a determinao de C 4 . dito que o bit
de carry fica ondulando entre os somadores inteiros (da o nome ripple
ondulao) e, portanto, atrasa a definio do resultado da soma.

Para evitar este efeito de atraso, um somador Look-Ahead Carry efetua a


operao de adio obtendo o bit de carry diretamente a partir dos bits de
entrada, sem precisar a definio dos bits de sada de cada somador inteiro:

7
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 10: Somador Look-Ahead Carry para palavras binrias de 4 bits. As


portas no interior do retngulo cinza so as responsveis pela obteno do bits
de carry diretamente a partir dos bits de entrada.

8
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 11: Operao do somador Look-Ahead Carry para palavras binrias de


4 bits. mostrado os valores lgicos gerados no circuito quando so somados
os nmeros 10012 = 910 e 1010 2 = 1010 , com um carry prvio C 0 = 1 .

9
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

6 Implementao em MS I (Medium Scale Integration)

A Figura 12 a seguir mostra os diagramas de dois CIs MSI para a


implementao da funo somador Look-Ahead Carry para palavras de 4 bits:

Figura 12: TTL 7483 e TTL 74283, somadores Look-Ahead Carry para
palavras binrias de 4 bits. (a) Pinagem (b) Diagrama lgico. Ambos os CIs so
funcionalmente idnticos, diferindo apenas na pinagem.

A Tabela 4 mostra os Tempos de Propagao destes somadores:

Tabela 4: Tempos de Propagao dos CIs TTL 74283 e 7483 - somadores


Look-Ahead Carry para palavras de 4 bits.

10
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

7 Operao em Cascat a de Somadores

Figura 13: (a) Operao em cascata de somadores de 4 bits para formar um


somador de 8 bits. (b) Operao em cascata de somadores de 4 bits para
formar um somador de 16 bits.

8 Somador/Subtrator

Estudamos no Captulo V que a subtrao A B entre duas palavras


binrias A e B executada atarvs da operao A + C {B} onde C {} o
II II

operador denominado Complemento de 2. A operao C {} equivalente


II

a acrescentar o sinal ao nmero binrio.

11
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Vimos que a operao C II {B} efetuada sobre uma palavra binria B


dada por C {B} = C {B}+ 1 , onde C {B} a operao de inverso (NOT)
II I I

do valor lgico de cada bit da palavra binria B (operao conhecida como


Complemento de 1).

Por exemplo, a diferena A B entre os nmeros A = 0110 2 = 610 e


B = 0100 2 = 410 dada por:
A B = A + C II {B} = A + C I {B}+ 1 = 0110 + C I {0100}+ 1 = 0110 + 1011 + 1 (4)

Que resulta em:


1 0 1 1
+ 0 0 0 1
1 1 0 0
prosseguindo:
0 1 1 0
+ 1 1 0 0
descartar o carry (1) 0 0 1 0 = 210

Vimos tambm que, alternativamente, podemos implementar a operao


C {B} atravs do seguinte procedimento: Efetuamos a leitura da palavra
II

binria B da direita para a esquerda at encontrarmos o primeiro 1 e a


seguir invertemos o valor lgico de todos os bits esquerda do primeiro
1.

Por exemplo, supondo que queremos achar o Complemento de 2 do nmero


binrioA = 10110 2 = 2210 atravs da tcnica descrita no pargrafo anterior
obtemos diretamente C {10110} = 01010 .
II

Portanto, a operao A B pode ser efetuada em um somador atravs


operao A + C II {B}, conforme mostra a Figura 14:

12
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 14: Se Controle = 0 , executada a operao A + B conforme


discutido em pargrafos anteriores, sendo A e B nmeros de 4 bits. Se
Controle = 1 ento executada a operao A B atravs de
A + C II {B} = A + C II {B} = A + C I {B}+ 1 . Note que quando Controle = 1 as
portas XOR 1-4 efetuam a operao C {B}. Note tambm que nesta situao
I

o Complemento de 2 de B efetuado atravs de C {B} = C {B}+ C0 , onde


II I

C0 = Controle = 1 .

O circuito completo de um Somador/Subtrator para palavras de 4 bits


obtido quando definimos o modo em que o circuito ir administrar as situaes
de 1) overflow e 2) resultado negativo.

Para tanto, vamos experimentalmente fazer operaes entre nmeros de 4


bits que gerem as situaes 1) e 2), procurando inferir a lgica da operao:

13
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 15: (a) Operao A B = 910 510 = 410 . Note que quando o carry
C 4 = 1 significa que os 4 bits do resultado representam um nmero positivo.
(b) Operao A B = 510 910 = 410 . Note que quando o carry C 4 = 0
significa que os 4 bits do resultado representam um nmero negativo, e que,
para obtermos a magnitude deste nmero de 4 bits basta efetuar o
Complemento de 2 do resultado (em verde na figura).

Figura 16: (a) Operao A B = 1510 210 = 1310 . Note que quando o carry
C 4 = 1 significa que os 4 bits do resultado representam um nmero positivo.
(b) Operao A B = 210 1510 = 1310 . Note que quando o carry C 4 = 0
significa que os 4 bits do resultado representam um nmero negativo, e que,
apesar de ter ocorrido overflow na aritmtica de 4 bits em Complemento de 2,
para obtermos a magnitude deste nmero de 4 bits basta efetuar o
Complemento de 2 do resultado (em verde na figura).

14
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Portanto, as Figuras 15 e 16 sugerem o seguinte circuito sinalizador para


resultado negativo:

Figura 17: Se Controle = 1 (operao A B ) e se simultaneamente


C 4 = 0 (resultado negativo) o LED acende, indicando um nmero negativo.

Vimos na anlise da Figura 16 que quando o carry C 4 = 0 os 4 bits do


resultado representam um nmero negativo e que para obtermos a magnitude
deste nmero de 4 bits basta efetuar o Complemento de 2 do resultado,
independentemente de ter ocorrido overflow ou no. Portanto a Figura 16
sugere o seguinte circuito para obteno da magnitude do resultado de 4 bits (o
sinal indicado pelo LED da Figura 17):

15
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 18: Circuito para obteno da magnitude do resultado de 4 bits do 1 CI


7483 atravs da operao Complemento de 2 efetuada pelas portas XOR 5-8
em conjunto com o 2 CI 7483.

Tendo definido o modo em que o circuito Somador/Subtrator administra as


situaes de overflow e resultado negativo, o circuito completo fica sendo:

16
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 19: Circuito completo do Somador/Subtrator de palavras de 4 bits em


aritmtica Complemento de 2.

Exemplo 2: Determine o valor lgico em cada entrada/sada das portas e dos


CIs 7483 na Figura 19, bem como o estado do LED, quando a operao
efetuada A + B = 510 + 910 = 1410 .
Soluo:

17
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 20: Valor lgico em cada entrada/sada das portas e dos CIs 7483 na
Figura 19 quando a operao efetuada A + B = 510 + 910 = 1410 .
Exemplo 3: Determine o valor lgico em cada entrada/sada das portas e dos
CIs 7483 na Figura 19, bem como o estado do LED, quando a operao
efetuada A B = 910 510 = 410 .
Soluo:

18
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 21: Valor lgico em cada entrada/sada das portas e dos CIs 7483 na
Figura 19 quando a operao efetuada A B = 910 510 = 410 .

Exemplo 4: Determine o valor lgico em cada entrada/sada das portas e dos


CIs 7483 na Figura 19, bem como o estado do LED, quando a operao
efetuada A B = 510 910 = 410 .
Soluo:

19
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 22: Valor lgico em cada entrada/sada das portas e dos CIs 7483 na
Figura 19 quando a operao efetuada A B = 510 910 = 410 .

9 Somador BCD

Estudamos no Captulo III que o cdigo BCD (Binary Coded Decimal)


expressa cada dgito de um nmero decimal por uma palavra binria de 4 bits
(Nibble) no formato b3 b2 b1 b0 atravs da relao:
NmeroDecimal = b3 2 3 + b2 2 2 + b1 21 + b0 2 0 . A Tabela 5 mostra o
resultado desta relao.

20
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Tabela 5: Tabela para converso de um nibble BCD em um algarismo decimal.


Note que existem 6 nibbles invlidos na contagem da tabela, porque com 4 bits
possvel contar de 0 a 15 mas o cdigo BCD s representa algarismos
decimais de 0 a 9.

Por exemplo, o nmero binrio 010101111000 codificado em BCD, quando


convertido para decimal resulta em
0101 0111 1000

5 7 8

Quando efetuamos a soma de dois nmeros binrios A e B codificados


em BCD necessrio levar em considerao a existncia dos 6 nibbles
invlidos mostrados na Tabela 5.

Consideremos os seguintes exemplos:

21
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

A + B = 310 + 510 = 810 efetuado em um somador BCD resulta

Note que no ocorre overflow na aritmtica BCD (8 est dentro da faixa


0-9) e portanto o nibble resultante um nmero BCD vlido.

A + B = 810 + 510 = 1310 efetuados em um somador BCD resulta

Ocorre overflow na aritmtica BCD (13 est fora da faixa 0-9) e portanto o
nibble resultante um nmero BCD invlido.

Da, necessrio somar 6 ao resultado para compensar a contagem dos


6 nibbles invlidos da Tabela 5:

Note que, aps a soma de 6 ao nibble invlido, o novo resultado expressa


corretamente 0001 0011 = 1310 em BCD.

A + B = 810 + 910 = 1710 efetuados em um somador BCD resulta

22
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Ocorre overflow na aritmtica BCD (17 est fora da faixa 0-9) e portanto o
nibble resultante um nmero BCD invlido. Observe que ocorreu um carry
C4 = 1 nesta operao.

Somando 6 ao resultado:

Note que, aps a soma de 6 ao nibble invlido, o novo resultado expressa


corretamente 0001 0111 = 1710 em BCD.

Os exemplos anteriores mostram que necessrio somar 6 ao resultado


da operao A + B quando:
! Ocorre um carry C4 = 1 no resultado da operao A + B
OU
! O resultado da operao A + B um dos 6 nibbles invlidos da Tabela 5.

Mas, a anlise da Tabela 5 mostra que os 6 nibbles invlidos ou so da


forma

23 22 21 20
1 1 X X
ou so da forma

23 22 21 20
1 X 1 X
no havendo nenhuma outra possibilidade para sua representao. Lembre
que X representa valor lgico irrelevante (dont care).

Portanto necessrio somar 6 ao resultado da operao A + B em BCD


somente quando:

! Ocorre um carry C4 = 1 no resultado da operao A + B


OU
! O resultado da operao A + B da forma

23
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

23 22 21 20
1 1 X X
OU
! O resultado da operao A + B da forma
23 22 21 20
1 X 1 X

A discusso nos pargrafos anteriores sugere o seguinte circuito para


efetuar a soma BCD:

Figura 23: Circuito Somador BCD para palavras de 4 bits.

Exemplo 5: Determine o valor lgico em cada entrada/sada das portas e dos


CIs 7483 na Figura 23 quando a operao efetuada
A + B = 910 + 310 = 1210 .
Soluo:

24
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 24: Valor lgico em cada entrada/sada das portas e dos CIs 7483 na
Figura 23 quando a operao efetuada A + B = 910 + 310 = 1210 .
Exemplo 6: Determine o valor lgico em cada entrada/sada das portas e dos
CIs 7483 na Figura 23 quando a operao efetuada
A + B = 910 + 710 = 1610 .
Soluo:

25
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 25: Valor lgico em cada entrada/sada das portas e dos CIs 7483 na
Figura 23 quando a operao efetuada A + B = 910 + 710 = 1610 .

10 Unidade Lgica e Ar itmtica (ULA)

O CI TTL 74181 uma implementao MSI de uma ULA, conforme mostram


as Figuras 26 e 27:

26
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 26: Diagrama de pinagem do TTL 74181. S0 S3 selecionam a


operao a ser feita entre os dois nmeros binrios A e B de 4 bits, conforme
a Figura 27. O resultado colocado em F0 F3 . C n o carry de entrada e
C n+ 4 o carry de sada. M = 1 seleciona o modo lgico e M = 0 seleciona o
modo aritmtico.

27
PUCRS Faculdade de Engenharia Eltrica Departamento de Engenharia Eltrica
Eletrnica Digital Cap. VI
por F.C.C. De Castro

Figura 27: Tabela de funes do TTL 74181. Um resultado negativo das


operaes aritmticas representado em Complemento de 2.

11 Multiplicao e Divis o

Embora existam implementaes em circuitos integrados de circuitos


multiplicadores e divisores, estes raramente so utilizados. Isto porque, na
grande maioria das vezes, as operaes de multiplicao e diviso so
implementadas atravs de uma rotina em linguagem Assembly executada em
um microprocesador.

28

Você também pode gostar