01 - aritmética digital

27
Faculdade de Engenharia de Ilha Solteir a - Departamento de Engenharia Elétrica  Circuitos Digitais II - Profa. Suely Cun ha Ama ro Mantovani  - 1 o sem-2011 CIRCUITOS DIGITAIS II Aritmética Digital: Operações e Circuitos 1. Objetivos  Executar adição, subtraçã o , multiplicação e divisão de 2 núme ros binários;  Comparar as vantagens e desvantagens entre 3 diferentes sistemas de representação de números binários com sinal;  Executar operações com números em BCD e números em hexadecimal 2. Representação de Números com Sinal A representação de números em registradores usa os estados SET e RESET dos flip-flops para representar os  numerais 0 e 1, respectivamente. Um registrador de 4-bits, formado por 4 ffs pode armazenar números de 0 a 15. A representação da figura 1 está em forma circular para lembrar que o registrador tem um número finito de estados e após  passar por cada estado, volta para o estado i nicial. O registrador pode ser designado como um registrador de módulo 16 (  2  n ) , onde n é o número de bits do contador. Fig.1 Este modo de representar o registrador, indica que o ponteiro que representa a  propriedade do registrador de 'girar' pelos seus estados em resposta ao pulso de relógio,  pode ser usad o para efetuar opera ções aritméticas. Operação Contar: avançar ou recuar o ponteiro uma posição, para indicar uma contagem. Operação Somar : limpar o registrador (resetar, o ponteiro aponta para 0000); avançar o  ponteiro para a posição da primeira parcela e, em seguida, avançar o ponteiro um número de estados igual à segunda parcela; a posição final do ponteiro indicará o resultado da operação. Operação Subtrair : limpar o registrador (ponteiro em 0000); em seguida, o ponteiro é deslocado para a posição da primeira parcela (minuendo); depois o ponteiro deve recuar o número de posições igual ao valor da segunda parcela (subtraendo). Assim, o ponteiro

Upload: jorge-cipriano

Post on 13-Apr-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 1/27

Faculdade de Engenharia de Ilha Solteira - Departamento de Engenharia Elétrica Circuitos Digitais II - Profa. Suely Cunha Amaro Mantovani  - 1osem-2011

CIRCUITOS DIGITAIS II

Aritmética Digital: Operações e Circuitos

1.  Objetivos

  Executar adição, subtração , multiplicação e divisão de 2 números binários;  Comparar as vantagens e desvantagens entre 3 diferentes sistemas de

representação de números binários com sinal;  Executar operações com números em BCD e números em hexadecimal

2. Representação de Números com Sinal 

A representação de números em registradores usa os estados SET e RESET dosflip-flops para representar os  numerais 0 e 1, respectivamente. Um registrador de 4-bits,formado por 4 ffs pode armazenar números de 0 a 15. A representação da figura 1 está emforma circular para lembrar que o registrador tem um número finito de estados e após

 passar por cada estado, volta para o estado inicial. O registrador pode ser designado comoum registrador de módulo 16 ( 2 n) , onde n é o número de bits do contador.

Fig.1Este modo de representar o registrador, indica que o ponteiro que representa a

 propriedade do registrador de 'girar' pelos seus estados em resposta ao pulso de relógio, pode ser usado para efetuar operações aritméticas.

Operação Contar: avançar ou recuar o ponteiro uma posição, para indicar uma contagem.

Operação Somar : limpar o registrador (resetar, o ponteiro aponta para 0000); avançar o ponteiro para a posição da primeira parcela e, em seguida, avançar o ponteiro um númerode estados igual à segunda parcela; a posição final do ponteiro indicará o resultado daoperação.

Operação Subtrair : limpar o registrador (ponteiro em 0000); em seguida, o ponteiro é

deslocado para a posição da primeira parcela (minuendo); depois o ponteiro deve recuar onúmero de posições igual ao valor da segunda parcela (subtraendo). Assim, o ponteiro

Page 2: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 2/27

indicará a posição igual ao valor da subtração. Observe que as operações são válidassomente dentro do módulo do registrador, isto é, operações no intervalo de 0 a 15.

 Representação de Números por Sinal-Magnitude 

Para representar números com sinal, na Representação de Números por Sinal-Magnitude usa-se o flip-flop da posição mais significativa (MSB) do registrador, paraindicar o sinal do número. Por convenção adota-se:

