You are on page 1of 35

lgebra Booleana ou lgebra de Boole O nome lgebra Booleana em homenagem ao matemtico ingls George Boole que em 1854, publicou

u um livro clssico. Uma investigao das leis do pensamento sobre as quais so baseadas as teorias matemticas da lgica e das probabilidades. O propsito estabelecido por Boole era o de realizar uma anlise matemtica da lgica. A lgebra de Boole surgiu inicialmente por ter relaes com os problemas que apareceram no projeto de circuitos de chaveamento com rels em 1838, Claude E. Shannon que era assistente de pesquisa no departamento de engenharia eltrica no MIT, em uma verso de sua tese para o grau de mestre de cincias que foi publicada sob o ttulo A Symbolic Analysis of Relay and Switching Circuits. Este artigo apresentava um mtodo para representao de qualquer circuito consistindo de combinaes de chaves e rles por um conjunto de expresses combinaes matemticas, e foi desenvolvido um clculo para manipular estas expresses. O clculo usado baseava-se comprovadamente na lgebra booleana. No incio da Era Eletrnica, os problemas e solues tecnolgicas empregavam somente sistemas analgicos, tambm conhecidos por sistemas lineares. Esses sistemas copiavam os sistemas que eram conhecidos na Natureza. Com o avano da tecnologia, esses mesmos problemas passaram a ser solucionados tambm com a eletrnica digital.

Postulados da lgebra de Boole


Professor Edino Mariano Lopes Fernandes

A lgebra de Boole um sistema constitudo por um conjunto S, duas operaes fechadas ( + , ou, e ., e) definidas sobre S, e por um conjunto de postulados. A operao simbolizada por + chamada operao OU (ou OR). A operao simbolizada por . chamada operao E (ou AND). Os smbolos + e . no tem o mesmo significado dos smbolos aritmticos usados para as operaes aritmticas de adio e multiplicao. Uma operao dita fechada sobre um conjunto se, quando aplicadas a dois ou mais elementos pertencentes ao conjunto, origina um outro elemento tambm pertencente ao conjunto. Por exemplo: Se a S e b S, = pertence ento (a + b) S (a . b) S

P.1 Associatividade de + e . (a + b) + c = a + (b + c) (a . b) . c = a . (b . c) P.2 Comutatividade de + e . (a = b) = b + a a . b=b.a P.3 ! (Existncia) de um nico elemento unitrio em relao operao + 0+a=a+0=a elemento unitrio P.4 ! (Existncia) de um nico elemento unitrio em relao operao . 1.a = a.1 = a elemento unitrio P.5 Distributividade de + sobre . a + (b . c) = (a + b) . (a + c) P.6 Distributividade de . sobre + a . (b + c) = (a . b) + (a . c)

P.7 Existncia de um complemento ( a) ( ) tal que, a.=0 = qualquer que seja


22

Professor Edino Mariano Lopes Fernandes

a + = 1 Aplicao: Qual o complemento de O ? Por P.3, O + = 1 = 1 e O . = O, donde O . 1 = O Teoremas Fundamentais T.1 Lei da Dualidade Dada uma certa igualdade, se forem permutados entre si os smbolos + e ., os dgitos 0 e 1, nos seus dois membros, pode-se obter uma outra igualdade, dual da primeira. (a + b) + c = a + (b + c) (a . b) . c = a . (b . c) T.2 a + 1 = 1 T.3 a . 0 = 0 T.4 a + a = a T.5 a . a = a T. 6 Lei da Absoro: a + (a . b) = a T.7 Lei da Absoro: a . (a + b) = a T.8 T. 9 nico T.10 Teorema de De Morgan

=1

Funes Booleanas Chama-se funo booleana a uma dada expresso envolvendo elementos e operaes da lgebra de Boole. Exemplos: f1 (a,b,c) = a . b + . b . c + b . c f2 (A, B, C, D) = . B + .B . C . D +
Professor Edino Mariano Lopes Fernandes

23

Obs.: A notao E, simbolizada pelo . pode ser omitida, podendo-se representar a operao a . b simplesmente por ab. TABELA VERDADE (TV) So tabelas que representam todas as possveis combinaes das variveis de entrada de uma funo, e os seus respectivos valores de sada. A determinao da tabela verdade de uma funo envolve os seguintes procedimentos: 1) Preenchimento das colunas referentes s variveis da funo, registrndo-se todas as combinaes de 0s e 1s que as variveis podem assumir. Se a funo possuir N variveis, ento o nmero de combinaes igual a 2N. Esse nmero igual ao nmero de linhas da tabela verdade. 2) Preenchimento de colunas envolvendo expresses intermedirias. Aqui o nmero de colunas depende d complexidade da funo. 3) Preenchimento da coluna de sada, que uma manipulao lgica das colunas que envolvem expresses intermedirias e da funo em si. Exemplo: Representar numa TV a funo: f (a,b,c,d) = a . (a + b . d . c) a 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 d 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 d 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 c 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 b d c 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 a + b. d . c 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 f (a,b,c,d) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Expresses intermedirias Quando uma funo igual a 1, diz-se que ela existe, ou que verdadeira, ou que assume o nvel lgico alto. Quando uma funo igual a 0, diz-se que ela no existe, ou falsa, ou que assume o nvel lgico baixo.

Passagem da Tabela Verdade para a expresso algbrica. Seja a Tabela Verdade:

Professor Edino Mariano Lopes Fernandes

24

Pode-se obter f como uma somatria de termos onde aparecem todas as variveis observando-se as regras a seguir:
0 0 1 1 0 1 0 1 1 0 1 1

1. O nmero de termos igual ao nmero de 1s (huns)da funo. No caso o nmero


de termo 3. 2. Cada termo possui todas as variveis interligadas pele operao . (E), considerando-se a varivel barrada se, para uma dada linha onde f igual a 1(hum), a mesma for 0 (zero). Portanto:

Portas Lgicas ou Gates Todos as complexas operaes de um computador digital acabam sendo combinaes de simples operaes aritmticas e lgicas bsicas: somar bits, complementar bits (para fazer subtraes), comparar bits, mover bits. Estas operaes so fisicamente realizadas por circuitos eletrnicos, chamados circuitos lgicos (ou gates - "portas" lgicas). Computadores digitais (binrios) so construdos com circuitos eletrnicos digitais - as portas lgicas (circuitos lgicos). A lgebra de Boole, base do desenvolvimento dos computadores, trabalha com apenas duas grandezas: falso ou verdadeiro. As duas grandezas so representadas por 0 (falso) e 1 (verdadeiro). Os circuitos a que far-se- referncia nesta parte da disciplina pertencem famlia de circuitos TTL ( Transistor-Transistor- Logic). So alimentados com 5 Volts e os nveis lgicos esto definidos na figura abaixo.

Professor Edino Mariano Lopes Fernandes

25

Assim, qualquer tenso na entrada de uma porta lgica entre 0 e 0,8 V interpretada como nvel lgico 0. Qualquer tenso entre 2,0 e 5,0 Volts (podendo ir at 5,5 V) na entrada interpretada como nvel lgico 1. Na sada do circuito lgico, qualquer tenso entre 0 e 0,4 V ser interpretada como nvel lgico 0, e qualquer tenso entre 2,4 V e 5,0 V ser interpretada como sendo nvel lgico 1. A faixa de tenso entre 0,8 e 2,0 V definida como sendo uma zona de indefinio, no devendo ser usada na entrada dos circuitos. OPERADORES LGICOS Os conectivos ou OPERADORES LGICOS ou FUNES LGICAS so: E (ou AND) - uma sentena verdadeira SE - e somente se - todos os termos forem verdadeiros. OU (ou OR) - uma sentena resulta verdadeira se QUALQUER UM dos termos for verdadeiro. NO (ou NOT) - este operador INVERTE um termo. Os operadores lgicos so representados por: _____ NOT --> (uma barra horizontal sobre o termo a ser invertido ou negado). E ------> . (um ponto, como se fosse uma multiplicao) OU ----> + (o sinal de soma) As expresses booleanas podem ser implementadas fisicamente usando-se portas eletrnicas ou rels. Cada porta eletrnica um circuito que tem uma ou mais entradas e somente uma sada, que uma funo lgica da entrada. Tanto as entradas das portas quanto as sadas assumem nveis de tenso referidos como nveis lgicos 0 ou 1. Os circuitos aos quais faremos meno a seguir fazem parte da famlia TTL (TransistorTransistor-Logic). As Portas Lgicas ou Gates so dispositivos ou circuitos lgicos que operam um ou mais sinais lgicos de entrada para produzir uma (e somente uma) sada, a qual dependente da funo implementada no circuito.

Professor Edino Mariano Lopes Fernandes

26

Um computador constitudo de uma infinidade de circuitos lgicos, que executam as seguintes funes bsicas: a) realizam operaes matemticas b) controlam o fluxo dos sinais c) armazenam dados Existem dois tipos de circuitos lgicos: COMBINACIONAL - a sada funo dos valores de entrada correntes; esses circuitos no tem capacidade de armazenamento [casos a) e b) acima]. SEQUENCIAL - a sada funo dos valores de entrada correntes e dos valores de entrada no instante anterior; usada para a construo de circuitos de memria (chamados "flip-flops" - caso c acima); esses circuitos no sero estudados nesta disciplina.

As Portas Lgicas A seguir, apresentamos as principais Portas Lgicas, suas funes bsicas, simbologia DIN e ABNT e suas representaes em tabelas-verdade. AND - FUNO E

1/4 do Circuito Integrado 7408

Simbologia ABNT

Professor Edino Mariano Lopes Fernandes

27

OR - FUNO OU

do Circuito Integrado 7432 Simbologia ABNT

FUNO NOT

do C. I. 7404

Professor Edino Mariano Lopes Fernandes

28

Simbologia ABNT

Outros circuitos fundamentais PORTA NAND (NO E) A porta NAND equivale a uma porta AND seguida por uma porta NOT, isto , ela produz uma sada que o inverso da sada produzida pela porta AND.

do CI 7400

Simbologia ABNT

Professor Edino Mariano Lopes Fernandes

29

PORTA NOR (NO OU) A porta NOR equivale a uma porta OR seguida por uma porta NOT, isto , ela produz uma sada que o inverso da sada produzida pela porta OR.

do CI 7402

Simbologia ABNT

PORTA XOR (OU EXCLUSIVO) A porta XOR compara os bits; ela produz sada 0 quando todos os bits de entrada so iguais e sada 1 quando pelo menos um dos bits de entrada diferente dos demais.

do CI 7486

Simbologia ABNT
30

Professor Edino Mariano Lopes Fernandes

Equivalncia de blocos lgicos. Por diversas razes construtivas, fica mais barato construir os circuitos de um computador usando apenas um nico tipo de circuito, quando for possvel. Aceitando essa afirmao, vamos representar os nossos circuitos j conhecidos usando apenas funes NAND ou os NOR.
a)

CIRCUITO INVERSOR

b) CIRCUITO AND

Professor Edino Mariano Lopes Fernandes

31

c) CIRCUITO OR

d) Circuito Ou Exclusivo

Professor Edino Mariano Lopes Fernandes

32

Implementao de funes booleanas Todo circuito lgico executa uma expresso booleana, e, por mais complexo que seja, formado pela interligao das portas lgicas bsicas. De fato, uma funo qualquer pode ser implementada usando-se portas AND, OR e Inversores. Exemplos: 1) Implementar a funo booleana f(a,b) = ab + b, com portas lgicas. Temos:

2) f (a,b,c,d) = a b c + (a + c d) . b

Professor Edino Mariano Lopes Fernandes

33

Formas Cannicas A partir da tabela verdade, possvel chegar expresso que representa o comportamento de um circuito, e em seguida construir o circuito, usando as portas lgicas j estudadas. O processo de elaborao da expresso usa as chamadas formas cannicas, que consistem em regras para representar as condies de entrada que: a) produziro sada 1 (e portanto as demais condies produziro sada 0) ou alternativamente, b) produziro sada 0 (e portanto as demais condies produziro sada 1). So, portanto, duas as formas cannicas: a) Forma normal disjuntiva: quando ela est formada pela soma de MINITERMOS. Um minitermo um produto de todas as variveis da funo (barradas ou no) representa as condies que produzem sada 1; b) Forma normal conjuntiva: quando est representada por produtos de MAXITERMOS. Um maxitermo representado pela soma de todas as variveis (barradas ou no) da funo - representa as condies que produziro sada 0. Exemplos: Minitermos: f (a,b,c,d) = a b c d Maxitermos: f (a,b,c,d) = a + b + c + d Essas formas so alternativas, isto , a expresso poder ser encontrada aplicando-se alternativamente UMA ou OUTRA das formas. Soma dos Minitermos

Professor Edino Mariano Lopes Fernandes

34

produzida construindo: um termo (uma sub-expresso) para cada linha da tabela verdade (que representa uma combinao de valores de entrada) em que a sada 1, cada um desses termos formado pelo PRODUTO (FUNO AND) das variveis de entrada, sendo que: quando a varivel for 1, mantenha; quando a varivel for 0, complemente-a (funo NOT). a funo booleana ser obtida unindo-se os termos PRODUTO (ou minitermos) por uma porta OR (ou seja, "forando-se" a sada 1 caso qualquer minitermo resulte no valor 1). Dessa forma, ligando os termos-produto (tambm chamados minitermos) pela porta OR, caso QUALQUER UM dos minitermos seja 1 (portanto, caso qualquer uma das condies de valores de entrada que produz sada 1se verifique), a sada pela porta OR ser tambm 1. Ou seja, basta que se verifique qualquer uma das alternativas de valores de entrada expressos em um dos minitermos, e a sada ser tambm 1, forada pelo OR. Caso nenhuma dessas alternativas se verifique, produz-se a sada 0.

Exemplo:

PRODUTO DOS MAXITERMOS produzida construindo: um termo (uma sub-expresso) para cada linha da tabela verdade (que representa uma combinao de valores de entrada) em que a sada 0, cada um desses termos formado pela SOMA (FUNO OR) das variveis de entrada, sendo que: quando a varivel for 0, mantenha; quando a varivel for 1, complemente-a (funo NOT). a funo booleana ser obtida unindo-se os termos SOMA (ou maxitermos) por uma porta AND (ou seja, "forando-se" a sada 0 caso qualquer minitermo resulte no valor 0). Dessa forma, ligando os termos-soma (tambm chamados maxitermos) pela porta AND, caso QUALQUER UM dos minitermos seja 0 (portanto, caso qualquer uma das condies de valores de entrada que produz sada 0 se verifique), a sada pela porta AND ser tambm 0. Ou seja, basta que se verifique qualquer uma das alternativas de valores de entrada 0 expressos em um dos maxitermos, e a sada ser tambm 0, forada pelo AND. Caso nenhuma dessas alternativas se verifique, produz-se a sada 1. Exemplo:

Professor Edino Mariano Lopes Fernandes

35

O mesmo comportamento (a mesma tabela verdade) pode ser igualmente representada por qualquer das formas cannicas. Exemplo:

Se ambas as formas cannicas produzem expresses equivalentes, devemos escolher a representao que resultar em menor nmero de termos, produzindo uma expresso mais simples. Por esse mtodo, pode-se encontrar a expresso que represente qualquer tabela verdade. Aps se encontrar uma expresso que represente o comportamento esperado, possvel que no seja uma expresso simples que possa ser construda com poucas portas lgicas. Antes de projetar o circuito, til SIMPLIFICAR a expresso, de forma a possibilitar construir um circuito mais simples e portanto mais barato. Portanto, o fluxo de nosso procedimento ser: DESCRIO VERBAL ---> TABELA VERDADE ---> FORMA CANNICA ---> --->FUNO SIMPLIFICADA ---> CIRCUITO

2.8 Minimizao de Funes O tamanho e a complexidade do circuito que realiza uma dada funo depende de sua complexidade algbrica. Assim, sempre que for possvel dever ser adotada uma
36

Professor Edino Mariano Lopes Fernandes

simplificao na expresso algbrica, usando postulados e teoremas, o que conduzir a uma simplificao dos circuitos. Tcnicas especiais de minimizao foram desenvolvidas e a mais comum a que emprega os Mapas de Karnaugh. Esta tcnica usada para reduzir as funes a formas mais simples. uma tcnica vivel para funes de 2,3,4,5 e 6 variveis. Para funes de mais de 6 variveis, tcnicas mais avanadas, tais como os algortmos de Quine-McClusky, devem ser utilizadas. Mapas de Karnaugh Os mapas de Karnaugh so ferramentas grficas para simplificao de expresses booleanas, atravs desta tcnica e apesar de algumas limitaes a ela inerentes, pode-se obter simplificaes de forma segura, rpida e bem mais prtica que a aplicao dos teoremas da lgebra de Boole. Um mapa K corresponde a uma grade quadriculada, onde cada quadrculo ou clula corresponde a uma linha da tabela verdade. Desta forma, existem mapas K oriundos de soma de mintermos ou produto de maxitermos. Aqui optaremos por tratar com soma de mintermos. A forma do mapa K depende apenas do nmero de varveis envolvidas, para uma funo com N variveis o mapa ter 2N clulas. Cada clula correspondendo a um mintermo (ou maxitermo). A construo do mapa deve garantir que as clulas adjacentes, ou seja, aquelas que apresentarem faces comuns (lados comuns), devem representar termos que diferem em apenas uma varivel. Mapa de Karnaugh para funo de 2 variveis. O mapa de Karnaugh um diagrama constitudo de uma certa quantidade de quadrados ou celas. O nmero de celas igual a 2N onde, N o nmero de variveis da funo. Assim, um mapa para uma funo de 4 variveis possui 24 = 16 celas. O mapa de Karnaugh para funo de 2 variveis possui, portanto, 4 celas, e tem a configurao abaixo para uma funo f (a,b):

Ex: de mapa para 4 variveis:


AB CD 00 00 01 11 10 d is p la y 01 11 10 37

Professor Edino Mariano Lopes Fernandes

CLULA

Mapa K representado por mintermos da forma padro soma de mintermos: f(A,B,C,D) = m0 + m1 + m2 + m3 + ... + m15 = m(0,1,2,3,4,...,15)
AB CD

00
A B C D m0

01
A B C D m4 A B C D m5 ABCD m7 ABCD m6

11
A B C D m12 ABCD m13 ABCD m15 A BCD m14

10
AB C D m8 AB CD m9 ABCD m11 ABC D m10

00 01 11 10

A B CD m1 A BCD m3 A B CD m2

A 0 0 0 0 0 0 0 0 1 1

B 0 0 0 0 1 1 1 1 0 0

C 0 0 1 1 0 0 1 1 0 0

D 0 1 0 1 0 1 0 1 0 1

Professor Edino Mariano Lopes Fernandes

38

Simplificao atravs de Mapas de Karnaugh Passos para simplificao usando mapas Karnaugh e expresses na forma de soma de mintermos: Representao da funo no mapa: para tanto marcam-se 1s (uns) nas clulas que representem algum termo da expresso da funo; 1) Agrupamento de clulas:

2.1) 2.2)

