Apostila PUCRS - Organização de Computadores

Apostila PUCRS - Organização de Computadores

(Parte 1 de 2)

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Capítulo VII

Elementos de Memória

1 Introdução

Neste capítulo estudaremos dispositivos lógicos com dois estados estáveis, o estado SET e o estado RESET. Por isto, tais dispositivos são denominados dispositivos biestáveis.

Uma vez que estes dispositivos são capazes de reter indefinidamente o seu estado (SET ou RESET), eles são usados como elementos de armazenamento de informação. Informalmente, dispositivos biestáveis “memorizam” o seu estado.

Estudaremos dois tipos de dispositivos biestáveis: o latch e o flip-flop. A diferença entre um latch e um flip-flop é a maneira como ocorre a troca de estado:

•••• Um flip-flop muda seu estado por ação de um pulso de disparo, denominado de clock. Por este motivo, um flip-flop é caracterizado como um dispositivo biestável síncrono, porque somente muda de estado em sincronismo com a ocorrência do pulso de clock.

•••• Um latch , por sua vez, é caracterizado como um dispositivo biestável assíncrono, porque muda de estado sem necessidade de sincronismo com um trem de pulsos de controle (pulsos de clock).

2 O latch S-R

•••• A Figura 1 mostra o diagrama lógico de um latch S-R (SET-RESET) implementado com portas NAND:

Figura 1: Diagrama lógico de um latch S-R implementado com portas NAND. O latch possui duas entradas , (SET e RESET) e duas saídas (Q e Q). O valor lógico das saídas Q e Q definem o estado (SET ou RESET) do latch.

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

•••• Ao fazermos 0SET= e 1RESET=, as saídas resultam nos valores lógicos 1Q= e 0Q=. Nesta situação o latch é dito estar no estado SET, conforme mostrado na Figura 2:

Figura 2: Colocando um latch S-R (NAND) no estado SET.

•••• Note que se 1SET= e 1RESET=, o latch mantém o estado atual. Por exemplo, para o latch no estado SET mostrado na Figura 2, o estado não é alterado quando fazemos 1SET= e 1RESET=:

Figura 3: Mantendo o estado de um latch S-R (NAND).

•••• Quando 0Q= e 1Q=, o latch é dito estar no estado RESET. Para

“resetar” o latch da Figura 3 fazemos 1SET= e 0RESET=, conforme mostrado na Figura 4:

Figura 4: Colocando um latch S-R (NAND) no estado RESET.

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

•••• Observe que se 0SET= e 0RESET=, o latch apresenta em suas saídas os valores lógicos 1Q= e 1Q=, conforme mostra a Figura 5. Esta é uma condição inválida, na medida em que as variáveis lógicas Q e Q possuem valores lógicos idênticos e, portanto, incoerentes com a definição destas variáveis à luz da álgebra booleana.

Figura 5: Condição inválida em um latch S-R (NAND). •••• A Figura 6 mostra a Tabela Verdade de um latch S-R (NAND):

Figura 6: Tabela Verdade de um latch S-R (NAND).

•••• As Figuras 7 a 12 mostram as características de operação um latch S-R implementado com portas NOR:

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Figura 7: Diagrama lógico de um latch S-R implementado com portas NOR. O latch possui duas entradas , (SET e RESET) e duas saídas (Q e Q). O valor lógico das saídas Q e Q definem o estado (SET ou RESET) do latch.

Figura 8: Colocando um latch S-R (NOR) no estado SET.

Figura 9: Mantendo o estado de um latch S-R (NOR). Figura 10: Colocando um latch S-R (NOR) no estado RESET.

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Figura 1: Condição inválida em um latch S-R (NOR).

Figura 12: Tabela Verdade de um latch S-R (NOR).

Exemplo 1: Determine as formas de onda nas saídas Q e Q de um latch S-R

(NAND) e nas saídas Q e Q de um latch S-R (NOR) quando as formas de onda de entrada são conforme a figura a seguir.

Figura 13 Solução:

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Figura 14

•••• Uma aplicação simples de um latch é o circuito de debouncing (bouncing – repique ) em chaves comutadoras:

Figura 15: Efeito indesejável de bouncing em uma chave comutadora.

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Figura 16: Solução do problema de bouncing em uma chave comutadora utilizando um latch S-R (NAND).

Figura 17: Note que enquato a chave do circuito de debouncing da Figura 16 encontra-se movimentando-se a meio caminho entre seus dois contatos, o latch mantém o estado.

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Figura 18: Circuito de debouncing utilizando um latch S-R (NOR). 3 O flip-flop S-R

•••• A Figura 19 mostra o diagrama lógico de um flip-flop S-R (SET-RESET) implementado com portas NAND:

