Você está na página 1de 23

Aula 5

Nível da Lógica Digital - Parte I 

Nesta aula abordaremos com mais detalhes o nível da lógica digital ou seja o hardware
do computador. 

O texto abaixo é um resumo dos seções 3.1, 3.2 e 3.3  do capítulo 3 do


livro: Organização Estruturada de Computadores de Andrew S. Tanenbaum, 4a Edição,
2001. As figuras do texto foram obtidas do material disponibilizado na internet pelo
autor desse mesmo livro.
Importante: O resumo abaixo deve ser complementado, pelo aluno, com a leitura do
texto original do livro.

Tópicos
 Portas Lógicas e Álgebra de Boole 
 Circuitos Lógicos Digitais Básicos 
 Memória
 Organização da Memória
 Chips de Memória
 RAMs e ROMs

Portas Lógicas e Álgebra de Boole - Revisão de Sistemas


Digitais
    Portas Lógicas
Os circuitos digitais são construídos a partir de um pequeno número de elementos
primitivos - as portas lógicas

 As portas lógicas são usadas para implementações  físicas da álgebra de Boole.


 As portas lógicas formam a base do hardware a partir do qual todos os circuitos
digitais são construídos.

      A lógica digital moderna baseia-se no fato de que um transistor pode operar como
uma chave binária cujo tempo de comutação é muito pequeno. Veja funcionamento
ilustrado na figura 3.1.
    Analisando-se a figura 3.1(a) e sendo Vc uma tensão de corte (limiar) observa-se que:
Quando Vin < Vc  :  transistor fica aberto e Vout = VccQuando Vin > Vc  :  transistor
fecha e Vout = 0V (terra)
    Na figura 3.1(b) só quando V1 e V2 > Vc, Vout = 0V (NAND, ligação em série)
    Na figura 3.1(c) quando V1 ou V2 > Vc, Vout = 0V (NOR, ligação em paralelo).

Fig 3.1 (a) Transistor funcionando como inversor. (b) Uma porta NAND. (c) Uma porta
NOR
    A Figura 3.2 ilustra os símbolos e as Tabelas Verdades relacionados às portas lógicas
primárias

Fig 3.2 Os símbolos e o comportamento funcional de cada uma das 5 portas lógicas
básicas
   Observações:  

    1. Existem 2 tecnologias principais de construção de portas lógicas:

 a bipolar, que pode ser do tipo TTL (Transistor-Transistor Logic) ou


ECL (Emitted-Coupled Logic)
 a MOS (Metal Oxide Semiconcuctor) com seus derivados PMOS,
NMOS e CMOS

    2. As portas TTL são mais rápidas que as ECL que, por sua vez, são mais rápidas que
as MOS
    3. As portas MOS são mais lentas mas tem menor consumo (muito usadas em
memórias)
Álgebra Booleana
        A álgebra booleana é usada para se desenvolver operações com números digitais
(binários)
        Uma função booleana f é uma relação que mapeia um conjunto de entradas digitais,
A, B, C,..., em uma saída digital M
                                    M = f(A, B, C, ....)
        M pode ser definidas por uma equação booleana ou por uma Tabela Verdade (veja
exemplo na figura 3.3(a))
        Qualquer função booleana pode ser implementada como uma circuito eletrônico
digital (veja exemplo na figura 3.3(b))

Fig 3.3 (a) Tabela -verdade para a função maioria de três variáveis. (b) Circuito para a
função descrita em (a).

    Implementação de Funções Booleanas

 Na implementação de funções booleanas usam-se portas lógicas básicas do tipo


AND, OR, NOT, NAND, NOR
 Por questões de economia é conveniente utilizar só um tipo de porta.
 A figura 3.4 mostra funções NOT, AND  e OR implementadas por portas NAND
Fig 3.4 Construção de (a) uma porta NOT, (b) uma porta AND e (c) uma porta OR,
usando somente portas lógicas NAND ou somente portas lógicas NOR
Equivalência de Circuitos
            Duas funções booleanas são equivalentes se gerarem saídas iguais para todas as
entradas possíveis (veja exemplo mostado na figura 3.5)

            Por questões de custos, consumo de energia, confiabilidade, etc..., projetistas de
circuitos digitais  procuram implementar os circuitos mais simples possíveis.

Fig 3.5  Duas funções equivalentes . (a) AB + AC.  (b) A(B + C)


 Para simplificar funções booleanas utilizam-se as identidades da álgebra de
boole mostradas na figura 3.6.

 Todas essas identidades podem ser provadas verdadeiras, através, por


