MEMÓRIAS
MEMÓRIA
- Dispositivo para armazenamento simultâneo de uma grande quantidade de
informação em formato binário.
- Formada por elementos básicos de memória organizados sob a forma de uma
tabela.
- Composta por vários elementos de armazenamento organizados tipicamente sob a
forma de uma tabela.
- A memória interna de um microprocessador é muitas vezes designada por Banco de
Registos
LATCH / FLIP FLOP
Elemento base com capacidade para armazenar 1 bit.
Registo: Composto por vários elementos base. Capacidade para armazenar n bits.
Estrutura: Em termos físicos a memória é composta pelas células de armazenamento e pela
lógica de controlo de acesso.
Endereço: Identificação em binário da palavra à qual se pretende aceder. Esse número
permite localizar a palavra a ser acedida dentro da estrutura física da memória.
Dados
Valor binário a ser escrito ou lido a partir da memória.
- Operação de Escrita => armazenamento de uma palavra na memória.
- Operação de Leitura => consulta de dados anteriormente armazenados na memória.
Sinais de Controlo
Sinais que permitem controlar o acesso à memória: identificar o tipo de operação (leitura ou
escrita), selecionar a memória, ativar as saídas da memória, etc.
Ciclo de Leitura
- Sinais de Controlo: Chip Enable (CE), Output Enable (OE);
- Sinais de Entrada: Endereço da posição a Ler (ADDRESS);
- Sinais de Saída: Valor Lido (DATA OUT).
CICLO DE ESCRITA
- Sinais de Controlo: Chip Enable (CE), Output Enable (OE) e Write (WE);
- Sinais de Entrada: Endereço da posição a Ler (ADDRESS);
- Sinais de Saída: Valor Lido (DATA OUT).
CAPACIDADE
A capacidade indica a quantidade de informação que se pode armazenar.
Normalmente indica-se (de forma aproximada) o número de palavras que podem ser
armazenadas e o tamanho de cada palavra.
Exemplo:
O valor é indicado de modo arredondado em relação à potência de 2 que representa a
capacidade exacta.
1 Kbyte => 1K x 8 => 210 (1024) palavras de 8 bits cada
Exercício 3.1
Indique qual o número exacto de palavras de uma memória de 4 Kbytes.
DESEMPENHO
- Tempo de acesso (latência) – tempo para realizar uma operação de escrita ou de
leitura;
- Tempo do ciclo de memória – tempo até ao próximo ciclo de memória;
Taxa de Transferência
Memória RAM = 1/(tempo de ciclo)
Outras memórias = Tn = TA + (n/R)
Tn – Tempo médio para uma leitura ou escrita de n bits;
TA – Tempo de acesso médio;
R – taxa de transferência em bits por segundo.
MÉTODOS DE ACESSO
Sequencial:
- Memória organizada por blocos de dados (records);
- Acesso efectuado por uma ordem específica;
- Tempo de acesso depende da localização do bloco => arbitrário e altamente variável;
- SAM (Serial Access Memory);
- Exemplo: Fitas Magnéticas.
Indireto:
- Memória organizada por blocos, endereçamento por localização; - acesso por
proximidade e depois sequencial;
- Tempo de acesso variável;
- Memória FLASH;
- SRM (Semi Random Memory);
- Exemplo: Discos Rígidos (HDD).
Direto:
- Cada posição de memória tem um endereço;
- Existem mecanismos de endereçamento fisicamente previstos no hardware);
tempo de acesso constante;
- RAM (Random Access Memory);
- Exemplo: memória principal.
Associativo:
- Permite que seja feita uma comparação de alguns bits do endereço sobre todas as
palavras da memória ao mesmo tempo;
- tempo de acesso constante;
- Exemplo: Caches.
Tipo Físico:
- semicondutor (RAM, ROM, EEPROM, Flash, etc);
- magnético (fitas magnéticas);
- óptico (DVDs);
- óptico-magnético (CD-MO).
Volatilidade / Não Volatilidade
Diz-se que uma memória é volátil se o seu conteúdo é perdido quando se desliga a
alimentação.
Exemplo: Memórias ROM, são não voláteis; memórias RAM, são voláteis.
Capacidade de Programação
Alguns tipos de memórias podem ser apagadas e reprogramadas utilizando processos
electrónicos.
Exemplo: Memórias EEPROM.
Densidade:
Quantidade de células de armazenamento por área de material semicondutor.
Custo por Bit
Está diretamente associado ao tipo de tecnologia utilizada no fabrico das células de
armazenamento.
- Acesso + Rápido => maior custo por bit;
- Maior capacidade => Menor custo por bit.
Projeto de um Sistema de Memória
Precisa ter em conta a velocidade de acesso, a capacidade e o custo.
Melhor Desempenho => Memória devia acompanhar a velocidade do processador => Custos
muito mais elevados que não são comportáveis => Utilização de Tecnologias distintas =>
Características diferentes.
Todas as memórias referidas permitem o acesso directo aos dados.
TIPOS DE MEMÓRIAS
- ROM (Read Only Memory):
Memória não volátil, pré-programada, só pode ser lida.
São utilizadas para armazenamento de configurações e firmware que não é
necessário alterar durante o ciclo de vida do produto.
- RAM (Random Access Memory):
Memória volátil, pode ser lida e escrita.
Permitem grandes densidades e ciclos de leitura e de escrita rápidos.
Existem SRAM (Static) e DRAM (Dynamic).
Utilizadas para armazenamento do programa e dos dados durante a operação dos
microprocessadores.
- NVRAM (Non Volatile Random Access Memory):
Memória não volátil, pode ser lida e escrita. Aplicações semelhantes às da ROM.
- EEPROM (Electrical Erasable Programmable ROM):
Memória não volátil, essencialmente de leitura, pode ser apagada eléctricamente e
reprogramada.
Nas EEPROM o apagamento é feito através da aplicação de sinais elétricos.
Utilzam-se para guardar parâmetros de configuração cujo valor deve ser mantido
mesmo quando o dispositivo não está alimentado, podendo os dados ser alterados,
se for necessário.
- FLASH:
Memória não volátil, pode ser lida e escrita.
Variante das EEPROM em que as operações de escrita e apagamento são feitas
sobre grandes blocos de dados.
Ciclos de leitura rápidos, ciclos de escrita e apagamento lentos, capacidade grande e
baixo custo (em relação às EEPROM). Utilizam-se como memória de programa nos
microcontroladores.
HIERARQUIA DE MEMÓRIA
Organiza-se do processador para o exterior. À medida que se desce na hierarquia:
- Diminui o custo por bit.
- Aumenta a capacidade.
- Aumenta o tempo de acesso.
- Diminui a frequência de acesso à memória por parte do processador.
Esta abordagem permite melhorar o desempenho porque se verifica o princípio da
localidade.
Princípio da Localidade
Durante a execução dos programas o processador tende a aceder ainstruções e dados de
forma repetida.
Melhorar desempenho => Código e dados acedidos mais recentemente são mantidos perto
do processador.
Hierarquia:
- Registos Internos: acesso muito rápido, capacidade muito pequena, custo muito
elevado;
- Cache: acesso rápido, capacidade pequena, custo elevado;
- Memória principal: acesso mais lento, capacidade maior, custo menor;
- Memória Secundária ou Auxiliar (discos rígidos e móveis): acesso muito lento,
capacidade muito grande e custo muito menor.
Extensão da Memória Principal => Memória Virtual