Centro de Ensino Superior de Maceió - CESMAC
Faculdade de Ciências Exatas e Tecnológicas – FACET
Curso de Análise de Sistemas
Memória
Wendhel Washington Santos Moura
Memória
Random-access memory -RAM
RAM Estática - SRAM
RAM Dinâmica - DRAM
Memória
Read-only memory -ROM
PROM
EPROM
EEPROM
Memória Flash
Memória de Semicondutores
Memória
Cache
O objetivo da memória cache é obter uma velocidade de
acesso à memória próxima da velocidade das memórias
mais rápidas e, ao mesmo tempo, disponibilizar no sistema
uma memória de grande capacidade, a um custo
equivalente ao das memórias de semicondutor mais
baratas.
Memória
Cache
Memória
Estrutura da memória cache e da memória principal
Memória
Operação de leitura em uma memória cache
Memória
Organização típica de uma memória cache
Memória
Elementos do projeto de uma cache
 Tamanho
Ao se determinar o tamanho da memória cache devemos levar
em consideração o custo por bit e o tempo de acesso. Assim,
uma cache deve ser suficientemente grande para que o tempo
médio de acesso à memória seja próximo ao tempo de acesso
à cache e pequeno o suficiente para que o custo por bit não
seja alto e se equipare ao da memória principal. Quanto maior
o tamanho da cache mais lento é o seu acesso, pois uma
quantidade de portas maior será utilizada no seu
endereçamento.
Elementos do projeto de uma cache
Memória
 Função de Mapeamento
O número de linhas da memória cache é bem menor que o
número de blocos da memória principal. Assim, devemos
encontrar uma forma de mapear os blocos da memória
principal para a cache. Existem 3 técnicas diferentes que
podem ser utilizadas: mapeamento direto, mapeamento
associativo e mapeamento associativo por conjunto.
Elementos do projeto de uma cache
Memória
 Função de Mapeamento
 Mapeamento Direto
Este método é o mais simples, sendo cada bloco da memória
principal mapeado em uma única linha da cache.
Elementos do projeto de uma cache
 Função de Mapeamento
 Mapeamento Associativo
Neste modo é permitido que um bloco da memória principal
seja mapeado para qualquer linha da memória cache. Todo
endereço da memória principal é interpretado como sendo
constituído de um rótulo, que identifica de modo unívoco um
bloco da MP, e um campo de palavra.
Memória
Elementos do projeto de uma cache
 Função de Mapeamento
 Mapeamento Associativo por Conjunto
Este método mescla as duas forma de
mapeamento visto anteriormente.
Memória
Algoritmo de Substituição
Memória
Quando a memória cache está cheia e um novo bloco é trazido para ela,
algum bloco existente deve ser substituído para dar lugar ao novo. Para
o caso do mapeamento direto isso é tranqüilo, uma vez que cada bloco
da MP tem pré-determinado a sua posição na cache, não havendo
qualquer outra alternativa. Por outro lado, os mapeamentos associativos
e por conjunto necessitam de alguma política ou algoritmo para
determinar qual o bloco que deixará a cache para que o novo bloco
possa ser armazenado. Para que todo este processo seja feito
rapidamente ele deve ser implementado em hardware.
Algoritmo de Substituição
Memória
Substituiremos o bloco que está no conjunto que não é usado
há mais tempo. Cada linha inclui um bit a mais, chamado de bit
de USO. Assim quando um novo bloco deve ser armazenado
no conjunto ele ocupa a linha que não é usada há mais tempo.
Este algoritmo é um dos mais eficientes para aumentar a
cache hit.
 LRU (Least Recently Used)
Algoritmo de Substituição
Memória
É bem simples, o primeiro bloco a ser armazenado será o
primeiro a ser substituído
 FIFO (First In Firt Out)
Algoritmo de Substituição
Memória
O algoritmo substituirá o bloco que foi utilizado menos vezes.
Podemos colocar um contador a cada uma das linhas da
memória cache para obter esta informação.
 LFU (Least Frequently Used) – Menos utilizado
Bibliografia
 STALLING, W. Arquitetura e Organizações de