0  representa o bit de sinal  para números  positivos

1  representa o bit de sinal  para números  negativos

A Fig.2 mostra o registrador módulo 16 com números positivos e negativos. Observe queexistem, na representação sinal-magnitude dois 0, -0=1000  e +0=0000. A existência dedois 0 torna a representação sinal-magnitude difícil de ser usada para operações no

registrador, simplesmente avançando ou recuando o ponteiro. A Fig.3 tem um exemplo para o número 52, representado com 7 bits, sendo 6 bits para magnitude e 1 bit, o MSB, dosinal.

Fig.2

Fig.3

Page 3: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 3/27

 

 Representação de Números com Sinal em Complemento de Um 

Seja N um número binário qualquer positivo, então o complemento de um de N é oequivalente negativo definido por

 N (1)=(M-1)-N  

onde M=2 n, sendo n o número de bits de N.

Fig.4 Representação circular para o complemento de um

Mostra-se na Fig.4 a representação em complemento de um, para um registrador dequatro casas ou bits. Observa-se, que a existência dos dois 0s(zeros): 0000 e 1111, tornaos circuitos mais complexos.

Usando a definição: se N=0101, o módulo M=1610=10000, então

 N

(1)

=(10000-1)-0101=1111-0101=1010.Caso o módulo seja M=3210=100000, então

 N(1)=(100000-1)-00101=11111-00101=11010.

A determinação do complemento de um de um número é obtida através de sucessivassubtrações, dígito a dígito, do número 1. O complemento de um pode ser calculadocomplementando bit a bit o número original, como mostram os exemplos acima.

Page 4: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 4/27

 Representação de Números com Sinal em Complemento de Dois

Seja N um número binário qualquer positivo, então o complemento de dois de N, N(2)  édefinido por

N(2)

=M-N

 para M=2 n, sendo n o número de bits de N.

Observa-se que o valor do complemento de dois de um número depende do módulo doregistrador, isto é, de quantos bits são usados para escrever o número. Então, o mesmonúmero tem complemento de dois diferentes se está em um registrador de 4-bits (M=16) ouem registrador de 5-bits(M=32).

Seja N=0101, o módulo M=1610=10000, então N(2)=10000-0101=1011.

Caso o módulo seja M=3210=100000, então N(2)=100000-00101=11011.

O complemento de dois de um número não pode ser especificado com certeza a não serque o módulo seja especificado. A avaliação do complemento de dois de um númeroenvolve uma sucessão de subtrações, bit a bit, do número binário 10 (210).

Método prático para obter o complemento de dois de um número:

1.  Escrever o número com tantos bits quantos forem os do registrador onde forarmazenado o número;

2.  Começando com o bit menos significativo, percorrer o número da direita paraesquerda, deixando inalterados os bits iguais a 0 até encontrar o primeiro 1, deixareste 1 inalterado;

3.  Complementar os demais bits do número.

Assim, o sistema de representação por complemento de dois de números com sinalestabelece que o negativo de um número qualquer  N  é dado pelo complemento de dois donúmero N . Então, dado N  qualquer,

-N=N (2 )=M-N

Page 5: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 5/27

 

Fig.5

Por ex: seja a operação 3-7 a ser realizada noregistrador de quatro bits da Fig.5.

  ajustar o ponteiro em 0000 pararesetar o registrador

  avançar três posições e o ponteiroindica o minuendo 3(0011)  recuar sete posições ( valor do

subtraendo 7)  o ponteiro indicará 1100 que é igual a

-4 na representação em complementode dois

O registrador de módulo 16 tem apenas um único 0 e fornecerá os números nointervalo -8 até +7, como mostra a Fig.5. O bit mais a esquerda (MSB) indica o sinal donúmero: se for igual a 0, o número é positivo; se o MSB é igual a 1, o número é negativo(na representação complemento de dois). Esta representação, permite que a soma seja feita

 pelo avanço e a subtração pelo retardo do ponteiro. O resultado da operação deve seencontrar dentro do intervalo do registrador.

Pode-se obter o complemento de dois pela representação por complemento de umde um número, adicionando 1 ao complemento de um.

 N (2)=M-N  e N (1)=(M-1)-N , então N (1)=(M-N)-1=N (2)-1 , assim N (1)=N (2)-1 

 N (2)=N (1)+1