exemplo, de suas tabelas verdade.

 Observe que cada identidade tem 2 formas, que são duais.

        Fig 3.6 Algumas identidades da álgebra de Boole

 A Lei de Morgan pode ser estendida para equações com mais de 2 variáveis
de entrada. Exemplo:
                            ____     _     _     _
                           ABC =  A + B + C

 A lei de Morgan sugere notações alternativas mostradas nas figuras 3.7 e


3.8

Fig 3.7 Símbolos alternativos para algumas portas lógicas : (a) NAND (b) NOR  (c)
AND (d) OR.
Fig 3.8 (a) Tabela verdade para a função XOR. (b) a (d) Três circuitos para calcular a
função XOR
Representações por lógica positiva e lógica negativa
A mesma porta física pode calcular funções diferentes, dependendo das convenções
usadas

 A tabela verdade da figura 3.9(b) é válida para a convenção conhecida


como lógica positiva onde o nível 0 corresponde a 0V e o nível 1
corresponde a 5V
 A tabela verdade da figura 3.9(c) é válida para a convenção conhecida
como lógica negativa onde o nível 0 corresponde a 5V e o nível 1
corresponde a 0V

Fig 3.9  (a) Características elétricas de um dispositivo. (b) Lógica positiva. (c) Lógica
negativa

 
Circuitos Lógicos Digitais Básicos
   
    Circuitos Integrados

    Um circuito integrado, também chamados CI ou CHIP, é a um pedaço quadrado de


silício, de 5x5 mm aproximadamente, contendo um conjunto de portas lógicas e
encapsulado em um envólucro retangular de plástico ou cerâmica,  de 5 a 15 mm de
largura e 20 a 50mm de comprimento

Fig 3.10- Chip SSI com 4 portas NAND

        Os CIs podem ser classificados, quanto a quantidade de portas lógicas, em:

 Circuito SSI (Small Integration Scale): de 1 a 10 portas lógicas


 Circuito MSI (Medium Integration Scale): de 10 a 100 portas lógicas
 Circuito LSI (Large Integration Scale): de 100 a 100000 portas lógicas
 Circuito VLSI (Very Large Integration Scale): > 100000 portas lógicas
No estado da arte temos circuitos com um número maior que 10 milhões de transistores

    Circuitos Combinacionais

    Chamamos de circuitos combinacionais àqueles cujas saídas são determinadas


exclusivamente pelos valores de suas entradas.

    Os circuitos combinacionais mais usados no projeto de processadores sâo: os


multiplexadores, os decodificadores, os comparadores e as matrizes lógicas
programáveis

    O circuito multiplexador


    O MUX contém 2n entradas de dados, n entradas de controle e1 saída. As entradas de
controle selecionam a entrada de dados que será enviada para a saída. (veja figura 3.11)

  
Fig 3.11 Circuito Multiplexador com 8 entradas

    Aplicações típicas do MUX:

 Implementação de qualquer função booleana. Veja figura 3.12 a implementação


da função maioria.
 Conversão  paralelo-série: Modificando sequencialmente as linhas de controle, os
dados de entrada são colocados, em série, na linha de saída

    Lembrete: O Demultiplexador, o DEMUX, é o dual do MUX.

Fig 3.12 (a) Multiplexador MSI. (b) O mesmo multiplexador configurado para calcular a
função maioria
    O circuito decodificador

     O circuito decodificador recebe na entrada um número de n bits, utilizando-os para


selecionar ( ou seja, colocar em 1) exatamente uma de suas 2 n entradas

    Uma aplicação típica do decodificador é o endereçamento de partes de uma memória. 


Exemplo: Um decodificador 3x8, do tipo apresentado na figura 3.13, pode selecionar um
dos 8 chips de memória que podem estar ligado na suas saídas (veja detalhes no livro)

    O circuito dual do decodificador é o codificador.

Figura 3.13 Circuito Decodificador 3x8

    O circuito comparador

    Um circuito comparador, como o mostrado na figura 3.14,  serve para comparação


de 2 palavras colocadas nas suas entradas.

    Quando as palavras são iguais sua saída é igual a 1


    Quando as palavras são diferentes sua saída é igual a 0
    Os circuitos comparadores são usados principalmente para execução de instruções
condicionais, do tipo if, e instruções de loop, do tipo while e for.
Figura 3.14 Comparador de 4 bits
  As matrizes lógicas programáveis

    Uma matriz lógica programável, também conhecida como chip PLA (Programable


Logic Array), serve para programação de circuitos genéricos, ou seja implementação de 
funções arbitrárias a partir de suas tabelas verdades.

    A matriz lógica é programada, de acordo com a função desejada, queimando-se, com
