Capitulo III Circuitos Logicos Combinacionais

download Capitulo III Circuitos Logicos Combinacionais

of 24

Transcript of Capitulo III Circuitos Logicos Combinacionais

UNIVERSIDADE DO ESTADO DE SANTA CATARINA CENTRO DE CINCIAS TECNOLGICAS CCT Departamento de Cincias da Computao

Professor Edino Mariano Lopes Fernandes

Nota importante: Existem materiais includos nesta apostila de outros autores e fontes bibliogrficas quase todos devidamente identificados (algumas fontes no foi possvel de serem identificadas, trechos de textos, questes soltas, pinadas aqui e ali, etc. Caso o usurio conhea alguma fonte no identificada no texto, por favor, comunique para que se efetue os devidos crditos). Algumas questes foram retiradas de sites de Internet, sendo de uso livre. Para informaes mais completas, deve-se recorrer aos livros ou Web sites citados na bibliografia fornecida na apostila da disciplina.

Captulo III CIRCUITOS LGICOS COMBINACIONAIS 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). Os circuitos lgicos dos sistemas digitais podem ser de dois tipos: circuitos lgicos combinacionais e circuitos lgicos sequenciais (Ver captulo IV). Um circuito combinacional constitudo por um conjunto de portas lgicas as quais determinam os valores das sadas diretamente a partir dos valores atuais das entradas. Pode-se dizer que um circuito combinacional realiza uma operao de processamento de informao a qual pode ser especificada por meio de um conjunto de equaes Booleanas. No caso, cada combinao de valores de entrada pode ser vista como uma informao diferente e cada conjunto de valores de sada representa o resultado da operao, ou seja, a sada depende apenas de uma combinao dos valores da entrada. A figura 3.1 mostra o diagrama de blocos genrico de um circuito combinacional.

. Figura 3.1 Circuito Lgico genrico. 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. 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 dadosArquitetura e Organizao de Computadores

Pgina 42

3.1 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

OR - FUNO OU

do Circuito Integrado 7432

Simbologia ABNTArquitetura e Organizao de Computadores

Pgina 43

FUNO NOT

1/6 do C. I. 7404

Simbologia ABNT

3.2 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

Arquitetura e Organizao de Computadores

Pgina 44

Simbologia ABNT

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

Arquitetura e Organizao de Computadores

Pgina 45

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.

Simbologia ABNT

do CI 7486

3.3 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. Partindo deste pressuposto, vamos representar os circuitos j conhecidos usando apenas funes NAND ou os NOR.

a) CIRCUITO INVERSOR

Arquitetura e Organizao de Computadores

Pgina 46

b) CIRCUITO AND

c) CIRCUITO OR

Arquitetura e Organizao de Computadores

Pgina 47

d) Circuito Ou Exclusivo

3.4 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:

Arquitetura e Organizao de Computadores

Pgina 48

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

3.5 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:

Arquitetura e Organizao de Computadores

Pgina 49

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:

Maxitermos:

Essas formas so alternativas, isto , a expresso poder ser encontrada aplicando-se alternativamente UMA ou OUTRA das formas. Soma dos Minitermos 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:

Arquitetura e Organizao de Computadores

Pgina 50

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:

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

Pgina 51

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

3.6 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 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.Maurice Karnaugh

Mapas de Karnaugh

De modo sucinto podemos dizer que o MAPA DE KARNAUGH, idealizado em 1950 por Maurice Karnaugh. 1 um mtodo de simplificao de expresses lgicas fundamentado em teoremas da lgebra Booleana e utilizando representaes1

Maurice Karnaugh nasceu em 4 de outubro de 1924, em New York City. Estudou matemtica e fsica na City College of New York, entre 1944 a 1948, transferindo-se para a Yale University, para completar o seu Bacharel e Doutorado. Em 1952, contratado para trabalhar no famoso Bell Labs, um laboratrio de importncia gigantesca para diversas reas de tecnologia e engenharia, pois so os inventores do transistor de silcio e os primeiros a montarem um MOSFET., Arquitetura e Organizao de Computadores

Pgina 52

grficas. Os mapas de Karnaugh so, portanto, ferramentas grficas para simplificao deexpresses 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 2 N 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):

O mapa de Karnaugh para quatro variveis est exemplificado abaixo.

Arquitetura e Organizao de Computadores

Pgina 53

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 entre elas apenas uma varivel pode mudar de estado) 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 2 3-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 pelainterseo das variveis (com ou sem barra) comuns aos nomes das clulas do grupo: EX: f(A,B,C) = m(0,1,3,7,5)Arquitetura e Organizao de Computadores

Pgina 54

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

Aps a marcao de clulas:AB C

0011

01

11

10

0 1

1

1

1

Aps definir agrupamentos:AB C

0011

01

11

10

0 1

1

1

1

Foram formados dois grupos. 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

MAPAS de KARNAUGH PARA SOMA DE MINTERMOS:

Arquitetura e Organizao de Computadores

Pgina 55

Mapa para duas variveis

Mapa para trs variveis

Mapa para quatro variveis

Arquitetura e Organizao de Computadores

Pgina 56

Mapa para cinco variveis

Mapa para 6 variveis

Em qualquer mapa de Karnaugh as clulas adjacentes sempre apresentam uma nica variao de estado em uma nica varivel do termo.Arquitetura e Organizao de Computadores

Pgina 57

3.7 Circuitos Aritmticos___________________________________________________ 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:

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:

Arquitetura e Organizao de Computadores

Pgina 58

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

Arquitetura e Organizao de Computadores

Pgina 59

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. A instruo de soma a operao bsica que permite fazer todo tipo de processamento, enquanto as instrues de leitura e gravao permitem mover os dados. Basicamente s isso que o processador sabe fazer. Operaes mais complexas, so executadas atravs da combinao de vrias instrues simples. Para calcular uma multiplicao, por exemplo, o processador utilizar sequencialmente vrias operaes de soma. Na verdade, dentro do processador todas as operaes, mesmo as mais complexas, so calculadas com base em vrias operaes de soma, feitas entre osArquitetura e Organizao de Computadores

Pgina 60

valores binrios processados pelo processador. Uma operao de subtrao conseguida atravs de uma operao de atribuio, que transforma um dos valores em negativo, seguida por uma operao de soma. Mais com menos d menos, a regrinha que aprendemos no primrio e que os projetistas aprenderam a utilizar nos processadores. Uma operao de diviso conseguida executando-se uma sequncia de operaes de subtrao e todas os demais clculos, mesmo os clculos mais complexos, executados pelo coprocessador aritmtico, so resolvidos usando apenas as quatro operaes, obtidas apartir da simples instruo de soma. 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.

Arquitetura e Organizao de Computadores

Pgina 61

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.

Arquitetura e Organizao de Computadores

Pgina 62

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

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. na sada 0100 e V4=1.

Arquitetura e Organizao de Computadores

Pgina 63

Bibliografia:LOURENO, Antnio Carlos de.. Sistemas Numricos e lgebra Booleana. Editora rica. MENDELSON, Elliot.. lgebra Booleana e Circuitos de Clareamento. Makron Books. MELO, M. Eletrnica Digital. Makron Books. JORHEIM, R. L.. Princpios Digitais. McGraw-Hill do Brasil, 1983.

Arquitetura e Organizao de Computadores

Pgina 64