Computadores, 5ª Edição, Prentice Hall, São Paulo,
2002.

Memórias

  • 1.
    Centro de EnsinoSuperior de Maceió - CESMAC Faculdade de Ciências Exatas e Tecnológicas – FACET Curso de Análise de Sistemas Memória Wendhel Washington Santos Moura
  • 2.
    Memória Random-access memory -RAM RAMEstática - SRAM RAM Dinâmica - DRAM
  • 3.
  • 4.
  • 5.
    Memória Cache O objetivo damemória cache é obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma memória de grande capacidade, a um custo equivalente ao das memórias de semicondutor mais baratas.
  • 6.
  • 7.
    Memória Estrutura da memóriacache e da memória principal
  • 8.
    Memória Operação de leituraem uma memória cache
  • 9.
  • 10.
    Memória Elementos do projetode uma cache  Tamanho Ao se determinar o tamanho da memória cache devemos levar em consideração o custo por bit e o tempo de acesso. Assim, uma cache deve ser suficientemente grande para que o tempo médio de acesso à memória seja próximo ao tempo de acesso à cache e pequeno o suficiente para que o custo por bit não seja alto e se equipare ao da memória principal. Quanto maior o tamanho da cache mais lento é o seu acesso, pois uma quantidade de portas maior será utilizada no seu endereçamento.
  • 11.
    Elementos do projetode uma cache Memória  Função de Mapeamento O número de linhas da memória cache é bem menor que o número de blocos da memória principal. Assim, devemos encontrar uma forma de mapear os blocos da memória principal para a cache. Existem 3 técnicas diferentes que podem ser utilizadas: mapeamento direto, mapeamento associativo e mapeamento associativo por conjunto.
  • 12.
    Elementos do projetode uma cache Memória  Função de Mapeamento  Mapeamento Direto Este método é o mais simples, sendo cada bloco da memória principal mapeado em uma única linha da cache.
  • 13.
    Elementos do projetode uma cache  Função de Mapeamento  Mapeamento Associativo Neste modo é permitido que um bloco da memória principal seja mapeado para qualquer linha da memória cache. Todo endereço da memória principal é interpretado como sendo constituído de um rótulo, que identifica de modo unívoco um bloco da MP, e um campo de palavra. Memória
  • 14.
    Elementos do projetode uma cache  Função de Mapeamento  Mapeamento Associativo por Conjunto Este método mescla as duas forma de mapeamento visto anteriormente. Memória
  • 15.
    Algoritmo de Substituição Memória Quandoa memória cache está cheia e um novo bloco é trazido para ela, algum bloco existente deve ser substituído para dar lugar ao novo. Para o caso do mapeamento direto isso é tranqüilo, uma vez que cada bloco da MP tem pré-determinado a sua posição na cache, não havendo qualquer outra alternativa. Por outro lado, os mapeamentos associativos e por conjunto necessitam de alguma política ou algoritmo para determinar qual o bloco que deixará a cache para que o novo bloco possa ser armazenado. Para que todo este processo seja feito rapidamente ele deve ser implementado em hardware.
  • 16.
    Algoritmo de Substituição Memória Substituiremoso bloco que está no conjunto que não é usado há mais tempo. Cada linha inclui um bit a mais, chamado de bit de USO. Assim quando um novo bloco deve ser armazenado no conjunto ele ocupa a linha que não é usada há mais tempo. Este algoritmo é um dos mais eficientes para aumentar a cache hit.  LRU (Least Recently Used)
  • 17.
    Algoritmo de Substituição Memória Ébem simples, o primeiro bloco a ser armazenado será o primeiro a ser substituído  FIFO (First In Firt Out)
  • 18.
    Algoritmo de Substituição Memória Oalgoritmo substituirá o bloco que foi utilizado menos vezes. Podemos colocar um contador a cada uma das linhas da memória cache para obter esta informação.  LFU (Least Frequently Used) – Menos utilizado
  • 19.
    Bibliografia  STALLING, W.Arquitetura e Organizações de Computadores, 5ª Edição, Prentice Hall, São Paulo, 2002.