Em outras palavras, para se obter o complemento de dois de um número bináriodeve-se escrever o número com a quantidade de bits do registrador, complementar onúmero bit a bit e somar 1 ao resultado. A representação de números binários emcomplemento de dois torna possível transformar a operação de subtração em uma operaçãode soma, eliminando o problema de recuar o ponteiro do registrador.

Sejam N1 e N2 números binários quaisquer, então,

 N 1-N  2=N 1+(-N  2 )=N 1+N  2(2) 

Assim, a subtração de dois números binários pode ser obtida fazendo a soma dominuendo com o complemento de dois do subtraendo. No registrador circular sempre serãorealizadas operações de soma, avançando o ponteiro, e o mesmo circuito efetua adição esubtração.

Page 6: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 6/27

Tabela 1- Registrador de 4 bits com as várias representações s/sinal e c/sinal

 Dec Binário s/sinal

 Dec Sinal magnitude N 0 de n bits+/- (2n-1 - 1)

 Dec Complemento de um

 N 0 de n bits+/- (2n-1 - 1 )

 Dec  Complemento de dois

 N 0 de n bits-2n-1 a + 2n-1 - 1

0 0000 +0 0000 +0 0000 +0 00001 0001 +1 0001 +1 0001 +1 00012 0010 +2 0010 +2 0010 +2 00103 0011 +3 0011 +3 0011 +3 00114 0100 +4 0100 +4 0100 +4 01005 0101 +5 0101 +5 0101 +5 01016 0110 +6 0110 +6 0110 +6 01107 0111 +7 0111 +7 0111 +7 01118 1000 -0 1000 -7 1000 -8 10009 1001 -1 1001 -6 1001 -7 1001

10 1010 -2 1010 -5 1010 -6 1010

11 1011 -3 1011 -4 1011 -5 101112 1100 -4 1100 -3 1100 -4 110013 1101 -5 1101 -2 1101 -3 110114 1110 -6 1110 -1 1110 -2 111015 1111  -7 1111  -0 1111  -1 1111 

3.Circuitos Aritméticos

As operações em computadores e calculadoras digitais são executadas em Unidadeslógicas e Aritméticas (fig.6) onde portas lógicas e flip-flops são combinados tal que,

realizem somas, subtrações, multiplicação e divisão binária. Esses circuitos executamoperações aritméticas com velocidade na ordem de nanosegundos.

Fig.6- Blocos Funcionais de uma ULA 

Page 7: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 7/27

 

Iremos estudar alguns dos circuitos aritméticos básicos que são usados paraexecutar as operações discutidas anteriormente. Em alguns casos iremos ver o projeto do

 processo real, mesmo sabendo que os circuitos podem ser comercialmente disponíveis na

forma de Circuitos integrados (CIs), visando adquirir mais prática no uso das técnicas deálgebra booleana. 

Soma de Números Binários

Sejam A e B números binários de n dígitos cada e S, a soma de A mais B, um número binário de n+1 dígitos, então o dígito Si é determinado unicamente pelos dígitos Ai e Bi deA e B.

Circuito Meio-Somador

Os métodos de soma de números binários envolvem a soma de dígitos coluna acoluna. Então, a adição de dois números binários Ai  e Bi  pode ser calculada conformemostrado abaixo (fig7.)

Fig7- (a) exemplo de soma (b) tabela verdade

A Fig.7(a) mostra as adições de dois dígitos binários. A soma gera um dígito  somaSi  na mesma i-ésima coluna que tem a mesma significância numérica que Ai  e Bi.A soma pode gerar um dígito de vai-um C i+1 que tem significância numérica maior que as

 parcelas Ai e Bi.

 Na Fig.7(b) mostra-se a tabela verdade para as somas feitas na Fig.7(a); uma linha paracada operação e as saídas Si e Ci+1.Os circuitos para realizar as somas acima e fornecer assaídas Si e Ci+1 podem ser derivados da tabela verdade da Fig.7(b). A parcela soma Si podeser obtida pelo XOR de Ai e Bi. O dígito vai-um Ci+1 é dado por uma porta AND de Ai eBi. Mostra-se na Fig.8(a) o circuito lógico com portas e a Fig.8(b) o símbolo. A estruturaque soma dois dígitos binários é designada como  Meio-Somador, e abreviada como  HÁ( Half -Adder).

Page 8: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 8/27

 Fig.8(a) circuito lógico. (b) símbolo para o meio-somador

Circuito Somador Inteiro

A soma coluna por coluna de dois números binários de n dígitos produz um vai-um Ci+1 que deve ser somado na próxima coluna de maior significância (fig.9).

Fig.9

O meio-somador só pode realizar a primeira operação de A0 mais B0; nas outras colunassão necessárias a adição de três bits Ai, Bi  e Ci (vai-um da coluna i-1).O dígito maissignificativo da soma é o dígito vai-um para coluna n, ou seja Cn.Assim, na soma de Ai, Bi e o vai-um Ci são gerados Si e o vai-um Ci+1.A tabela verdade abaixo mostra a geração dos

 bits soma Si e vai-um Ci+1.

Page 9: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 9/27

Tabela 2-Tabela Verdade para o somador inteiro

Os circuitos lógicos para geração do bit soma Si e do bit de vai-um Ci+1 podem serobtidos diretamente dos mapas K para cada saída da tabela verdade (tabela 2). Veja nafigura 10.

Page 10: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 10/27

 Soma Si Vai-Um Ci+1 

Fig.10-Circuito para o Somador Inteiro ou Completo

Page 11: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 11/27

  Através de simplificações algébricas pode-se mostrar que o bit soma Si é igual aoXOR das entradas Ai, Bi, e Ci. Então, o circuito de portas lógicas para somar três bitschama-se Somador Inteiro(  Full-Adder), designado FA, e tem a estrutura e símbolosmostrados na fig.11

(a)(b)

Fig.11 - Somador Inteiro (a) Circuito Lógico com portas OR-EX (b) Símbolo Lógico.

obs: CIs somadores completos de 4 bits encontrados no mercado de componentes:74HC283 ou 7483.

Somador Série Síncrono

O somador série soma uma coluna de cada vez em sincronismo com o sinal derelógio. As parcelas são carregadas em registradores de deslocamento de n bits e umregistrador de deslocamento de n+1 bits receberá a soma. Depois de cada pulso de relógio,os bits das parcelas são colocados na entrada do somador juntamente com o bit de vai-ume, o bit da soma é registrado no registrador de deslocamento da soma. O flip-flop tipo Datrasa o bit de vai-um um período de relógio, de modo que seja somado na próxima coluna

de maior significância.

Page 12: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 12/27

 Fig.12 - Somador Série

Para análise de seu funcionamento supõe-se que o atraso de propagação através dosomador inteiro é pequeno em relação ao período do relógio.

  Inicialmente, antes da primeira borda de gatilho do sinal de relógio, os bits A0 e B0 

estarão presentes às entradas do FA e Ci=C0=0. S0 e C1 são gerados.   Na primeira borda de gatilho do clock S0 é armazenado. A1 e B1 se deslocarão para

a entrada do somador, gerando S1 e C2 e assim por diante.  Para somar dois números de n bits cada, o somador série necessita de n+1 pulsos de

relógio. Embora seja econômico em termos de circuitos, o somador série é lento.

Page 13: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 13/27

 Somador Binário Paralelo 

O circuito da Fig.13 a seguir, embora gaste mais somadores, um para cada colunadas parcelas, é mais rápido, pois soma todos os bits simultaneamente. É necessário que

todos os bits Ai  e Bi estejam disponíveis em registradores para serem aplicados nasentradas dos somadores ao mesmo tempo. Isto fornece a soma em um ciclo de relógio,desconsiderando os atrasos de propagação nos somadores.

Fig.13 - Somador paralelo

 Na realidade, é necessário esperar um determinado intervalo de tempo para que os bits de vai-um se propaguem através de cada somador, antes de considerar válido o

resultado da soma na saída. O tempo de propagação do vai-um torna o somador paraleloinaplicável em várias situações.

Considerando que cada porta tem um atraso de propagação igual a um  t ap, entãocada somador atrasa de  2t ap. Sabendo que para somar duas parcelas de n bits cada, sãonecessários n somadores, então o resultado da soma somente está disponível na saída emum intervalo de tempo igual a n(2t ap ).

