Nível da Lógica Digital - .:. FURB .:. DSC
Transcript of 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
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”
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
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
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.
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
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).
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
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).
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?
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
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
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
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
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
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
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)
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
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)
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.
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)
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
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)
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)
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
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