alta tensão, alguns dos fusíveis da matriz original.

Figura 3.15 - Matriz lógica programável de 12 entradas e 6 saídas. Os pequenos


quadrados que aparecem na figura representam os fusíveis que devem ser queimados
para determinar a função a ser calculada. Os fusíveis estão organizados em 2 matrizes: a
de cima, composta de portas AND, e a de baixo, composta de portas OR.
Observação:
    Vimos até aqui que a função maioria da figura 3.3(a) pode ser implementadapor SSI,
MSI ou chip PLA.
    Questão: QUAL DESSAS OPÇÕES VOCE ESCOLHERIA PARA USAR NO SEU
PROCESSADOR ?
    Circuitos Aritméticos

    Circuitos que realizam operações lógicas e aritméticas no processador.


 
    Os Deslocadores

    Um circuito deslocador tem um conjunto de n linhas de entradas e n linhas de saída e


1 linha de controle. A figura 3.16 mostra um deslocador de 8 bits.
    Os valores colocados nas linhas de entrada são enviados para as linhas de saída
deslocados de 1 bit, para a direita ou para a esquerda, dependendo do valor da linha de
contrôle estar em 1 ou 0 respectivamente.

Fig 3.16 - Deslocador de 1 bit para a esquerda/direita


    Os Somadores
        Um circuito meio somador de 2 entradas com sua tabela verdade é mostrado na
figura abaixo. Esse circuito realiza a soma de suas duas entradas A e B gerando, como
saída, o valor da soma e de um bit de transporte (o "vai 1" da soma).
Fig 3.17 (a) Tabela-verdade para a soma de 1 bit. (b) Circuito para o meio-somador

  Um circuito somador completo de 2 entradas com sua tabela verdade é mostrado na


figura abaixo. Esse circuito realiza a soma de suas duas entradas A e B com um bit de
transporte de entrada, o "vem 1" da soma. Ele gera, como saída, o valor da soma e de um
bit de transporte (o "vai 1" da soma).

Figura 3.18 (a) Tabela verdade e (b) Circuito para o somador completo
    As Unidades Aritméticas Lógicas (UAL)
    Uma unidade aritmética lógica de 1 bit, ilustrada na figura 3.19, é capaz de realizar
as operações lógicas NOT, AND, OR e a soma aritmética.
    O decodificador, embaixo e à esquerda, seleciona o tipo de operação, os circuitos
lógicos, acima e à esquerda, realizam operações lógicas e o circuito somador, embaixo e
à direita, executa a soma artimética completa.

Fig 3.19 UAL de 1 bit


    Uma unidade aritmética lógica de 8 bits, como ilustrada na figura 3.20, pode ser
construída a partir das UALs de 1 bit. O sinal de entrada INC pode ser usado para 
incrementar um valor de 1 com eficiência.

Fig 3.20 Oito UALs de 1 bit, conectadas para formar uma UAL de 8 bits. Nao estão
mostrados os sinais de inversão e de habilitação.
    Clocks

    Um clock é um circuito que emite uma série de pulsos do mesmo tamanho, a
intervalos precisos entre pulsos consecutivos.

    O intervalo de tempo entre duas transições consecutivas dos pulso do clock é chamado
de período T do clock.

    A frequência do clock, 1/T , é medida em unidades de Hz (MHZ, GHZ, etc..,) e é


controlada por um oscilador a cristal para se obter uma precisão razoável.

    Pode-se gerar clocks secundários, através de circuitos de retardos, para ativar


circuitos que trabalham simultaneamente porem necessitando de um atraso. Veja figura
3.21(a) e (b) abaixo.

    Sinais de clock são simétricos quando  o tempo gasto no estado alto é igual ao tempo
gasto no estado baixo.

    Um sinal de clock assimétrico pode ser gerado por uma operação booleana de AND
entre um sinal original e o mesmo sinal retardado de meio ciclo. Isto é mostrado na
figura 3.21 (c).

Fig 3.21  (a) Geração do sinal de clock. (b) O diagrama de tempo para o clock. (c)
Geração de um sinal de clock assimétrico.
Memória
    A memória é usada para armazenar tanto instruções a serem executadas, quanto os
dados a serem executados por algumas dessas instruções.

    Latches
   
    É uma memória de 1 bit, que "lembra" valores anteriores que lhes foram fornecidos
como entrada.

    Um circuito latch SR formato por portas NOR está ilustrado na figura 3.22(a). Ele