O atraso do somador paralelo aumenta com o número de bits das parcelas a seremsomadas, tornando-o inaplicável para soma de palavras com vários bits de comprimento.Faixa de valores para Ai e Bi nos modernos computadores é de 8 a 64 bits.

Quando comparado ao somador série síncrono diz- se ser extremamente rápido.

Page 14: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 14/27

 Atrasos (retardo) de propagação

A velocidade das portas lógicas é controlada pelo tempo que gasta para comutar deum nível lógico para outro. O tempo que leva para comutar os níveis lógicos é o atraso de

 propagação (tP) ou atraso da porta(tap). As portas lógicas geralmente tem diferentes tempos para chavear de um nível lógico ALTO para BAIXO (tPHL), e comutar do nível lógicoBAIXO para ALTO (tPLH). Em geral, se usa um tempo médio igual a média dos temposde comutação ALTO para BAIXO (tPHL) e BAIXO para ALTO (tPLH). Para uma portaAND TTL padrão, tPHL=7ns e tPLH=11ns, resultando um atraso de propagação médiotP=9ns.

Em outras palavras o atraso de propagação é o intervalo de tempo entre pontos pré-definidos ( em geral, 50% do valor da voltagem) do sinal de saída em resposta a umatransição do sinal de entrada. Fig.14

Fig.14- Resposta de um inversor mostrando o atraso de propagação.

Page 15: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 15/27

 

 Propagação do Carry 

A velocidade dos somadores paralelos é relativamente alta, desde que a adição dos bits seja simultânea. Contudo, esta velocidade é limitada pela propagação do  carry ou ripple (ondulação) carry.

Se cada FA tem um atraso de propagação de 40ns, então S3 atingirá o nível corretoem até 120ns depois que C1 é gerado.

4. Somadores Rápidos

Implementação do Lookahead  Carry -Vai-um Antecipado . Esta lógica gera vai -

uns individuais, através da definição da variável geração, Gi e da variável propagação Pi .

Este circuito utiliza portas lógicas, mas com atraso de propagação menor. Esteesquema requer uma quantidade de circuitos extras, mas produz somadores com altavelocidade. Muitos somadores rápidos disponíveis na forma de CIs utilizam a técnica delookahead carry ou uma técnica similar para redução dos atrasos de propagação.

Somadores com transporte antecipado (lookahead carry) ou vai um antecipado

Fig.15- Unidade somadora e geradora de vai-um

Para dois números binários de quatro bits, as unidades somadoras permanecemiguais para todas as colunas, enquanto a estrutura geradora do vai-um modifica-se decoluna para coluna de acordo com a equação

C i+1=Gi+PiC i.

Page 16: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 16/27

i=0 => C1=G0+P0C0 

i=1 => C2=G1+P1C1=G1+P1(G0+P0C0)=G1+P1G0+P1P0C0 

i=2 => C3=G2+P2C2=G2+P2(G1+P1G0+P1P0C0)=G2+P2G1+P2P1G0+P2P1P0C0 

i=3 =>C4=G3+P3C3=G3+P3(G2+P2G1+P2P1G0+P2P1P0C0)=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0 

Mostra-se na fig.16, a estrutura do somador com vai-um antecipado para doisnúmeros binários de 4-bits :

Page 17: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 17/27

Fig.16-Somador com Vai-Um Antecipado 

Page 18: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 18/27

  Cascata para 4 bits do Carry Lookahead - a soma se torna mais rápida do que os

somadores de ripple carry- oscilação do carry ou transporte

 No caso de um somador com vai-um antecipado, consideremos que uma porta XORtem dois atrasos de propagação(2tap) e que no instante t=0 todos os bits das parcelas a

serem somadas são aplicados nas entradas do somador.

Para t=2tap, temos P0 e G0 

Para t=4tap, temos S0 

Para t=4tap, temos C1, C2, C3 e C4 

Para t=6tap, temos os bits de soma S1, S2, S3 

Depois de ultrapassado o primeiro estágio do somador não há mais atrasos na

geração dos bits da soma, independente do número de bits das parcelas a serem somadascomo mostra a fig.16.Portanto, o somador com vai-um antecipado fornece um atrasoconstante, que não depende do tamanho das parcelas somadas. A desvantagem do somadorcom vai-um antecipado é o circuito gerador do vai-um que cresce com a quantidade de

 bits somados.