O nmero de clulas de um grupo deve corresponder a uma potncia de base 2; Ex: 1,2,4,8,16,... Quando 2N clulas so adjacentes (possuindo lados comuns) elas podem ser agrupadas e deste grupo possvel obter um termo com N variveis eliminadas; Ex: dada a funo f(A,B,C,D), um grupo de 4 clulas vai gerar um termo simplificado com apenas 2 variveis. Os grupos de clulas devem ter a forma quadrada, no so permitidos grupos em L, T ou algo que no seja quadrado ou retangular; Uma clula pode fazer parte de mais de um grupo, mas um grupo no pode ter todas as suas clulas associadas a outros grupos, caso contrrio ser superposto pelos outros; Para uma funo com N variveis, deve-se dar preferncia a grupos com 2 N-1, 2N2 ,...21 clulas, ou uma clula, necessariamente nessa ordem. Se h 3 varveis, de incio tente agrupar grupos com 23-1 = 4 clulas, aps esgotar as possibilidades de agrupar grupos deste tamanho, procure agrupar clulas em nmero de 23-2 = 2 e assim sucessivamente aps esgotar as possibilidades de agrupar grupos deste tamanho procure isolar as clulas descasadas.

2.3) 2.4)

2.5)

3) Extrao das expresses dos grupos de clulas: tais expresses so formadas pela interseo das variveis (com ou sem barra) comuns aos nomes das clulas do grupo: EX: f(A,B,C) = m(0,1,3,7,5) A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 f(A,B,C) 1 1 0 1 0 1 0 1

Professor Edino Mariano Lopes Fernandes

39

Aps a marcao de clulas:


AB C

0 1

00
1
1

01

11

10

Aps definir agrupamentos:


AB C

0 1

00
1
1

01

11

10

Foram formados dois grupos : G1: Uma dupla com as clulas: m0 = A B C e m1 = A B C A expresso desse grupo ser: m0 m1 = A B G2: Um grupo com 4 clulas: m1 =
A B C

m3A B C =

A B C

m7 =

m5 = A B C

m1 m3 m7 m5 = C 4) Obteno da expresso minimizada (simplificada) na forma de soma de mintermos: Corresponder a soma lgica das expresses obtidas no passo 2: F(A,B,C) = G1 + G2 = A B + C

Professor Edino Mariano Lopes Fernandes

40

MAPAS de KARNAUGH PARA SOMA DE MINTERMOS: Mapa para duas variveis

A B

0 1

0
A B A B

1
A B B B

A B

Mapa para trs variveis


B AB C B B

0 1

00
A B C A B C

01
A B C

11
A B C A B C

10
A B C C

A B C

A B C

Professor Edino Mariano Lopes Fernandes

41

Mapa para quatro variveis


B

AB CD

00
00
A B C D

01
A B C D

11
A B C D

10
AB C D C

01
D

A B CD

A B C D

ABCD

AB CD

11 10

A BCD

ABCD

ABCD

ABCD C

A B CD

ABCD

A BCD

ABC D

Professor Edino Mariano Lopes Fernandes

42

Mapa para cinco variveis


A B A C ABC DE E D C B C C C B B A B A

000

001

011
C C

010

110
C

111

101
C

100
C

00
ABC

01
E D E

DEF

000

001

011

010

110

111

101

100

000 11 001 10
Mapa para 6 variveis011

010 110 111 101 100


Professor Edino Mariano Lopes Fernandes

43

F E D F

E F

D F E F

Em qualquer mapa Karnaugh as clulas adjacentes sempre apresentam uma nica variao de estado em uma nica varivel do termo. diferena Exerccios: AB

CD Da tabela abaixo pede-se: a) Utilize as condies em X (valor X significa que para o arranjo de entrada considerado 00 admite-se tanto valor zero quanto valor um) para encontrar a expresso simplificada ao AB C D mximo, esta deve ser obtida diretamente A Bmapa de Karnaugh. por C D A B C D A B C D

00

01

11

10

01 11 10

A B CD

A BCD

A B CD

A B A B C D 0 0 0 0 0 0 0 0 ABCD 0 1 0 1 0 1 0 A B1 D C 1 0

C D ABCD 0 0 0 1 1 0 1 1 0 A B0 D C 0 1 1 0 1 A B1C D 0 0

S 1 0 1 0 X 1 1 X 1

AB CD

ABCD

ABC D 44

Professor Edino Mariano Lopes Fernandes

1 1 1 1 1 1 1

0 0 0 1 1 1 1

0 1 1 0 0 1 1

1 0 1 0 1 0 1

0 X 0 X X X 1

b) Projete (construa o circuito aps simplificao pelo mapa Karnaugh) o circuito lgico abaixo, que capaz de exibir decimais equivalentes ao nmero binrio ABC (A o dgito mais significativo).

A Circuito B Lgico C display

c) Encontre as expresses simplificadas a partir das configuraes de mapas abaixo:


AB AB CD CD CD AB

11111111

1111111111111

1111111111

Professor Edino Mariano Lopes Fernandes

45

2.9 Circuitos Aritmticos___________________________________________________ Aritmtica Binria Circuitos que somam e subtraem nmeros podem ser construdos atravs de portas lgicas. So circuitos rpidos por serem eletrnicos. Adio Binria Os circuitos do computador s processam nmeros binrios. Assim, os quatro casos bsicos da adio binria so: 0+0=0 0+1=1 1+0=1 1 + 1 = 0 e vai 1(chamado de "carry") para a prxima casa portanto 1 + 1 ser igual a 10 (que o nmero 2 em binrio). Afigura abaixo mostra a soma de dois nmeros binrios (1011 + 0011):

Meio-Somador um circuito que realiza os quatro casos bsicos da adio binria. Considerando dois bits a serem somados (A0 e B0) e as sadas S0 do resultado e V1 do vai-um, temos:

Professor Edino Mariano Lopes Fernandes

46

Somador Completo ou Totalizador um circuito que consegue somar trs bits, sendo que o ltimo o vai-um para a prxima casa. A figura abaixo mostra esse circuito, tendo duas palavras (A e B) de dois bits. O circuito para somar a primeira casa (A0 + B0) o meio somador mostrado no tem acima. O somador completo totalizar os bits A1 + B1 + V1:

Professor Edino Mariano Lopes Fernandes

47

Um outro circuito para o somador completo mostrado na figura abaixo:

Agora podemos somar as duas palavras de 2 bits, utilizando o meio-somador e o somador completo da seguinte forma:

Para palavras maiores do que 2 bits, basta ir acrescentando somadores completos ao esquema acima. Subtrao Binria Os quatro casos bsicos da subtrao binria so: 0-0=0 0 - 1 = 1 e subtrai 1 do seguinte
Professor Edino Mariano Lopes Fernandes

48

1-0=1 1-1=0 Como na subtrao decimal, quando o nmero que est sendo subtraido for menor do que o que subtrai teremos que fazer o emprstimo do dgito seguinte. Considere o exemplo:

Operaes com complemento binrio Complemento de 1 (inversor) obtido simplesmente invertendo os bits da palavra, isto , trocar os 0s pelos 1s e viceversa. Exemplo: Obter o complemento 1 de 11010. O complemento 1 de 11010 00101 Complemento de 2

obtido fazendo o complemento de 1 + 1.

Professor Edino Mariano Lopes Fernandes

49

Exemplo, obter o complemento de 2 de 11010. 11010 => complemento de 1 = 00101 O complemento de 2 = complemento de 1 de 11010 + 1 = 00101 + 1 O complemento de 2 = 00110 Subtrao usando complemento de 2 Os computadores no conseguem realizar as subtraes do mesmo modo que o ser humano, eles apenas somam. O computador realiza as subtraes atravs do complemento de 1 e complemento de 2. Utilizando o complemento de 2:

Caso 1: A > B A: 1011 (decimal 11) 1011 B: 0110 (decimal 6) -> compl.de 2 -> 1010

Caso 2: A < B A: 0110 (decimal 6) 0110 B: 1011 (decimal 11) -> compl. de 2 -> 0101

Professor Edino Mariano Lopes Fernandes

50

Subtrao usando complemento de 1 A subtrao utilizando o complemento de 1 mostrada abaixo:

Caso 1: A > B A: 1011 (decimal 11) 1011 B: 0110 (decimal 6) -> compl.de 1 -> 1001

Caso 2: A < B A: 0110 (decimal 6) 0110 B: 1011 (decimal 11) -> compl. de 1 -> 0100

Resumo: Para realizar a subtrao utilizando o complemento de 2: - mantm o primeiro nmero - calcula o complemento de 2 do segundo nmero - soma os dois nmeros - Se houver bit de "overflow": isto indica que o resultado da subtrao positivo e o resultado a prpria soma desprezando o bit de overflow. - Se no houver o bit de "overflow": isto indica que o resultado da subtrao negativo e deve ser realizado o complemento de 2 da soma para obter o resultado final.
Professor Edino Mariano Lopes Fernandes

51

Para realizar a subtrao utilizando o complemento de 1: - mantm o primeiro nmero - calcula o complemento de 1 do segundo nmero - soma os dois nmeros - Se houver bit de "overflow": isto indica que o resultado da subtrao positivo e o resultado a soma desse valor com a unidade. - Se no houver o bit de "overflow": isto indica que o resultado da subtrao negativo e deve ser realizado o complemento de 1 da soma para obter o resultado final.

Subtrator Completo Utilizando o somador completo podemos construir um subtrator completo que realiza a subtrao de dois nmeros atravs do complemento de 1. A tabela verdade do somador completo : A 0 0 1 1 B 0 1 0 1 SOMA 0 1 1 0 VAI 1 0 0 0 1

Atravs do complemento de 1, o resultado da subtrao de dois nmeros A e B ser: S=A-B Se A > B, o resultado da subtrao ser a soma (desprezando o "overflow") + 1 Se A < B, o resultado da subtrao ser o complemento de 1 de S.

Professor Edino Mariano Lopes Fernandes

52

Assim, se da palavra 1010 (10) subtrairmos 0110 (6) devemos obter 0100 (4). No esquema acima, inserimos em A a palavra 1010 e em B a palavra 0110. A palavra em B passa por um inversor fornecendo 1001 (figura abaixo).

Agora na entrada dos somadores teremos a soma das palavras 1010, 1001 e 0000 (das entradas V). Utilizando a tabela verdade do somador completo teremos na sua sada o resultado 0011 e V4=1.

Professor Edino Mariano Lopes Fernandes

53

Esse resultado (0011) somado com o V4 em uma porta NOU-Exclusivo, fornecendo como resultado 0011. O mesmo V4 realimenta o sistema entrando no primeiro somador em V0. Agora, temos a soma das palavras 1010, 1001 e 0001. Comeamos somando o primeiro somador 0+1+1, que dar como resultado 0 e V1 = 1. Esse V1 entra no segundo somador e o processo se repete at o ltimo. Assim teremos na sada 0100 e V4=1.

Esse resultado novamente combinado nas portas NOU-Exclusivo com V4, fornecendo como resultado 0100 e V4=1. V4 realimenta o sistema novamente, mas como V0 j igual a 1, o sistema entra em equilbrio no alterando mais sua respostas.

OBS.: Chegamos na resposta S desejada 0100 e V4=1, indicando que esse resultado positivo.

Professor Edino Mariano Lopes Fernandes

54

EXERCCIO: 1) Subtraia da palavras 0110 a palavra 1010. Verifique que o resultado ser 0100 e V4=0, indicando uma palavra negativa.

Professor Edino Mariano Lopes Fernandes

55

You might also like