You are on page 1of 12

Aritmtica Digital - Pgina 1 de 12 http://www.novaeletronica.net/q/n4/Eletronica_Digital.

pdf

Aritmtica Digital - Prof. Sidney Jos Montebeller 8.1- Introduo


Uma mquina digital (computadores e calculadoras) manipula e armazena dados na forma binria. Dessa forma, as operaes aritmticas tambm sero realizadas sobre os nmeros na forma binria. A aritmtica digital no muito diferente da aritmtica tradicional (base 10). As operaes de adio, subtrao, multiplicao e diviso so praticamente as mesmas, a no ser pelo nmero de algarismos usados nessas operaes: 2.

8.2- Adio Binria


A adio decimal mostrada a seguir: 376 +4 6 1 837 A adio feita a partir do algarismo menos significativo. Quando a adio resulta em um valor maior que 9 ocorre um carry (vai um) para a prxima posio. Na adio binria podemos encontrar apenas quatro possibilidades: 0+0=0 0+1=1 1+0=1 1 + 1 = 10 (0 + carry 1 para a prxima posio) Por exemplo: + 011 + 11,011 110 10,110 1001 110,001

8.3- Representao de Nmeros com Sinal


Em sistemas digitais, os nmeros binrios so armazenados e manipulados em conjuntos de flipflops, os registradores. Um registrador com 6 flip-flops pode armazenar nmeros binrios de 000000 a 111111 (0 a 6310), representando a magnitude do nmero. Como os computadores e calculadoras podem operar com nmeros positivos e negativos, uma maneira de representar nmeros positivos e negativos mostrada na fig. 8-1.

Fig. 8-1: Representao de nmeros positivos e negativos O bit A6 chamado bit de sinal, ou seja, ele determina qual o sinal do nmero. Esse nmero possui magnitude de 6 bits mais um bit de sinal. Embora esse sistema seja direto, computadores e calculadoras no o utilizam normalmente porque a implementao do circuito mais complexa. O sistema de representao de nmeros binrios com sinal mais utilizado o sistema de complemento a 2. Forma do Complemento a 1 O complemento a 1 de um nmero binrio obtido substituindo-se cada 0 por 1 e cada 1 por 0. Isso pode ser visto a seguir: 101101 010010

Aritmtica Digital - Pgina 2 de 12


Forma do Complemento a 2 O complemento a 2 de um nmero binrio obtido tomando-se o complemento a 1 do nmero e adicionando-se 1 na posio do bit menos significativo. Por exemplo: 1 0 1 1 0 1 Equivalente binrio de 4510 0 1 0 0 1 0 Complemento a 1 + 1 Adiciona-se 1 0 1 0 0 1 1 Complemento a 2 do nmero binrio original

8.4- Representao de Nmeros com Sinal Usando Complemento a 2


O sistema de complemento a 2 para representar nmeros com sinal funciona do seguinte modo: - Se o nmero positivo, a magnitude mostrada na sua forma binria direta e um bit de sinal 0 colocado na frente do bit mais significativo (MSB). - Se o nmero negativo, a magnitude representada na sua forma de complemento a 2 e um bit de sinal 1 colocado na frente do bit mais significativo (MSB).

Fig. 8-2: Representao de nmeros positivos e negativos usando complemento a 2 Negao A negao a operao que converte um nmero positivo no seu negativo equivalente ou um nmero negativo no seu positivo equivalente. Por exemplo:

Faixa de Representao do Complemento a 2: A faixa completa de valores que pode ser representada no sistema de complemento a 2 que tem N bits de magnitude :

Tabela 8-1:

Por exemplo, com N = 3 bits, a faixa de nmeros sinalizados mostrada na tabela 8-1. fica: Por exemplo, com N = 7 bits, mais um bit de sinal, a faixa de valores 100000002 = -27 = -12810 011111112 = 28-1 = +12710 Adio no Sistema de Complemento a 2 Vamos analisar vrios casos de adio: I) Dois nmeros positivos: A adio de dois nmeros positivos direta.

Aritmtica Digital - Pgina 3 de 12


II) Um nmero positivo e um outro menor e negativo: O nmero negativo deve estar na forma de complemento a 2. A soma feita sobre todos os bits, inclusive os bits de sinal. O carry (vai um) gerado na ltima posio (MSB) sempre descartado.

III) Um nmero positivo e um outro maior e negativo:

IV) Dois nmeros negativos:

V) Dois nmeros iguais em magnitude mas de sinais contrrios: Subtrao no Sistema de Complemento a 2 A operao de subtrao no sistema de complemento a 2, na verdade, envolve uma operao de adio. Quando subtramos um nmero binrio (o subtraendo) de outro nmero binrio (minuendo), usamos o seguinte procedimento: - Negar o subtraendo. - Adicionar o nmero obtido ao minuendo. Por exemplo, +9 (+4) = +5

