Oac aula04

494 visualizações

Publicada em

arquitetura de computadores

Publicada em: Educação, Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
494
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Oac aula04

  1. 1. ÁLGEBRA BOOLEANA E LÓGICA DIGITAL AULA 04 – Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro “Princípios Básicos de Arquitetura eOrganização de Computadores” – Linda Null e Julia Labur.1. Introdução George Boole publicou em 1985 sua monografia com título “As Leis do Pensamento”que criou um ramo da matemática chamado lógica simbólica ou álgebra booleana. Nos itens a seguir será vista uma breve introdução sobre fundamentos de projeto lógico,fornencendo uma cobertura mínima sobre álgebra booleana e seu relacionamento com portaslógicas e circuitos digitais.2. Álgebra Booleana A Álgebra Booleana é uma álgebra para manipulação de objetos que podem assumirapenas dois valores, normalmente “verdadeiro” ou “falso” ou “0” e “1” respectivamente.Considerando o fato de que computadores são construídos como coleções de chaves que estão“ligadas” ou “desligadas”, a álgebra booleana é uma maneira muito eficiente de representarinformação digital. Os circuitos digitais utilizam tensões baixas e altas, essas tensões representam, paranossa melhor compreensão, 0 e 1 respectivamente. Normalmente representamos o valor digital 0como falso e o valor digital 1 como verdadeiro.2.1. Expressões Booleanas Além dos objetos binários, a álgebra booleana também possui operações que podem serrealizadas sobre estes objetos, ou variáveis. Combinar variáveis e operadores dá origem aexpressões booleanas. Uma função booleana normalmente possui um ou mais valores de entradae fornece um resultado, baseado nesses valores de entrada, no conjunto {0, 1}. Existem 3 operadores booleanos mais comuns, são eles AND, OR e NOT. Parapossibilitar o entendimento deles, é preciso um mecanismo que permita-nos examinar seuscomportamentos. Um operador booleano pode ser completamente descrito usando-se uma tabelaque relaciona suas entradas, todos os possíveis valores delas e os valores resultantes da operaçãopara as combinações destas entradas. Esta tabela é denominada tabela-verdade. Sendo assim vamos examinar os operadores booleanos AND, OR e NOT para observarcomo cada um é representado usando álgebra booleana e tabelas-verdade.2.2. Operador Lógico AND O operador lógico AND é, geralmente, representado por um ponto ou simplesmente pornenhum símbolo. Como exemplo podemos utilizar a expressão booleana xy que é equivalente àexpressão x · y que é lida como “x e y”. O comportamento deste operador é representado pelaslinhas da tabela-verdade abaixo. Tabela 01: Tabela-verdade do operador lógico AND
  2. 2. O resultado de uma expressão xy é 1, somente quando as suas entradas são 1, e 0, casocontrário. Cada linha da tabela representa uma expressão booleana diferente, e todas as possíveiscombinações de valores para x e y são apresentadas pelas linhas da tabela.2.3. Operador Lógico OR O operador lógico OR é, geralmente, representado por um sinal de mais. Sendo assim, aexpressão x + y é lida como “x ou y”. O comportamento deste operador é representado pelaslinhas da tabela-verdade abaixo. Tabela 02: Tabela-verdade do operador lógico OR O resultado de x + y é 0 somente quando ambos os valores de entrada são 0. A expressãox + y é frequentemente referida como uma soma booleana.2.4. Operador Lógico NOT O operador lógico NOT é, geralemente, representado por um traço superior ou umaapóstrofe. Sendo assim, tanto quanto x são lidos como “NOT x”. O comportamento desteoperador é representado pelas linhas da tabela-verdade abaixo. Tabela 03: Tabela-verdade do operador lógico NOT Após essa visão geral sobre os operadores AND, OR e NOT é possível entender que aálgebra booleana lida com variáveis binárias e operações lógicas sobre estas variáveis.Combinando esses dois conceitos, podemos examinar expressões booleanas compostas devariáveis booleanas e vários operadores lógicos. Como por exemplo, a função booleana:que é representada por uma expressão booleana envolvendo as três variáveis booleanas x, y, z eos operadores lógicos OR, NOT e AND. Lembrando que as regras de precedência (indica qualoperador aplicar primeiro) dão ao NOT a prioridade mais alta, seguido pelo AND e só depoisOR. Resolvendo a nossa função anterior F(x,y,z), teríamos primeiramente que negar y, depoisefetuar o operador AND da negação de y com z e, por último, efetuar o OR deste resultado comx. A tabela-verdade para função F(x,y,z) é apresentado abaixo.
  3. 3. Tabela 04: Tabela-verdade para função F(x,y,z)3. Portas Lógicas Os operadores lógicos AND, OR e NOT, discutidos até o momento, estão sendorepresentados de forma abstrata, pelo uso de tabelas-verdade e expressões booleanas. Contudo oscomponentes físicos reais, ou circuitos digitais, tais como aqueles que realizam operaçõesaritméticas ou fazem escolhas em um computador, são construídos a partir de diversos elementosprimitivos denominados portas. Estas portas implementam cada uma das funções lógicas básicasque foram discutidas.3.1. Símbolo para as portas lógicas Inicialmente serão analisadas as três portas mais simples, correspondentes aos operadoreslógicos AND, OR e NOT. O comportamento funcional de cada um destes operadores já foidiscutido então agora teremos foco nas suas representações que são apresentadas logo abaixo. Imagem 01: Representação das três portas básicas Outra porta comum é a porta denominada OR-exclusivo (XOR), representada pelaexpressão booleana: O XOR é falso quando ambos os valores de entrada são iguais e verdadeiro casocontrário. A figura abaixo apresentada a tabela-verdade do XOR, especificando seucomportamento, bem como a representação desta porta lógica.
  4. 4. Imagem 02: (a) Tabela-verdade XOR – (b) Representação lógica XOR3.2. Portas Universais Existem também outras portas comuns, são elas a porta NAND e NOR, que produzemsaídas complementares as portas AND E OR, respectivamente. Cada porta possui dois símboloslógicos distintos que podem ser usados para a representação da porta. As tabelas-verdade erepresentção lógica são apresentados logo abaixo. Imagem 03: Tabela-verdade NAND – Representação lógica NAND Imagem 04: Tabela-verdade NOR – Representação lógica NOR Possivelmente, você pode estar se perguntando por que utilizar portas como NAND ouNOR, a reposta é simples, existem dois motivos para isso: o primeiro é que o custo parafabricação de uma porta NAND/NOR é mais barato em relação a outras portas, e o segundo éque pode-se construir qualquer circuito usando apenas portas NAND/NOR.3.3. Portas com múltiplas entradas Até o momento haviamos utilizado apenas portas com duas entradas, contudo, portas nãosão limitadas a apenas esses dois valores, existem muitas variações no número e nos tipos deentradas e saídas permitidas para diversas portas. Por exemplo podemos implementas as portasAND, OR e NOT com a combinação de portas NAND, como é apresentado logo abaixo. Imagem 05: Implementando portas AND, OR e NOT apenas com portas NAND
  5. 5. 4. Componentes Digitais Observando um computador por dentro é possível constatar que existe muitoscomponentes digitais que constituem o sistema, e pouco sabemos sobre eles. Porém, na verdade,o um computador é constituído por uma coleção de portas que são conectadas por fios (trilhas)que atuam como caminhos de sinais. Essas coleções ou blocos de construção são,surpreendentemente, inteiramente construídos usando as operações básicas AND, OR e NOT.4.1. Circuitos Integrados Computadores são compostos por diversos componentes digitais conectados por fios(“trilhas”). Como um bom programa, o hardware real de um coputador usa coleções de portaspara criar módulos maiores, os quais são utilizado para implementar diversas funções. Geralmente portas não são vendidas individualmente, mas sim em unidades denominadascircuitos integrados (CIs). Um chip (cristal de silício semicondutor) é um pequeno dispositivoseletrônico que consiste de um conjunto de outros componentes eletrônicos necessários(transistores, resistores e capacitores) para implementar diversas portas. Abaixo é apresentado o circuito integrado de uma porta lógica NAND. Imagem 06: Arquitetura – Circuito Integrado (CI) da porta NAND5. Exemplos de circuitos combinacionais→ Semi-Somador Imagem 07: Diagrama Lógico para um semi-somador
  6. 6. → Somador Completo Imagem 08: Diagrama Lógico para um somador completo→ Decodificador Quando um computador reecebe um endereço, ele primeiro deve saber determinar qualchip deve usar; então ele deve encontrar o endereço real nesse chip específico. Considerando autilização de 16 bits e que os 2 bits mais a esquerda são usados para selecionar o chip e os outros14 para encontrar o enderelo no chip usado. Esses 2 bits de mais alta ordem são na verdadeusados como entradas em um decodificador, de modo a determinar qual chip deve ser ativadopara leitura ou escrita. Se considerarmos como exemplo que os 2 bits são 00, o chip 0 deve ser ativado, caso os 2sejam 11, o chip 3 deve ser ativado. Sendo assim a saída do decodificador é usada para ativar ume apenas um chip. Imagem 09: Diagrama Lógico para um decodificador→ Multiplexador Outro circuito combinacional comum é o multiplexador. Este circuito selecionainformação binária de uma das várias linhas de entrada e direciona para uma única linha desaída. A seleção de uma linha de entrada particular é controlada por um conjunto de variáveis deseleção, ou linhas de controle. Um exemplo da utilização de multiplexação é a transmissão do sinal de internet ADSL,que utiliza uma faixa de freqüências (entrada dados) não utilizadas pela voz (entrada de voz) naslinhas telefônicas para transmitir dados.
  7. 7. Imagem 09: Diagrama Lógico para um multiplexador

×