Circuitos Integrados Somadores

CIs MSI (número de portas de 20 a 200) somadores, com vai-um antecipado: 7483A,74LS83A, 74LS283, etc. Estes dispositivos(chips) são do tipo TTL somadores paralelos de4 bits. Os 283s são idênticos aos 83s (pequenas diferenças, Vcc e terra).

O circuito integrado somador paralelo de quatro bits com circuitos somadores completos eum circuito de vai-antecipado ainda fabricado e disponível comercialmente é o CISN74F283. Mostram-se nas figuras 17 e 18 o diagrama lógico e o símbolo IEEE/ANSI

 para o somador SN74F283, respectivamnete, onde as letras P, Q designam as entradas e  as saídas do CI e devem ser usadas dentro do símbolo.

Page 19: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 19/27

 

Fig.17-CI SN74F283 Diagrama Lógico

Fig.18-CI SN74F283 Símbolo Lógico

Page 20: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 20/27

 

Somador de dois números A e B em blocos de 4 bits cada, usando uma Unidadede Carry Antecipado-UCA ( ou LCU da sigla em inglês), para gerar os vai-uns maisrápido, C4 , C8 e C12 e C16, a partir dos P e G de cada bloco de 4 bits (fig.19).

Fig.19- Cascata de somadores para 16 bits com UCA

Page 21: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 21/27

5-Unidade Lógica-Aritmética (ULA) 

A unidade lógica-aritmética (ULA) é um circuito combinacional que recebe duas palavras de entrada de n bits A=An-1An-2 ... ...A1A0  e B=Bn-1Bn-2....B1B0. Essas entradas podem ser números ou uma informação codificada em binário. A ULA gera, então, uma

função de saída F=Fn-1Fn-2...F1F0 que pode relacionar as entradas por lógica ou aritmética.Uma entrada de modo M determina se a função de saída F é lógica ou aritmética.Entradasseletoras de função S0, S1, S2,... determinam qual função específica será F.

Uma ULA pode ser construída como uma cascata de vários estágios idênticos.Nãoexistem regras de como projetar cada estágio da ULA. Em geral, a aplicação determina ocircuito de cada estágio da ULA. Uma ULA poderia ter a configuração abaixo (figura 21):

Fig.21 Blocos ULA cascateados

 Neste circuito temos duas entradas A e B de 4 bits, uma entrada de modo M, duas entradasseletoras de função S1S0 e a função de saída F. Cada estágio da ULA poderia ter o circuitomostrado a seguir.

Page 22: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 22/27

 Fig.22-Um exemplo de estágio para a ULA

Quando a operação lógica for desejada, então M=0, bloqueando o vai-um de cadaestágio. E a saída F em cada estágio depende somente dos valores dos bits das entradas A eB (e dos bits seletores de função S1S0).No modo aritmético M=1, as portas que recebem ovai-um são habilitadas. Neste caso, a saída F, em cada estágio, depende também do vai-umde entrada nesse estágio. As funções lógicas e aritméticas geradas pela ULA são dadas pelatabela 3 a seguir,

Page 23: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 23/27

Tabela 3

Circuitos Integrados ULAs 

Existem diversos circuitos integrados disponíveis comercialmente que sãoclassificados e vendidos como unidades lógicas-aritméticas (ULAs), mesmo que nãoapresentem a capacidade lógica e aritmética de uma ULA de computadores atuais. EssesCIs ULAs são capazes de realizar várias operações lógicas e aritméticas diferentes comdados binários de entrada. A operação específica que um CI ULA executa é determinada

 pelo código binário específico que é aplicado nas entradas dos bits seletores de função. Ecada CI ULA possui um conjunto específico de funções que pode executar, diferente dasdemais ULAs.

O chip SN74LS181 é uma unidade lógica-aritmética (ULA) e gerador de funçõesque possui o equivalente a 75 portas, conforme mostrado em seu diagrama lógico nafig.23.

Page 24: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 24/27

 Fig.23-ULA 74LS181 Diagrama Lógico

