19
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órias

  • Upload
    wendhel

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Memórias

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

Page 2: Memórias

Memória

Random-access memory -RAM

RAM Estática - SRAM

RAM Dinâmica - DRAM

Page 3: Memórias

Memória

Read-only memory -ROM

PROM

EPROM

EEPROM

Memória Flash

Page 4: Memórias

Memória de Semicondutores

Page 5: Memórias

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.

Page 6: Memórias

Memória

Cache

Page 7: Memórias

Memória

Estrutura da memória cache e da memória principal

Page 8: Memórias

Memória

Operação de leitura em uma memória cache

Page 9: Memórias

Memória

Organização típica de uma memória cache

Page 10: Memórias

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.

Page 11: Memórias

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.

Page 12: Memórias

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.

Page 13: Memórias

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

Page 14: Memórias

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

Page 15: Memórias

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.

Page 16: Memórias

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)

Page 17: Memórias

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)

Page 18: Memórias

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

Page 19: Memórias

Bibliografia

STALLING, W. Arquitetura e Organizações de Computadores, 5ª Edição, Prentice Hall, São Paulo, 2002.