Organização Estruturada de Computador 

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 - Revisão de Sistemas Digitais

    Portas Lógicas
  
    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:
    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).
3-1
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


3-2

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


3-3

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

3-4

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.

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


3-6
        Fig 3.6 Algumas identidades da álgebra de Boole

                            ____     _     _     _
                           ABC =  A + B + C


3-7
Fig 3.7 Símbolos alternativos para algumas portas lógicas : (a) NAND (b) NOR  (c) AND (d) OR.



3-8
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

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





 
Up

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

3-10
Fig 3.10- Chip SSI com 4 portas NAND

        Os CIs podem ser classificados, quanto a quantidade de portas lógicas, em:
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)

  
3-11
Fig 3.11 Circuito Multiplexador com 8 entradas

    Aplicações típicas do MUX:
    Lembrete: O Demultiplexador, o DEMUX, é o dual do MUX.

3-12
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 2n 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.


3-13
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.


3-14
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.


 
3-15

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.


3-16

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).

3-17


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).


3-18

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.


3-19
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.

3-20
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).

3-21
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.

 
Up

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:
    Conclusão: Esse circuito "lembra" qual das duas entradas S ou R esteve pela ultima vez em 1.


3-22
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.
       
3-23
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:
 
3-24

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.

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

Completar ....





3-25


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






3-26
Fig 3.26 Flip-flop D

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

    Registradores

3-28
Fig 3.28 (a) Chip com dois flip-flops independentes (b) Chip com oito flip-flops


    Organização da memória





    Chips de Memória

3-29
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



3-30
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.





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



    RAMs e ROMs


 
 


 
Up