Esse circuito realiza 16 operações aritméticas com duas palavras de 4-bits e todasas entradas e saídas podem ser ativas em nível ALTO ou nível BAIXO, por isto asdesignações dos pinos do CI estão indicadas complementadas e não complementadas. Asoperações são selecionadas pelos 4-bits seletores de função (S0, S1, S2, S3) e inclui adição,subtração, decremento e transferência direta, entre outras. Quando executa operaçõesaritméticas, os vai-um internos devem ser habilitados aplicando um nível BAIXO naentrada de controle de modo(M). Um circuito de vai-um antecipado está disponível naULA SN74LS181 para a geração rápida de vai-um através das variáveisP(PROPAGAÇÃO) e G(GERAÇÃO) simultâneas, em duas saídas para cascateamento(pinos 15 e 17). Essa ULA pode ser usada em combinação com o CI comercial SN54S182,uma unidade de geração de vai-um antecipado(VUA), para realizar operações aritméticasde alta velocidade.

Page 25: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 25/27

Tabela 4-ULA SN74LS181 Operações Lógicas e Aritméticas

Se velocidade não é um fator crítico nas operações, então uma entrada de vai-um propagado(Cn) e uma saída de vai-um propagado(Cn+4) são disponíveis no chip. O atrasocausado pelo vai-um propagado é minimizado pelos circuitos internos, de modo que asoperações aritméticas com palavras de pequeno comprimento podem ser realizadas semcircuitos externos de vai-um.

A ULA 74LS181 pode também ser aplicada como circuito comparador. A saída(A=B) é decodificada internamente a partir das saídas de função (F0, F1, F2, F3), de modoque quando duas palavras de iguais magnitudes são aplicadas nas entradas A e B, o pino(A=B) assumirá o nível ALTO para indicar a igualdade entre as duas entradas. A ULAdeve estar no modo subtração com Cn=H e os bits seletores de função S3, S2, S1, S0 em L,H, H, L, respectivamente, quando realizar esta operação.

Observe que a saída (A=B) é tipo coletor aberto e pode ser usada para fazer ANDcom fios. A saída de vai-um (Cn+4 ) pode também ser usada para fornecer informação damagnitude relativa.

Essa ULA fornece também 16 funções Booleanas de duas variáveis, semnecessidade de circuitos externos. Essas funções lógicas são selecionadas pelas entradasdos bits seletores de função (S0, S1, S2, S3) com a entrada de controle de modo(M) no nívelALTO, para desabilitar o vai-um interno. As 16 funções lógicas estão detalhadas na tabela

4.

Page 26: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 26/27

74181 TTL ALU

181 A3 A2 A1 A0B3B2B1B0

CnM

S3 S2 S1 S0

F3F2F1F0

 A=B

GP

Cn+41

2

3 4 5 6

78

9101113

14

15

16

17

18

19

20

21

22

23182P3

P2P1P0G3G2G1

G0

Cn

Cn+z

Cn+x

PG

Cn+y

133

114

542

156

12119

107

 

Fig 24- Ula 74181 e o Gerador de carry antecipado ( carry lookahead generator) 

Page 27: 01 - Aritmética Digital

7/26/2019 01 - Aritmética Digital

http://slidepdf.com/reader/full/01-aritmetica-digital 27/27

182P3P2P1P0G3G2G1G0

Cn

Cn+z

Cn+x

PG

Cn+y

13

31

14542

156

12119

107

181 A3 A2 A1 A0B3B2B1B0

CnM

S3S2S1S0

F3F2F1F0

 A=B

G

P

Cn+41

2

3 4 5 6

7

8

9101113

14

15

16

17

18

19

20

21

22

23

181 A3 A2 A1 A0B3B2B1B0

CnM

S3S2S1S0

F3F2F1F0

 A=B

GP

Cn+41

2

3 4 5 6

78

9101113

14

15

16

17

18

19

20

21

22

23

181 A3 A2 A1 A0B3B2B1B0

CnM

S3S2S1S0

F3F2F1F0

 A=B

GP

Cn+41

2

3 4 5 6

78

9101113

14

15

16

17

18

19

20

21

22

23

181 A3 A2 A1 A0B3B2B1B0

CnM

S3S2S1S0

F3F2F1F0

 A=B

GP

Cn+41

2

3 4 5 6

78

9101113

14

15

16

17

18

19

20

21

22

23

C0

C16

 

Fig.25- 16-bit ALU com Carry Lookahead