Overflow Aritmtico O overflow aritmtico ocorre quando temos, por exemplo, a adio de +9 e +8:

O resultado esperado seria +17 mas a resposta tem um sinal negativo e uma magnitude incorreta. A representao do 17 precisa de mais de quatro bits, ocasionando um erro de overflow. O overflow pode ocorrer sempre que dois nmeros positivos ou dois nmeros negativos esto sendo somados.

8.5- Multiplicao de Nmeros Binrios


A multiplicao de nmeros binrios mostrada abaixo:

Aritmtica Digital - Pgina 4 de 12


Na multiplicao acima os bits de sinais no foram usados. Observe que o primeiro multiplicando (1001) deslocado para a esquerda com relao ao segundo multiplicando (1011). Depois disso, os resultados parciais so somados para obter o produto final. Multiplicao no Complemento a Dois A multiplicao no complemento a dois feita do mesmo modo descrito anteriormente, desde que os dois multiplicandos estejam na forma binria verdadeira. Se os nmeros a serem multiplicados forem positivos a multiplicao feita conforme mostrado anteriormente e o bit de sinal 0. Se os nmeros forem negativos, eles devem ser convertidos para a forma binria verdadeira e o resultado ser positivo (bit de sinal igual a 0). Quando os nmeros a serem multiplicados tiverem sinais opostos, o nmero negativo deve ser convertido para a forma binrio verdadeira atravs do complemento a dois. Como resultado esperado negativo, deve ser aplicado o complemento a dois e o bit de sinal ser 1.

8.6- Diviso de Nmeros Binrios


A diviso binria mostrada a seguir:

A diviso binria igual diviso decimal. A diviso de nmeros com sinal feita de maneira idntica multiplicao, onde os nmeros negativos so transformados em positivos atravs do complemento a dois.

8.7- Adio de Nmeros BCD


Muitos computadores e calculadoras usam o cdigo BCD para representar nmeros decimais. Na operao de adio usando nmeros representados pelo cdigo BCD devem ser levadas em considerao duas possibilidades: - Soma menor ou igual a 9 Por exemplo, 5 + 4:

Outro exemplo, 45 + 33:

A soma de cada dgito no gerou nenhum vai-um (carry). - Soma maior do que 9 Por exemplo, 6 + 7:

O resultado da soma no um cdigo BCD, j que o resultado um nmero maior do que 9. O resultado esperado seria 0001 0011 (13 BCD) e para corrigir isso devemos somar ao resultado o cdigo 0110 (6 BCD), ou seja:

Aritmtica Digital - Pgina 5 de 12

8.8- Aritmtica Hexadecimal


Nmeros hexadecimais so amplamente utilizados na programao de computadores em linguagem de mquina e na especificao de endereos de memria de computadores. Adio em Hexadecimal O procedimento para a adio em hexadecimal o seguinte: - Some os dois dgitos hexadecimais em decimal, inserindo mentalmente o decimal equivalente para os dgitos maiores do que 9; - Se a soma menor ou igual a 15, ele pode ser expresso por um dgito hexadecimal; - Se a soma maior ou igual a 16, subtraia 16 e coloque um carry na prxima posio. Por exemplo:

Subtrao em Hexadecimal Um modo eficiente de representar nmeros binrios atravs dos nmeros hexadecimais. A subtrao hexadecimal utiliza o mesmo mtodo dos nmeros binrios: o complemento a dois do subtraendo somado ao minuendo e qualquer carry da posio MSD dever ser descartado. O complemento a dois de um nmero hexadecimal mostrado a seguir:

Um outro mtodo mostrado a seguir:

8.9- Circuitos Aritmticos


A funo essencial de computadores e calculadoras a realizao de operaes aritmticas. Um bloco chamado Unidade Lgica e Aritmtica (ULA) responsvel pelas operaes aritmticas em um computador. Unidade Lgica e Aritmtica O principal objetivo de uma ULA aceitar dados binrios armazenados na memria e executar as operaes lgicas e aritmticas sobre estes dados de acordo com as instrues da unidade de controle. A fig. 8-3 mostra os principais blocos funcionais de uma ULA:

Fig. 8-3: Blocos funcionais de uma ULA

Aritmtica Digital - Pgina 6 de 12


A ULA constituda de, pelo menos, dois registradores: o registrador B e o registrador acumulador. Ela tambm possui lgica combinacional que realiza as operaes lgicas e aritmticas sobre os nmeros binrios armazenados nos registradores B e acumulador. Por exemplo, os passos para a execuo de uma operao de adio so mostrados a seguir: - A unidade de controle recebe uma instruo da unidade de memria especificando que um nmero armazenado em uma posio particular de memria deve ser adicionado ao nmero que est armazenado na acumulador; - O nmero a ser adicionado transferido da memria para o registrador B; - O nmero no registrador B e o nmero no acumulador so somados nos circuitos lgicos (ao comando da unidade de controle). O resultado enviado para o acumulador para ser armazenado. Somador Binrio Paralelo Vamos analisar a seguinte operao de adio de dois nmeros binrios:

