Nível da Lógica Digital - .:. FURB .:. DSC

26
Nível da Lógica Digital (Aula 8) Memória – Nível Lógico Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I – Eng. Elétrica 2007/2 Agradecimentos: Camilo Calvi - LPRM/DI/UFES

Transcript of Nível da Lógica Digital - .:. FURB .:. DSC

Page 1: Nível da Lógica Digital - .:. FURB .:. DSC

Nível da Lógica Digital(Aula 8)

Memória – Nível Lógico

Roberta Lima Gomes - LPRM/DI/UFES

Sistemas de Programação I – Eng. Elétrica 2007/2

Agradecimentos: Camilo Calvi - LPRM/DI/UFES

Page 2: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES2222

http://www.inf.ufes.br/~rgomes/sp1.htm

Memória

� A memória é usada para armazenar tanto instruções a serem executadas quanto os dados usados na execução de algumas dessas instruções

� Para se criar uma memória de 1 bit, precisamos de um circuito que de alguma forma seja capaz de “lembrar” valores anteriores que lhe foram fornecidos como entrada.

� Esse circuito deve “guardar” esses valores anteriores, possuindo assim uma “memória”

Page 3: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES3333

http://www.inf.ufes.br/~rgomes/sp1.htm

Circuito combinacional x sequencial

� Circuito combinacional� A saída depende apenas de uma combinação das entradas

� Circuito seqüencial� A saída depende, além de uma combinação das entradas, de uma

combinação das variáveis de estado do sistema, ou seja, de variáveis que identifiquem o estado em que o sistema se encontrava

� Isso significa que o sistema necessita possuir (memorizar) o estado atual para alcançar o estado seguinte

Page 4: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES4444

http://www.inf.ufes.br/~rgomes/sp1.htm

Latches (1)

� Latch SR (Set/Reset)� Pode ser construído com portas NOR ou NAND� Ao contrário dos circuitos combinacionais, as saídas do latch não são

determinadas unicamente pelas entradas correntes (nesse caso, depende das saídas anteriores).

� Duas entradas (S e R) e duas saídas complementares (Q e Q):� Suponha inicialmente R e S iguais a 0, e: (a) Q = 0 e (b) Q = 1� S (setting) -> quando for 1, leva o latch para o nível lógico 1� R (resetting) -> quando for 1, leva o latch para o nível lógico 0

Page 5: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES5555

http://www.inf.ufes.br/~rgomes/sp1.htm

Latches (2)

� Latch SR (Set/Reset)� Para R = S = 0, o latch tem dois estados estáveis, dependendo do valor

em Q� Estado 0 (Q=0) ou 1 (Q=1)

� Quando S vai para 1, o latch passará para o estado 1 (Q = 1)� O estado em que o latch estava anteriormente NÃO importa� Qdo S retorna para 0, o latch continuará em estado 1

� Quando R vai para 1, o latch vai para 0 (Q = 0) � O estado em que o latch estava anteriormente NÃO importa� Qdo R retorna para 0, o latch continuará em estado 0

� Esse circuito “lembra” qual das duas entradas (S ou R) esteve pela última vez em 1.

Page 6: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES6666

http://www.inf.ufes.br/~rgomes/sp1.htm

Latches (3)

� Latches SR com Clock

� Em algumas situações, deseja-se que o latch só troque de estado em instantes determinados, de acordo com um sinal de clock.

� Com o clock em 0, as saídas das portas AND são 0, e o latch não muda seu estado.

� Com o clock em 1, o latch passa a ser sensível às entradas S e R� O efeito das portas AND é anulado

Page 7: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES7777

http://www.inf.ufes.br/~rgomes/sp1.htm

Latches (4)

� Latches SR com Clock� Posso utilizar outros sinais ao invés do clock para prover a

sensibilidade do circuito a S e R.� Habilitação e Strobe

� Quando S e R assumirem ao mesmo tempo valor 1.� O único estado consistente para S = R = 1 é Q = Q = 0.� Comportamento não-determinístico: se ambas as entradas retornarem simultaneamente ao estado 0, o latch salta para um de seus dois estados estáveis

