hierarquia de memória prof. andré luis m. silva e/msn:[email protected]
TRANSCRIPT
![Page 2: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/21.jpg)
Mapeamento Totalmente Associativo
![Page 22: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/23.jpg)
Mapeamento Associativo por Conjunto
![Page 24: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/24.jpg)
Mapeamento Associativo por Conjunto
![Page 25: Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/28.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/29.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/30.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/31.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022013004/5706384c1a28abb8238f60a3/html5/thumbnails/32.jpg)
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.