tem 2 entradas: S (Set), que quando for igual a 1, leva o latch para o nível lógico 1; e R
(Reset) que, quando igual a 1, leva o lat para o nível lógico 0. Esse circuito tem duas
saídas complementares Q e Q' (leia Q barra).

    Importante: Ao contrário do que ocorre com os circuitos combinacionais, as saídas do


latch não são determinadas unicamente pelas entradas correntes.

    Analisando-se as figuras 3.22(a) e (b) observa-se que:

  para R=0 e S=0, o latch tem dois estados estáveis, que identificamos como estado
0 e estado 1, dependendo do valor em Q.
 quando Q=0 (estado 0) e S assume valor 1, Q passa para estado 1 (Q=1). Nada
acontece quando Q=0 e R assume 1.
 quando Q=1 (estado 1) e R assume valor 1, Q passa para estado 0 (Q=0). Nada
acontece quando Q=1 e S assume 1.
 R=1 e S=1 é considerado um estado instável
    Conclusão: Esse circuito "lembra" qual das duas entradas S ou R esteve pela ultima
vez em 1.

Fig 3.22 (a) Latch no estado 0 formado por portas NOR. (b) Latch no estado 1 formado
por portas NOR. (c) Tabela verdade para a função NOR.

Latches SR com Clock


            Esse circuito, apresentado na figura 3.23 tem uma nova entrada, o clock.

            Nesse caso o valores de S e R só terão efeito na saída quando o clock for igual a
1. Quando o clock for igual a 0 esses valores são desprezados.
       

Fig 3.23 Latch SR com clock


Latches D com Clock

Esse circuito, apresentado na figura 3.24, é uma versão modificação do SR com
clock que:

 Evita o estado S=R=1 (veja o inversor na entrada de R)


 Quando D = 0 e o clock = 1, o latch vai para o estado 0 (Q=0)
 Quando D = 1 e o clock = 1, o latch vai para o estado 1.
 Implementa a memória de 1 bit, ou seja, quando clock=1 o valor de D é
transferido para a saída Q.

Fig 3.24 Latch D com clock

Flip Flops

O circuito conhecido como flip-flop é um circuito, derivado do latch, no qual a mudança


de estado ocorredurante a transição do clock de 0 para 1 (transição positiva) ou de 1 para
0 (transição negativa).
O flip-flop é sensível à transição do sinal de clock, enquanto o latch é sensível ao nível
desse mesmo sinal

Pode-se criar um pulso de clock, como mostrado na figura 3.25 para se obter uma
mudança de estado no flip-flop exatamente na transição do pulso.

A Figura 3.26 mostra um FF tipo D controlado por esse pulso.

Os símbolos padrões para latches e flip-flops estão mostrados na figura 3.27.

Fig 3.25 (a) Gerador de Pulsos  (b) Temporização em quatro pontos do circuito.

Fig 3.26 Flip-flop D


Fig 3.27 Dois tipos de latches D e dois tipos de flip-flops
   

    Registradores

    Observa-se, da figura 3.28, que:

 O chip da figura 3.28(a) tem 2 flip-flops independentes,  inclusive clocks e preset.


 Os flip-flops do chip da figura 3.28(b):
o não têm saída Q´(leia Q barra) e entrada Preset
o têm o clock (pino 11) e o CLR (pino 1) comum a todos
o mudam de estado com pulso + do clock no pino 11
o ficam no estado 0 (Q=0) quando o pino 1 (Clr) estiver com sinal igual a 0
o formam um chip registrador de 8 bits. Dois desses chips, com os pinos 1 e
11 conectados formam um chip registrador de 16 bits
Fig 3.28 (a) Chip com dois flip-flops independentes (b) Chip com oito flip-flops

Organização da memória

    Uma memória é formada por vários registradores do tipo apresentado na figura
3.28(b)
    Cada registrador da memória tem que ser endereçado. Como isto é feito?

    A figura 3.29 mostra uma memória de 4 palavras de 3 bits cada. Essa memória
contém:

 3 entradas de dados I2, I1 e I0 e 3 saídas de dados  O2, O1 e O0


 2 entradas de endereço  A1 e A0
 3 entradas de contrôle: CS (seleção do Chip), RD (leitura ou escrita) e OE
(habilitação de saída)

    Considerando-se OE habilitado (=1) o chip tem os seguintes funcionamentos:

 Uma das 4 palavras é selecionada pelas entradas A 1 e A0


 Quando CS =1 e RD=1  temos uma operação de leitura de dados: Clock não é
ativado, as entradas I não são consideradas, as saídas O são habilitadas (veja
funcionamento dos buffers na figura 3.30) e conterão os dados da palavra
selecionada.
 Quando CS = 1 e RD=0 temos uma operação de escrita de dados: Clock é ativado,