Figura 19: Diagrama lógico de um flip-flop S-R implementado com portas NAND. O flip-flop possui três entradas (SET,RESET e CLOCK) e duas saídas (Q e Q). O valor lógico das saídas Q e Q definem o estado (SET ou

RESET) do flip-flop. Note que ação da entrada CLOCK é habilitar (1CLOCK=) ou desabilitar (0=CLOCK) a mudança de estado do flip-flop, mudança que está ao encargo das entradas SETe RESET.

Figura 20: Tabela Verdade de um flip-flop S-R (NOR).

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Figura 21: Habilitando a mudança de estado de um flip-flop S-R (NOR). Em (a) o flip-flop encontra-se no estado RESET apesar de 1SET= porque

0=CLOCK, desabilitando a mudança de estado. Em (b) 1CLOCK=, habilitando a troca de estado do flip-flop para o estado SET.

Exemplo 2: Determine as formas de onda nas saídas Q e Q do flip-flop S-R

(NAND) mostrado na Figura 19 quando as formas de onda de entrada são conforme a figura a seguir.

Figura 2 Solução:

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Figura 23 4 O flip-flop D

•••• A Figura 24 mostra o diagrama lógico de um flip-flop D (Data – dados) implementado com portas NAND:

Figura 24: Diagrama lógico de um flip-flop D implementado com portas NAND.

O flip-flop possui duas entradas (De CLOCK) e duas saídas (Q e Q). A principal característica funcional de um flip-flop D é que o valor lógico da entrada de dados D é transferido para a saída Q toda vez que 1CLOCK=.

Figura 25: Tabela Verdade de um flip-flop D (NAND).

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Figura 26: Diagrama lógico de um flip-flop D implementado com portas NOR.

•••• Uma das aplicações de um flip-flop D é o armazenamento de palavras binárias. Por exemplo, a Figura 27 mostra o diagrama de Interligação de uma porta de saída com o barramento de dados de um sistema microprocessado.

Figura 27: Interligação de uma porta de saída com o barramento de dados de 8 bits de um sistema microprocessado.

•••• Quando o microprocessador recebe uma instrução para enviar uma palavra binária de 8 bits para a porta em questão, a palavra é colocada no barramento por um breve instante de tempo até a ocorrência do pulso de clock.

•••• Uma vez ocorrido o clock, a palavra de 8 bits é transferida para as saídas

Q dos 8 flip-flops D, ficando ali armazenada até que o periférico conectado à porta a utilize.

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

•••• Note que com este esquema de armazenamento, o barramento não fica

“preso” ao periférico conectado à porta, não havendo necessidade de parar o processamento até que o periférico utilize a palavra de 8 bits a ele destinada.

5 O flip-flop D MS (Master-Slave)

•••• A Figura 28 mostra o diagrama lógico de um flip-flop D MS (master-slave = mestre-escravo):

Figura 28: Diagrama lógico de um flip-flop D MS implementado com portas NAND. O flip-flop subdivide-se em uma seção “Mestre” e em uma seção “Escravo”. A seção “Mestre” é um flip-flop D e é habilitada pelo sinal

CLOCK. A seção “Escravo” é um flip-flop S-R e é habilitada pelo sinal

•••• A principal característica funcional deste flip-flop D MS é que o valor lógico da entrada de dados D é transferido para a saída Q apenas na borda de descida do pulso de CLOCK, conforme mostra a Figura 29:

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Figura 29: Processo de mudança de estado no flip-flop D MS da Figura 28.

•••• Na Figura 29, quando 1CLOCK=, a seção “Mestre” é habilitada. Nesta situação o valor lógico da entrada de dados D é transferido para a saída Q′.

A seção “Escravo” permanece desabilitada porque 0CLOCK=, o que mantém inalterado o valor lógico na saída Q.

•••• Quando ocorre a transição 1CLOCK=→0=CLOCK, a seção “Mestre” é desabilitada e as saídas Q′e Q′ mantêm inalterado seus valores lógicos.

Nesta situação, a seção “Escravo” transfere os valores lógicos de Q′ e Q′ respectivamente para Q e Q porque 1=CLOCK.

•••• Note que havendo uma mudança do valor lógico da entrada de dados D enquanto 0=CLOCK nenhuma alteração ocorre porque a seção “Mestre” está desabilitada para esta situação.

⇒⇒⇒⇒ Portanto, a saída Q (e Q) pode mudar seu valor lógico apenas no instante de tempo em que ocorre a borda de descida do clock, quando assume o valor lógico que está aplicado à entrada D neste instante. O valor lógico da entrada D permanece “memorizado” na saída Q até o instante em que ocorre a próxima borda de descida do clock.

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

•••• Se o inversor for trocado de posição conforme mostra a Figura 30, o flip-flop mudará de estado na borda de subida do clock:

