A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com Hierarquia de Memória Prof. André Luis M. Silva e/msn:andreLuis.ms@gmail.com."— Transcrição da apresentação:

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

2 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.

3 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

4 Tipos de Memória SRAM (Static RAM) DRAM (Dynamic 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).

5 Trabalho sobre memória
Para o banco do conhecimento: OTP-ROM, EPROM, EEPROM SRAM, DRAM, PSRAM, NVRAM

6 Tipos de Memória Tecnologia da memória Tempo de acesso típico
US$ por GB em 2004 SRAM 0,5 a 5 ns 4000 a DRAM 50 a 70 ns 100 a 200 Disco Magnético a ns. 0,50 a 2

7 Alguns Conceitos Taxa de Falha Taxa de Acertos Tempo de Acerto
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.

8 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

9 Princípio da Localidade
Localidade Temporal Se um item é referenciado, ele tenderá ser referenciado novamente em breve.

10 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.

11 Hierarquia de Memória registradores Memória cache Memória Principal
Memória Secundária

12 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.

13 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.

14 Técnicas de Mapeamento
Mapeamento Direto Cada local da memória é mapeado exatamente para um local da cache.

15 Mapeamento Direto Tag: 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?

16 Mapeamento Direto Explorando localidade espacial.
Podemos desenvolver caches que armazenem mais de uma palavra por linha. Cada linha da cache é conhecida como bloco.

17 Opções de Projeto de Memória
Trabalha com requisições de uma única palavra. Abordagem simples, barata porém mais lenta.

18 Opções de Projeto de Memória
Trabalha com requisições por blocos. Memória e barramento possuem tamanho do bloco. Possui melhor desempenho, porém mais caro.

19 Opções de Projeto de Memória
Trabalha com requisições por blocos. Vários bancos de memória Embora trabalhe com blocos, o barramento trabalha com palavras. Mais barata que a solução anterior, possui desempenho intermediário.

20 Mapeamento Totalmente Associativo
Os blocos podem ser inseridos em qualquer lugar da cache. Favorece a taxa de acerto. Implementação complexa.

21 Mapeamento Totalmente Associativo

22 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.

23 Mapeamento Associativo por Conjunto

24 Mapeamento Associativo por Conjunto

25 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.

26 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.

27 Tipos de Falta Falta por Capacidade Falta Compulsória
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.

28 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.

29 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.

30 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.

31 Próxima aula Avaliando Desempenho. Memória Virtual.
Técnicas para melhora de desempenho da memória cache.

32 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.


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

Apresentações semelhantes


Anúncios Google