� Uma maneira interessante para anular a essa ambigüidade do latchSR é não deixar que ela ocorra (por exemplo, com latch tipo D).

Page 8: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES8888

http://www.inf.ufes.br/~rgomes/sp1.htm

Latches (5)

� Latches Tipo D com Clock

� Quando o clock for 1, o valor corrente na entrada D é amostrado e armazenado no latch, implementando a memória de 1 bit.

� Para D igual a 1, Q será 1.

� Para D igual a 0, Q será 0.

� Em outras palavras, quando o clock for 1, o valor corrente de D é amostrado e armazenado no latch

Page 9: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES9999

http://www.inf.ufes.br/~rgomes/sp1.htm

Flip-Flops (1)

� Latches são circuitos sensíveis ao nível� A mudança do estado ocorre quando o clock assume valor 1

� Flip-Flops são circuitos sensíveis à transição� A mudança do estado ocorre durante a transição de 0 para 1 (transição positiva) ou de 1 para 0 (transição negativa).

Page 10: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES10101010

http://www.inf.ufes.br/~rgomes/sp1.htm

Flip-Flops (2)

� Uma maneira prática de se projetar um flip-flop é gerar um pulso muito curto na subida do sinal do clock.

� Esse pulso poderia alimentar a entrada de clock do latch D.� Uma maneira de se implementar seria, por exemplo:

� A saída da porta AND não será sempre 0?

Page 11: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES11111111

http://www.inf.ufes.br/~rgomes/sp1.htm

Flip-Flops (3)

� O inversor tem um retardo de propagação muito pequeno, mas que não é zero, e esse retardo é que faz o circuito funcionar.

� Analisando os sinais em a, b, c e d:

� a: um sinal de clock

� b: clock invertido com atraso (~ 5 ns)

� c: sinal de clock

� d: saída da porta AND, com retardo relativo à porta AND

� ∆: retardo de propagação do inversor

Page 12: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES12121212

http://www.inf.ufes.br/~rgomes/sp1.htm

Flip-Flops (4)

� Flip-Flop tipo D

Podem haver duas entradas adicionais• Preset• Clear

Page 13: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES13131313

http://www.inf.ufes.br/~rgomes/sp1.htm

Registradores (1)

� Flip-Flopspodem ser agrupados para formarem, por exemplo, registradores e memórias principais.

Flip-flop octal

Page 14: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES14141414

http://www.inf.ufes.br/~rgomes/sp1.htm

Registradores (2)

� Um registrador de n bits é um conjunto de n elementos de “memória ou célula de 1 bit” (flip-flops) � Vetor de bits.

Habilitação de Escrita

Page 15: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES15151515

http://www.inf.ufes.br/~rgomes/sp1.htm

Registradores (3)

Data Input nData Outputn

mAddress

Chip Select

RD ou WClockClear

Seleção de linha

Page 16: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES16161616

http://www.inf.ufes.br/~rgomes/sp1.htm

Organização da Memória (1)

� Flip-flops e registradores são úteis. Entretanto, deseja-se utilizar memórias de maior capacidade e capaz de endereçar palavras individualmente.

� Organização de memória que seja estendível à quantidade de memória que se queira.

� Diagrama de uma memória de 4 palavras de 3 bits� Operações de leitura e escrita são realizadas em uma palavra completa

� Apesar de capacidade próxima ao registrador octal, ela necessita de menos pinos (14 ao invés de 20), e é facilmente estendido

Page 17: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES17171717

http://www.inf.ufes.br/~rgomes/sp1.htm

Organização da Memória (2)

Entradas (8 linhas): Dados (I0..2): 3 linhasEndereços (A0..1): 2 linhasControle:

CS (chip selection –habilitação do chip)

RD (read – operação deleitura/escrita)

OE (output enable –habilita a saída)

Saídas (3 linhas): Dados (O1..3)

Page 18: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES18181818

http://www.inf.ufes.br/~rgomes/sp1.htm

Organização da Memória (3)� Célula de 1 bit

ANDHabilitação de Chip

Habilitação de Chip

AND

Habilitação de Escrita

AND

Habilitação de Saída

Page 19: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES19191919

http://www.inf.ufes.br/~rgomes/sp1.htm

Organização da Memória (4)

� Buffer (chaves eletrônicas)� Dispositivos de Três Estados

� Podem ter na saída 0, 1 ou nenhum dos dois valores (circuito em aberto)

� Buffer Não-Inversor (a)

� Nível alto no control (b) e nível baixo no control (c)

Page 20: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES20202020

http://www.inf.ufes.br/~rgomes/sp1.htm

Organização da Memória (5)� Há necessidade de um circuito externo para fazer com que CS

assuma o estado alto junto com RD, quando a operação for de leitura e, para uma operação de escrita, CS deve ser alto e RD baixo.

� As linhas de endereço devem indicar quais palavras devem ler lidas ou escritas. Decodificador

� Na escrita, as linhas de saída não são usadas, e as de entrada carregadas na palavra de memória selecionada. CS.RD -> alto

� Na leitura, as linhas de entrada de dados não são usadas. A palavra selecionada é colocada na linha de saída. CS.RD -> baixo

� Na prática, os bits de entrada e de saída podem passar pelo mesmo barramento.

Page 21: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES21212121

http://www.inf.ufes.br/~rgomes/sp1.htm

� A memória de quatro palavras de 3 bits (4x3) pode ser facilmente estendida para tamanhos maiores

� Por exemplo, para estendê-la para 4 x 8 ?

� Por exemplo, para estendê-la para 8 x 3 ?

� O que pode ser dito quanto ao número de palavras da memória?

� E o número de bits da palavra?

Organização da Memória (6)

Page 22: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES22222222

http://www.inf.ufes.br/~rgomes/sp1.htm

Chips de Memória (1)

� Maneiras diferentes de se organizar um chip de 4Mbits� CS: Chip Select – Habilitação do Chip

� WE: Write Enable – Habilitação de Operação de Escrita

� OE: Output Enable – Habilitação de Saída

� RAS: Row Address Strobe – Habilitação de Endereço de Linha

� CAS: Column Address Strobe – Habilitação de Endereço de Coluna

2048x2048 bits

Page 23: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES23232323

http://www.inf.ufes.br/~rgomes/sp1.htm

Chips de Memória (2)

Page 24: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES24242424

http://www.inf.ufes.br/~rgomes/sp1.htm

� SRAMs (RAMs estáticas)� Construídas a partir de circuitos semelhantes aos flip-flops D

básicos� 6 transistores por bit

� Ordem de poucos nanosegundos

� DRAMs (RAMs dinâmicas)� Matriz de bits� Cada célula contendo um transistor e um capacitor

� Alta densidade de integração� Refresh

� Ordem de dezenas de nanosegundos

� SDRAM� Projeto híbrido

Chips de Memória (3)

Page 25: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES25252525

http://www.inf.ufes.br/~rgomes/sp1.htm

Chips de Memória (4)

� Uma ROM de 4 palavras de 4 bits

Page 26: Nível da Lógica Digital - .:. FURB .:. DSC

Sistemas de Programação I – 2007/2 Profa Roberta L.G. - LPRM/DI/UFES26262626

http://www.inf.ufes.br/~rgomes/sp1.htm

Referências

� Andrew S. Tanenbaum, Organização Estruturada de Computadores, 5ª edição, Prentice-Hall do Brasil, 2007.

� John L. Hennessy and David A. Patterson, Arquitetura de Computadores: Uma Abordagem Quantitativa. 3ª edição. Editora Campus, 2003.

� Milos Ercegovac, Tomas Lang, Jaime H. Moreno. Introdução aos Sistemas Digitais. Bookman–Porto Alegre, 2000 –ISBN 85-7307-698-4