Figura 30: Diagrama lógico de um flip-flop D MS com mudança de estado na borda de subida do clock. As entradas CLR (clear−−−−limpar) e PR (preset−−−−“presetar” ) são entradas assíncronas que alteram o estado do flip-flop, independentemente do clock. Quando 0=PR o flip-flop é incondicionalmente colocado no estado SET (1Q= e 0Q=) e quando 0=CLR o flip-flop é incondicionalmente colocado no estado RESET (0=Q e 1=Q).

Figura 31: Símbolo lógico de um flip-flop D MS (a) com mudança de estado na borda de subida do clock e (b) com mudança de estado na borda de descida do clock.

Figura 32: Tabela Verdade de um flip-flop D MS com mudança de estado na borda de subida do clock.

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

15 Figura 3: Flip-flops D comuns implementados em CIs TTL.

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Exemplo 3: Determine as formas de onda nas saídas Q e Q do flip-flop D MS mostrado na Figura 34 a seguir.

Figura 34 Solução:

Figura 35

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

6 O flip-flop D Disparado pela Borda (edge-triggered)

•••• A Figura 36 mostra o diagrama lógico de um flip-flop D edge-triggered (edge-triggered = disparado pela borda do pulso de clock):

Figura 36: Diagrama lógico de um flip-flop D edge-triggered com mudança de estado na borda de subida do clock. Para obter a mudança de estado na borda de descida do clock basta acrescentar um inversor na entrada de clock. Nota: Nos últimos anos os flip-flops edge-triggered vem gradativamente substituindo os flip-flops master-slave.

7 O flip-flop T MS (T – toggle)

•••• Quando ligamos a saída Q de um flip-flop D à entrada de dados D obtemos um flip-flop T (toggle – chavear seqüencialmente de modo alternado entre dois estados) , conforme mostrado na Figura 37:

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Figura 37: Diagrama lógico de um flip-flop T. Uma vez que Q recebe o inverso do valor lógico da entrada de dados D a cada instante em que ocorre a descida do clock, então o flip-flop alterna de estado exatamente nestes instantes conforme mostra a Figura 38.

Figura 38: Formas de onda do flip-flop T mostrado na Figura 37. O atraso de propagação mostrado é originado nas portas NAND. Quando ocorre a descida do clock de 1→0, o “Mestre” é desabilitado primeiro, evitando que Q′e Q′ mudem seu valor lógico. Alguns nanossegundos após, as saídas Q e Q mudam de valor lógico igualando-se respectivamente à Q′e Q′. Com isto

Diguala-se ao novo valor de Q, mas o “Mestre” não muda de estado porque está desabilitado por 0=CLOCK. A mudança de estado só ocorrerá na próxima borda de descida do clock.

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Figura 39: Diagrama lógico de um flip-flop T implementado com portas NOR. 8 O flip-flop JK

•••• A Figura 40 mostra o diagrama lógico de um flip-flop JK master-slave (existe também o JK edge-triggered ):

Figura 40: Diagrama lógico, Tabela Verdade e símbolo lógico de um flip-flop JK MS implementado com portas NAND. Note que a mudança de estado deste flip-flop JK ocorre na borda de descida do clock.

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

portanto, o “Escravo” não muda o valor lógico das saídas Q e QPortanto o

•••• Note da Figura 40 que se 0==KJ então o “Mestre” é desabilitado, e, estado do flip-flop JK fica “memorizado” para esta situação.

•••• Se KJ= então as saídas Q e Q recebem respectivamente os valores lógicos das entradas J e K no instante em que ocorre a borda de descida do clock (comporta-se semelhantemente a um flip-flop D).

•••• Se 1==KJ então a saída Q controla a habilitação da porta NAND que recebe a entrada K e a saída Q controla a habilitação da porta NAND que recebe a entrada J. Isto faz com que a cada instante em que ocorre a descida do clock o flip-flop JK alterne de estado exatamente nestes instantes (comporta-se como um flip-flop T).

•••• As entradas assíncronas CLR e PR têm prioridade sobre todas as demais entradas.

Figura 41: Exemplo de formas de onda para Q e Q obtidas na operação de um flip-flop JK MS, de acordo com a Tabela Verdade da Figura 40. Note a prioridade de ação das entradas assíncronas CLR e PR. Note também que os valores lógicos de Q e Q são determinados pelos valores das entradas J e K antes da borda de descida do clock (exceto quando os valores lógicos de

Q e Q são determinados por ação de CLR ou PR).

PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica

Eletrônica DigitalCap. VII por F.C.C. De Castro

Figura 42: Diagrama lógico de um flip-flop JK MS implementado com portas NOR.

Figura 43: Exemplo de aplicação – divisor de freqüência (2÷) usando um flip-flop JK. Note que o sinal CP tem a metade da freqüência do clock. Note também que o sinal PC′ tem a mesma freqüência de CP mas é defasado de 180° do mesmo. Se não for necessário dois sinais defasados 180°, elimina-se uma das portas NAND.

(Parte 1 de 2)

Comentários