Arquitetura de Computadores: Memórias - Nível lógico
Registradores, Contadores e Memórias
1. Registradores, Contadores e Memórias
Equipe:
Eduardo Borges
Fábio Santana
Carlos Alvarez
Rodrigo Assis
Kaio Mendes
Márcio Alves
2. Registradores, Contadores e Memórias
Sumário
a) Contadores
b) Registradores
c) Memória RAM
d) Memória RAM Dinâmica
e) Memória ROM
f) Memória EPROM
g) Memória E2PROM / EEPROM
3. Contadores
O contador consiste em um agrupamento de flip-flops, conectados entre si,
para realizar operações de contagem.
O número de flip-flops usados e a forma na qual eles são conectados
determinam o número de estados (denominado módulo) e também a
sequência específica de estados que o contador percorre durante cada ciclo
completo.
Os contadores são classificados em duas grandes categorias de acordo com
a forma que eles recebem os pulsos de o clock: assíncronos e síncronos.
4. Contadores Assíncronos
Nos contadores assíncronos, normalmente chamados de contadores
ondulantes (ripple counters), o primeiro flip-flop recebe o clock por meio
de um pulso de clock externo e cada flip-flop sucessivo recebe o clock
através da saída do flip-flop anterior.
7. Contadores Assíncronos de Década
O módulo de um contador é o número de estados únicos pelos quais o
contador estabelece uma sequência. O número máximo de estados
possíveis (módulo máximo) de um contador é 2n, onde n é o número de
flip-flops do contador. Os contadores podem ser projetados para ter um
número de estados em sua sequência que é menor que o valor máximo de
2n. Esse tipo de sequência é denominada de sequência truncada.
1 0 0 1
1 0 1 0
8. Contadores Assíncronos de Década
Para obter uma sequência truncada, é necessário forçar o contador a
reciclar antes que ele passe por todos os estados possíveis. Por exemplo,
um contador de década BCD tem que reciclar para o estado 0000 após o
estado 1001.
10. Contadores Síncronos
Em contadores síncronos, a entrada de clock é conectada a todos os flip-flops
de forma que eles recebem o clock simultaneamente.
Dentro de cada uma dessas categorias, os contadores são classificados
principalmente pelo tipo de sequência, o número de estados, ou o número
de flip-flops no contador.
13. Contadores Crescente e Decrescente
Um contador crescente/decrescente (up/down) é aquele que é capaz de
avançar nas duas direções uma determinada sequência. Um contador
crescente/decrescente, algumas vezes denominado de contador
bidirecional, pode ter qualquer sequência especificada de estados.
Um contador binário de 3 bits que avança de forma crescente através de
sua sequência (0, 1, 2, 3, 4, 5, 6,7) podendo então ser invertida de forma
que ele segue a sequência na direção oposta (7, 6, 5, 4,3, 2, 1, 0), é uma
ilustração de uma operação crescente/decrescente.
14. Contadores Crescente e Decrescente
Em geral, a maioria dos contadores crescente/decrescente (up/down) pode
ter o sentido da contagem invertida em qualquer ponto de sua sequência.
Por exemplo, o contador binário de 3 bits pode ser controlado para
percorrer a seguinte sequência.
15. Contadores Crescente e Decrescente
Implementação básica de um contador binário crescente/decrescente.
17. Contadores Crescente e Decrescente
Sequência de
estados lógicos
para o contador
crescente /
decrescente.
18. Contadores em Cascata
Os contadores podem ser associados por uma conexão em cascata para se
conseguir operações com módulos maiores. Em essência, a conexão em
cascata significa que a saída do último estágio de um contador aciona a
entrada do próximo contador.
A seguir um exemplo de dois contadores conectados em cascata, sendo um
contador ondulante de 2 e 3 bits.
19. Contadores em Cascata
Formas de ondas (diagrama temporal) dos dois contadores ligados em
cascata.
20. Registradores de Deslocamento
Um registrador é um circuito digital com duas funções básicas:
armazenamento de dados e movimentação de dados. A capacidade de
armazenamento de um registrador o torna um importante tipo de
dispositivo de memória.
21. Registradores de Deslocamento
A capacidade de armazenamento de um registrador é o número total de
bits (1s e 0s) dos dados digitais que ele pode reter.
Cada estágio (flip-flop) é um registrador de deslocamento que representa
um bit da capacidade de armazenamento; portanto, o número de estágios
num registrador determina sua capacidade de armazenamento.
A capacidade de deslocamento de um registrador permite o movimento de
dados de um estágio para outro dentro do registrador ou ainda para dentro
ou para fora do registrador com a aplicação de pulsos de clock.
22. Registradores Serial / Serial
O registrador de deslocamento com entrada serial/saída serial aceita dados
seriais – ou seja, um bit de cada vez numa única linha. Ele gera em sua saída
a informação armazenada também de forma serial.
A seguir um exemplo do armazenamento de uma entrada de quatro bits
(1010) no registrador de entrada serial e saída serial.
23. Registradores Serial / Serial
Operação de um registrador com entrada serial e saída serial.
24. Registradores Serial / Serial
Operação de um registrador com entrada serial e saída serial.
25. Registradores Serial / Paralela
Os bits de dados são inseridos serialmente (primeiro o bit mais à direita),
similar aos registradores de entrada serial e saída serial.
A diferença está na forma na qual os bits de dados são obtidos na saída do
registrador; num registrador com saída paralela, a saída de cada estágio
está disponível.
Uma vez armazenados os dados, cada bit aparece em sua linha de saída
respectiva e todos os bits são disponibilizados simultaneamente, em vez de
um bit de cada vez como no registrador com saída serial.
26. Registradores Serial / Paralela
Um registrador de deslocamento de 4 bits com entrada serial/saída paralela
27. Registradores Serial / Paralela
Formas de ondas (diagrama temporal) de um registrador de deslocamento
de 4 bits com entrada serial/saída paralela
28. Registradores Paralela / Paralela
No registrador de entrada paralela os dados são introduzido de uma única
vez e a saída paralela também é disponibilizada simultaneamente. O
registrador com entrada paralela/saída paralela emprega os dois métodos.
Imediatamente em seguida à entrada de todos os bits de dados, esses
aparecem nas saídas em paralelo, a partir da sincronização do clock.
29. Registradores Paralela / Paralela
Um registrador de deslocamento de 4 bits com entrada paralela e saída
paralela.
30. Registradores de Deslocamento Bidirecionais
Um registrador de deslocamento bidirecional é aquele no qual os dados
podem ser deslocados para a esquerda ou para a direita.
Isso pode ser implementado usando lógica de controle que habilita a
transferência do bit de dado de um estágio para o próximo estágio à direita
ou à esquerda, dependendo do nível lógico na entrada de controle.
32. Registradores de Deslocamento Bidirecionais
Formas de ondas (diagrama temporal) de um registrador de deslocamento
bidirecional.
33. Memórias Semicondutoras
Os dispositivos de memória aqui abordados são geralmente usados para
armazenar por um período mais longo uma maior quantidade de dados que
um registrador é capaz.
A memória semicondutora produzida com componentes de estado sólido é
um dos tipos de memórias mais utilizados em circuitos digitais atualmente.
A memória semicondutora produzida com componentes de estado sólido é
um dos tipos de memórias mais utilizados em circuitos digitais atualmente.
Este tipo de memória divide-se, basicamente em dois tipos: RAM (Random
Access Memory) e ROM (Read Only Memory).
34. Memórias RAM
A memória RAM - Random Access Memory (Memória de Acesso Aleatório)
é um tipo de memória essencial para o circuito digitais, sendo usada para
guardar dados e instruções de um programa.
Tem como características fundamentais, a volatilidade, ou seja, o seu
conteúdo é perdido quando o circuito é desligado; o acesso aleatório aos
dados e o suporte à leitura e gravação de dados.
O processo de gravação é destrutivo e a leitura é não destrutiva.
Existem dois tipos básicos de memória RAM:
RAM Estática e RAM Dinâmica.
35. Memórias RAM
RAM Estática (SRAM)
Memória baseada na tecnologia de transistores. Não requer atualização dos
dados. Consome mais energia (o que gera mais calor) comparando-se com
a memória dinâmica, sendo significativamente mais rápida. É
frequentemente usada em computadores rápidos. Possui capacidade de
armazenamento bem menor que a memória dinâmica.
RAM Dinâmica (DRAM)
Memória baseada na tecnologia de capacitores. Requer a atualização
periódica do conteúdo de cada célula do chip, consumindo, assim,
pequenas quantidades de energia. Possui acesso lento aos dados. Uma
importante vantagem é a grande capacidade de armazenamento oferecida
por este tipo de tecnologia.
36. Memórias RAM
RAM Dinâmica
Vantagens
Barata
Baixo Consumo
Alta Densidade
Desvantagens
Necessita de Atualização
Lenta
RAM Estática
Vantagens
Rápida
Não necessita de atualização
Desvantagens
Mais cara
Consome Mais Energia
Baixa Densidade
37. Memórias RAM
Estrutura de Acesso de uma RAM :
VCC
GND
Barra de
endereços
Barra de
controle
Barra de
Dados
(bidirecional)
RAM
mxn
RAM mxn: “m” endereços de “n” bits
41. Memórias ROM
A memória ROM – Read Only Memory (Memória Apenas de Leitura) é um
tipo de memória a semicondutor, projetada para armazenar dados
que nunca mudam ou que, se mudarem, o farão com pouquíssima
frequência.
É um tipo de memória que contém instruções imutáveis. É não-volátil, ou
seja, os dados não são perdidos com a ausência de energia. É, também, de
acesso aleatório.
A memória semicondutora produzida com componentes de estado sólido é
um dos tipos de memórias mais utilizados em circuitos digitais atualmente.
42. Memórias ROM
ROM Programada por Máscara.
A ROM programada por máscara tem suas posições de memória escritas
pelo fabricante de acordo com as especificações do cliente.
Um negativo fotográfico, denominado máscara, é usado para especificar as
conexões elétricas do chip.
A maior desvantagem destas ROMs é o fato de elas não poderem ser
apagadas e reprogramadas, quando uma mudança qualquer no projeto do
dispositivo exigir modificações nos dados armazenados.
Neste caso, a ROM com os dados antigos não podem ser reaproveitada.
45. Memórias ROM
PROM - ROM Programável (Programmable Read Only Memory)
Uma ROM programável por máscara é muito dispendiosa e não deve ser
usada a não ser para aplicações que exijam a produção de uma grande
quantidade de chips, fazendo com que os custos de fabricação seja
divididos por um número bem grande de unidades.
A indústria desenvolveu as PROMs a fusível, programáveis pelo usuário, isto
é, elas não são programadas durante o processo de fabricação, e sim pelo
usuário, de acordo com suas necessidades.
46. Memórias ROM
PROM - ROM Programável (Programmable Read Only Memory)
As PROMs usam fusíveis que podem ser abertos seletivamente pelo
usuário para programar um zero lógico na célula em questão
47. Memórias ROM
EPROM - ROM Programável e Apagável (Erasable Programmable ROM)
Uma EPROM pode ser programada pelo usuário, podendo, além disso, ser
apagada e reprogramada quantas vezes forem necessárias.
Uma vez programada, a EPROM comporta-se como memória não-volátil
que reterá os dados nela armazenados indefinidamente.
O processo de programação de uma EPROM envolve a aplicação de níveis
especiais de tensão (na faixa entre 10 e 25 V) às entradas apropriadas do
chip por um intervalo de tempo determinado (em geral 50 ms por posição
de memória).
48. Memórias ROM
EEPROM - EPROM Apagável Eletricamente (Electrically Erasable PROM)
As EPROM têm duas grandes desvantagens. A primeira é o fato de elas
precisarem ser retiradas de seu soquete para serem apagadas e
reprogramadas. A segunda é o fato de a operação de apagamento remover
o conteúdo da memória inteira, obrigando que a mesma tenha de ser
completamente reprogramada.
A maior vantagem da EEPROM sobre a EPROM é a possibilidade de
apagamento e reprogramação de palavras individuais, em vez da memória
toda. Além disso, uma EEPROM pode ser totalmente apaga em 10 ms, no
próprio circuito, contra mais de 30 minutos para uma EPROM.
Pelo fato de a EEPROM poder ser apagada e reprogramada sem ser
removida do circuito através da aplicação de tensões específicas, torna-se
necessário o acréscimo de alguns componentes ao circuito da EEPROM,
componentes estes que não existem no caso da EPROM.
49. Aplicação das Memórias ROM
FIRMWARE (Microprograma):
Até agora, uma das mais importantes aplicações da memória ROM é no
armazenamento dos microprogramas de um computador. Alguns
microcomputadores também armazenam em ROM seu sistema
operacional e, em alguns casos, até seus interpretadores de linguagem.
Os programas do computador que estão armazenados em ROM são
denominados firmware pelo fato de não estarem sujeitos a mudança, ao
contrário daqueles armazenados em RAM (software).
50. Aplicação das Memórias ROM
TABELAS DE DADOS:
São muitas vezes usadas para armazenar tabelas de dados que não mudam
nunca. Alguns exemplos de tais tabelas são aquelas utilizadas para
implementar funções trigonométricas e as tabelas de conversão.
CONVERSORES DE DADOS:
Os circuitos de conversão de dados recebem um dado expresso em
determinado tipo de código, e produzem uma saída expressa em outro tipo
de código.
51. Aplicação das Memórias ROM
GERADORES DE CARACTERES:
Se você já prestou atenção alguma vez aos caracteres alfanuméricos
impressos na tela de display de cristal líquidos, deve ter notado que eles
são formados por um grupo de pontos.
GERADOR DE FUNÇÕES:
O gerador de funções é um circuito que produz em suas saídas formas de
onda das mais diversas, como senoidais, dentes de serra, ondas
triangulares e ondas quadradas.