Podemos ver que cada bit das parcelas somado para gerar um bit no resultado da adio. No caso de um carry (vai-um), esse tambm somado, ou seja:

O diagrama de blocos de um somador binrio paralelo mostrado na fig. 8-4.

Fig. 8-4: Diagrama em blocos de um somador binrio paralelo O bloco SC #0 chamado somador completo porque soma bits A0 e B0 das parcelas e ainda um possvel bit C0 de carry. Projeto de um Somador Completo O bloco do somador completo possui trs entradas (A, B e CIN) e duas sadas (S e COUT). As entradas A e B so os bits a serem adicionados e CIN o carry do bit anterior. A sada S o resultado da adio e COUT a sada de carry, indicando um vai-um. A tabela 8-2 relaciona todos os possveis casos de uma adio.

Aritmtica Digital - Pgina 7 de 12

Fig. 8-4: Bloco lgico do somador completo de 1 bit Tabela 8-2:

Pelo mtodo do Mapa de Karnaugh podemos encontrar a expresso para S e COUT. A fig. 8-5 mostra o circuito de um somador completo (SC).

Fig. 8-5: Circuito lgico do somador completo de 1 bit A fig. 8-6 mostra um circuito de um somador paralelo completo de 4 bits com registrador.

Aritmtica Digital - Pgina 8 de 12

Fig. 8-6: Circuito lgico do somador paralelo completo de 4 bits O procedimento para um operao de adio o seguinte: - Pulsar CLEAR para fazer registrador A = 0000; - Colocar a primeira parcela a ser somada nas entradas D3D2D1D0 (esse dado pode estar vindo de uma memria). Pulsar LOAD para que as entradas sejam transferidas para o registrador B; - Pulsar TRANSFER para a realizao da operao de adio do contedo do registrador A com o contedo do registrador B. Nesse caso, o valor de B transferido para A, resultando A = B; - Colocar a segunda parcela a ser somada nas entradas D3D2D1D0. Pulsar LOAD para que as entradas sejam transferidas para o registrador B; - Pulsar TRANSFER para a realizao da operao de adio do contedo do registrador A com o contedo do registrador B. O resultado da adio est no registrador A (sadas).

8.10- Somador Paralelo Integrado


Os circuitos integrados 7483A, 74LS83A, 74283 e 74LS283 so somadores paralelos de quatro bits.

8.11- Ligao em Cascata de Somadores Paralelos


Blocos de somadores podem ser associados em cascata de forma a efetuar adies de nmeros binrios maiores. Por exemplo, se dois somadores de quatro bits forem associados em cascata podemos efetuar adies de nmeros com oito bits.

8.12- Circuito Integrados de ULAs


As ULAs so circuitos capazes de realizar diversas operaes lgicas e aritmticas sobre os dados binrios de entrada. Dentre essas operaes podemos citar:

Aritmtica Digital - Pgina 9 de 12


- Operao Clear; - Operao Soma; - Operao Subtrao; - Operao EX-OR; - Operao OR; - Operao AND; - Operao PRESET. Os circuitos integrados 74LS382 e 74HC382 so ULAs que possuem as caractersticas acima citadas. O 74LS181/HC181 uma ULA de quatro bits e tem at 16 operaes diferentes. O 74LS881/HC881 similar ao circuito integrado 181, mas tem a capacidade de realizar algumas operaes lgicas adicionais.

Exemplos ULAs:

Fig.: (a) Diagrama em bloco do somador paralelo de 4 bits 74HC283; (b) Conexo em cascata de dois 74HC283.

Aritmtica Digital - Pgina 10 de 12

Somador paralelo usado para somar um nmero positivo (+) com um negativo (-) no sistema de complemento de 2:

Somador paralelo usado para realizar uma subtrao (A-B) usando o sistema do complemento de 2. Os bits do subtraendo (B) so invertidos e C0 = 1 para gerar o complemento de 2.

Conexo de somadores em cascata para somar dois nmeros decimais de trs dgitos:

Fig.: (a) Smbolo para o chip ALU 74LS382/HC382; (b) Tabela de funes que mostra como as entradas de seleo S determinam a operao que deve ser realizada sobre as entradas A e B.

Fig.: Dois chips ALU 74HC382 conectados com um somador de 8 bits:

Smbolos IEEE/ANSI para (a) um somador completo e (b) um CI somador paralelo de quatro bits (7483/74283):

Circuito somador/subtrator paralelo: