32
Hierarquia de Memória Prof. André Luis M. Silva e/ msn:[email protected] m

Hierarquia de Memória Prof. André Luis M. Silva e/msn:[email protected]

Embed Size (px)

Citation preview

Page 1: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Hierarquia de Memória

Prof. André Luis M. Silvae/msn:[email protected]

Page 2: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Agenda• Introdução• Tipos de Memória• Princípio da Localidade• Memória Cache• Técnicas de Mapeamento• Opções de Projeto de Memória• Política de Substituição.• Política de Falta.• Política de Falta em Escrita.• Cache Multinível.

Page 3: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Introdução

“O ideal seria ter uma capacidade de memória infinitamente grande a ponto de qualquer word específica estar imediatamente disponível...

Somos ... Forçados a reconhecer a possibilidade de construir uma hierarquia de memórias, cada uma com capacidade maior do que a anterior, mas com acessibilidade menos rápida.”

A.W. Burks, H.H. Goldstine e J. Von Neumman

Page 4: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Tipos de Memória

• SRAM (Static RAM)– Muito rápida, mas ocupa mais espaço que a

DRAM.– Tecnologia utilizada na fabriação das memórias

caches.• DRAM (Dynamic Ram)

– Tecnologia utilizada na fabricação das memórias principais.

– Muito pequena, porém mais lenta que a SRAM (fator de 5 a 10 vezes mais lenta).

Page 5: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Trabalho sobre memória

• Para o banco do conhecimento:– OTP-ROM, EPROM, EEPROM– SRAM, DRAM, PSRAM, NVRAM

Page 6: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Tipos de MemóriaTecnologia da memória Tempo de acesso típico US$ por GB em 2004

SRAM 0,5 a 5 ns 4000 a 10.000

DRAM 50 a 70 ns 100 a 200

Disco Magnético 5.000.000 a 20.000.000 ns. 0,50 a 2

Page 7: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Alguns Conceitos• Taxa de Falha

– A proporção dos acessos à memória não encontrados em um nível da hierarquia de memória.

• Taxa de Acertos– A proporção dos acessos à memória encontrados em uma cache.

• Tempo de Acerto– O tempo necessário para acessar um nível da hierarquia de memória,

incluindo o tempo necessário para determinar se o acesso é um acerto ou uma falha.

• Penalidade de Falha– O tempo necessário para buscar um bloco de um nível inferior para

um nível superior da hierarquia de memória, incluindo o tempo para acessar o bloco e transmiti-lo de um nível para outro e inseri-lo no nível que experimentou a falha.

Page 8: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Princípio da Localidade

• Programas acessam uma parte relativamente pequena do seu espaço de endereçamento em qualquer instante do tempo.– Dividi-se em:

• Localidade Temporal• Localidade Espacial

Page 9: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Princípio da Localidade

• Localidade Temporal– Se um item é referenciado, ele tenderá ser

referenciado novamente em breve.

Page 10: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Princípio da Localidade

• Localidade Espacial– Se um item é referenciado, os itens cujos

endereços estão próximos tenderão a ser referenciados em breve.

Page 11: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Hierarquia de Memória

registradores

Memória cache

Memória Principal

Memória Secundária

Page 12: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Memórias Cache

• Representa o nível mais alto do projeto de hierarquia de memórias.

• A arquitetura que faz uso de caches unificados é denominada de arquitetura de Princeton.

• A arquitetura que faz uso de caches dedicada para dado e para instrução é denominada de arquitetura de Harvard.

Page 13: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Memória Cache

• Como sabemos se um item de dado está na cache?

• Se estiver, como encontrá-lo?• Para isso empregamos algumas técnicas de

mapeamento:– Mapeamento Direto.– Associativo por conjunto.– Totalmente associativo.

Page 14: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Técnicas de Mapeamento

• Mapeamento Direto– Cada local da memória é mapeado exatamente

para um local da cache.

