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

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

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

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.