os dados das entradas I são guardados nas saídas Q dos flip-flops da palavra
selecionada e as saídas O ficam inibidas

   
Fig 3.29 Diagrama lógico de uma memória 4x3. Cada linha da memória representa uma
palavra de 3 bits. Uma operação de leitura ou de escrita abrange uma palavra

Os buffers da figura abaixo, além de funcionar como chave, amplificam os sinais de


saída.
Fig 3.30 (a) Buffer não inversor. (b) Efeito do buffer não inversor quando o sinal de
controle está no nível alto. (c) Efeito do buffer não inversor quando o sinal de controle
está no nível baixo. (d) Buffer inversor.

Chips de Memória

Fig 3.31 Duas maneira diferentes de se organizar um chip de memória de 4 Mbit

 
RAMs e ROMs

    RAMs (Random Access Memories) são memórias de leitura e escrita e podem ser


estáticas (SRAMs) ou dinâmicas (DRAMs)

    SRAMs :

 memórias estáticas (Static RAMs)


 formada por flip-flops, como da figura 3.29.
 não precisam de recarga ( "refresh"), só de alimentação
 muito rápidas (~nanosegundos)
 usadas tipicamente como memórias cache

    DRAMs:

 memórias dinâmicas (Dinamic Memories)


 usam só 1 transistor e 1 capacitor por bit (não usam flip-flops)
 precisam de "refresh" para manter carga do capacitor
 alta capacidade de armazenamento (> densidade)
 mais lentas
 usadas tipicamente como memória principal
 existem vários tipos: DRAM FPM (Fast Page Mode), assíncrona e mais
antiga; DRAM EDO (Extended Data Output), também assíncrona e;
SDRAM (memórias síncronas)

    ROMs (Read Only Memories) são memórias gravadas apenas 1 vez e não podem ser
modificadas ou apagadas depois disso. Existem algumas variações dessas memórias que
são:

   PROMs (Programable ROMs):

 Podem ser programadas 1 vez depois de fabricadas


 possui fusíveis que são queimados por um gravador de PROM

    EPROMs (Erasable PROMs)

 pode ser apagada e depois reprogramada


 usa-se luz violeta (por 15 minutos) para colocar bits em 1

    EEPROMs (Electrical Erasable PROMs)

 apagadas por pulsos elétricos


 programadas diretamente no computador
 menores e mais rápidas queas EPROMs
    EEPROMs flash

 apagadas e regravadas por blocos


 alta capacidade de armazenamento
 tempo de acesso muito pequeno (~100ns)

Exercícios
1. Um matemático espcializado em lógica dirige-se a um restaurante e diz: "Quero um
hambúrguer ou um cachorro-quente com fritas." Infelizmente, o cozinheiro não entende
muito de lógica matemática e não sabe que o operador "and" tem precedência sobre o
operador "or". Quais dos pedidos a seguir podem ser considerados como possíveis
interpretações do pddido do matemático? (note que, em inglês, "or" significa "exclusive
or".)

a. Um hambúrguer
b. Um cachorro-quente.
c. Batatas fritas.
d. Um cachorro-quente e batatas fritas.
e. Um hambúrguer e batatas fritas.
f. Um cachorro-quente e um hambúrguer.
g. Um hambúrguer, um cachorro-quente e batatas fritas.
h. Nada.
2. Um missionário perdido no sul da Califómia pára em uma encruzilhada da estrada.
Ele sabe que o local é freqüentado por duas gangues de motoqueiros, e sabe também que
os membros de uma delas sempre dizem a verdade e os membros da outra sempre
mentem. Ele deseja saber qual das duas estradas leva à Disneylândia. Qual pergunta ele
deve fazer ao membro da gangue que aparecer na estrada de maneira a ter certeza de que
a informação dada é correta?
3. Existem quatro funções booleanas de uma única variável e dezesseis de duas
variáveis. Quantas são as funções booleanas de três variáveis? E de n variáveis?
4. Use uma tabela-verdade para mostrar que P = (P ANO Q) OR (P ANO NOT Q).
5. Mostre como uma função AND pode ser construída a partir de duas portas NANO.
6. Use a lei de DeMorgan para encontrar o complemento de AB' ( B' é o mesmo que B
barrado)
7. Usando o chip multiplexador de três variáveis da Fig. 3.12, implemente uma função
cuja saída seja a paridade par de suas entradas, ou seja, a saída é 1 se, e somente se, um
número par de entradas for igual a 1.

Você também pode gostar