Page 15: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Mapeamento DiretoTag: Campo utilizado para localizar os dados

Bit de validade: Campo nas tabelas que indica se o dado é válido.

Índice: Indica a linha da cache.

Armazenar uma palavra por linha é uma boa técnica?

Page 16: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Mapeamento DiretoPodemos desenvolver caches que armazenem mais de uma palavra por linha.

Cada linha da cache é conhecida como bloco.

Explorando localidade espacial.

Page 17: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Opções de Projeto de MemóriaTrabalha com requisições de uma única palavra.

Abordagem simples, barata porém mais lenta.

Page 18: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Opções de Projeto de MemóriaTrabalha com requisições por blocos.

Memória e barramento possuem tamanho do bloco.

Possui melhor desempenho, porém mais caro.

Page 19: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Opções de Projeto de Memória

Vários bancos de memória

Trabalha com requisições por blocos.

Embora trabalhe com blocos, o barramento trabalha com palavras.

Mais barata que a solução anterior, possui desempenho intermediário.

Page 20: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Mapeamento Totalmente Associativo

• Os blocos podem ser inseridos em qualquer lugar da cache.

• Favorece a taxa de acerto.• Implementação complexa.

Page 21: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Mapeamento Totalmente Associativo

Page 22: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Mapeamento Associativo por Conjunto

• Mescla as duas soluções apresentada anteriormente.

• Um bloco pode ser inserido em um conjunto restrito de lugares.

• Um bloco é mapeado primeiro em um conjunto e depois o bloco pode ser inserido em qualquer lugar dentro desse conjunto.

Page 23: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Mapeamento Associativo por Conjunto

Page 24: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Mapeamento Associativo por Conjunto

Page 25: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Políticas de Substituição

• Em caches totalmente associativa e associativas por conjunto, um mesmo endereço pode ser escrito em mais de uma localização.

• As políticas de substituição definem qual o lugar onde o dado será escrito.

Page 26: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Política de Substituição

• As políticas mais utilizadas são:– Randômica

• Escolhe o bloco a ser substituído de maneira aleatória.

– LRU• Substitui o bloco menos usado recentemente.

– FIFO• Substitui o elemento mais antigo.

Page 27: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Tipos de Falta

• Falta por Capacidade– Faltas que acontecem devido a cache estar

preenchida e não poder inserir novos valores.• Falta Compulsória

– Faltas que acontecem quando a linha da cache ainda não possui valores.

• Faltas por conflito– Faltas que acontecem entre os diferentes dados que

são mapeados para uma mesma localização na cache.

Page 28: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Políticas de Escrita

• Forma como as memórias caches trabalham quando o processador solicita uma escrita de dados.– Write Back

• As informações são gravadas no bloco da cache. O bloco da cache será gravado na memória principal somente quando for substituído.

– Write Through• As informações são gravados no bloco da cache e no

bloco da memória de nível inferior.

Page 29: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Política para falta em Escrita

• Forma como as memórias caches trabalham quando o processador solicita uma escrita e o endereço a ser escrito não se encontra na cache.– Write Allocate

• O bloco é alocado em uma falta de escrita

– Write Around• O bloco não é alocado em uma falta de escrita.

Somente a memória principal é atualizada.

Page 30: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Cache Multinível

• Podemos acrescentar um segundo nível na cache:– Normalmente o cache primário está no mesmo

chip do processador e o secundário pode estar no mesmo chip ou em um chip separado.

– Em geral são maiores que as caches de primeiro nível e são usadas quando acontece alguma falta na cache de nível mais alto.

– Ajuda a diminuir a penalidade de falhas.

Page 31: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Próxima aula

• Avaliando Desempenho.• Memória Virtual.• Técnicas para melhora de desempenho da

memória cache.

Page 32: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com

Referências

• Organização e Projeto de Computadores Seções 7.1 a 7.3

• Material adicional da página– Até Seção 2.3.