profª maria angélica calixto de andrade cardieri 1 fatec - sorocaba memÓria cache e tÉcnicas de...

26
Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Upload: baltazar-miranda-coradelli

Post on 07-Apr-2016

238 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

1

Fatec - Sorocaba

MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO

Capítulo 5

Page 2: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

2

A Memória Cache A cache é uma memória de

acesso randômico (random access memory – RAM) que o microprocessador pode acessar mais rapidamente que uma memória RAM convencional.

Sua finalidade é aumentar o

desempenho do processador realizando uma busca antecipada na memória RAM.

Page 3: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

3

Memória Cache Para processar dados, o microprocessador verifica

primeiramente na memória cache se esses dados estão armazenados lá, se os encontra (proveniente de uma leituras anteriores desses mesmos dados) não necessita obtê-los de outra memória mais lenta.

A RAM principal geralmente é um chip DRAM ( dynamic RAM).

A SRAM, utilizada como memória cache, não é atualizada eletronicamente como a DRAM, e por isso é mais cara que a ela.

Uma SRAM (ou memória cache) comum no mercado tem

tamanho de 1048 kilobytes (1 megabyte). Uma DRAM típica varia a capacidade de 4 megabytes a 32 megabytes. *****

Page 4: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

4

MEMÓRIAS CACHEPRIMÁRIA E SECUNDÁRIA Estrutura conhecida como

memória cache em dois níveis;

Memória Cache Primária – L1 (interna)

- Integrada ao processador, permitindo acesso em único ciclo de clock;

Cache Secundária – L2 (externa)- Localizada na placa-mãe do sistema, consome em média 2 ou 3 ciclos de clock;

Page 5: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

5

MEMÓRIAS CACHEPRIMÁRIA E SECUNDÁRIA

NESSE SISTEMA:

L1: Memória Cache Primária: captura a maioria dos acessos realizados pelo processador;

L2: Memória Cache Secundária: captura os acessos que resultam em falhas;

Page 6: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

6

A MemóriaCache

Page 7: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

7

Arquitetura Atual Cache Nível L1: sempre localizada

dentro do processador Cache Nível L2: localizados dentro

do processador no interior da pastilha ma separada deste.(acesso com o clock interno);

Cache Nível L3: Qdo o processador possue L1 e L2 interna a L3 é a cache localizada na placa mãe.

Para aumentar a memória cache é necessário trocar o processador;

Page 8: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

8

Exemplos: 386 DX: cache externo ao processador e opcional (64KB ou

128KB) - “write-through”;

486 DX: 8 KB interno (L1) e 128 KB ou 256 KB externo (L2) - “write-back”;

Pentium: 2 circuitos separados (16 KB + 16 KB) – uma cache para instruções e outra para dados;

AMD K5, K6 e K6-2: mesma arquitetura de cache, K6-III possuía L3;

Page 9: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

9

Diferença de Velocidade Processador/MP A memória principal transfere bits para o processador em

velocidades sempre inferiores às que o processador pode receber e operar os dados.

Isso faz com que o processador fique em estado de espera (wait state).

Operação Soma: 2 ns

Processador MemóriaPrincipal

Transferência 100 ns

Page 10: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

10

Princípio de Localidade É a tendência do processador ao longo de uma

execução referenciar instruções e dados da memória principal localizados em endereços próximos;

Constatação feita por pesquisadores há muito tempo…..(agrupar pequenos itens de acesso frequente próximo ao usuário)

Localidade Temporal e Espacial

Page 11: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

11

Princípios de Localidade Localidade Temporal:

Se o programa acessa uma palavra de memória há uma boa probabilidade de que ele em breve acesse a mesma palavra novamente.Isto é, os programas tendem a usar frequentemente o mesmo endereço em curtos espaços de tempo, por exemplo um loop.

Localidade Espacial:Se o programa acessa uma palavra de memória, há uma boa probabilidade de que o acesso seguinte seja uma palavra subsequente ou de endereço adjacente àquela palavra que acabou de acessar.

Page 12: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

12

Operação A Cache é feita de uma fila de elementos:

Cópia exata do dado presente em outro local; Cada elemento tem um rótulo especificando a

identidade e o local de armazenamento original.

CACHE HIT – acertoO dado é encontrado na cache

- hit rate ou hit ratio > 90% é o ideal.

CACHE MISS – falhaO dado não é encontrado na cache.

Page 13: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

13

Organização e funcionamento da memória cache

Page 14: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

14

Políticas de Escrita na Cache Problema: Como manter a Cache e a MP

atualizadas ???

Políticas: Write-Back Write-through

WRITE-BACK (Somente no retorno):- A atualização da MP é feita somente quando o bloco for substituido.- A CPU escreve diretamente na cache, cabe ao sistema a posterior

escrita na MP;- CPU fica livre rapidamente para executar outras operações;- “Dirty bit” : bit adicional para indicar se o bloco armazenado na

cache sofreu alterações ou não

Page 15: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

15

POLÍTICAS DE ESCRITA

WRITE-BACK

VANTAGENS:- A escrita ocorre à velocidade da cache;- Escritas múltiplas de endereço requerem apenas uma escrita na memória;- Consome menos largura de banda.

DESVANTAGENS:- Mais difícil implementação;- Nem sempre há consistência entre dados da cache e memória principal que pode ficar desatualizada para utilização por outros dispositivos ligados à ela;- Precisa do “dirty bit”.

Page 16: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

16

POLÍTICAS DE ESCRITA

WRITE-THROUGH (escrita em ambas): Cada vez que um elemento é escrito na cache ele

também é escrito na memória principal; Pior desempenho que o Write-Back; Implementação mais simples; Consistência interna (cache sempre síncrona com

a memória).

Page 17: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

17

POLÍTICAS DE ESCRITA

WRITE-THROUGH

VANTAGENS:- Fácil de implementar;- Um cache miss nunca resulta em escritas na memória pois

a memória principal tem sempre a informação mais recente e portanto não precisa ser atualizada.

DESVANTAGENS:- A escrita é lenta;

- Pode haver uma grande quantidade de escritas desnecessárias na MP

Page 18: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

18

ELEMENTOS DO PROJETODE UMA CACHE

TAMANHO

O tamanho da memória cache deve levar em consideração o custo por bit e o tempo de acesso.

Page 19: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

19

ELEMENTOS DO PROJETODE UMA CACHE

FUNÇÃO DE MAPEAMENTO Como o nº de linhas da memória cache é bem menor

que o nº de blocos da MP, são necessárias formas de mapear os blocos da memória principal para a cache:

- Mapeamento Direto;- Mapeamento Associativo;- Mapeamento Associativo por Conjunto;

Page 20: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

20

ELEMENTOS DO PROJETODE UMA CACHE

MAPEAMENTO DIRETO Neste tipo de cache temos

acesso simultâneo ao tag (nome dado a um dos campos do diretório) e aos dados.

Não é necessária memória associativa, e o algoritmo de substituição é trivial. A taxa de acerto é baixa.

Page 21: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

21

ELEMENTOS DO PROJETODE UMA CACHE

MAPEAMENTO ASSOCIATIVO

Na cache com mapeamento totalmente associativo, uma determinada palavra pode ocupar qualquer posição na cache. Os bits de tag são usados para comparação. Neste caso, para saber se um bloco está na cache, é necessário pesquisar todos os blocos.

Page 22: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

22

ELEMENTOS DO PROJETODE UMA CACHE

MAPEAMENTO ASSOCIATIVOPOR CONJUNTO

Caches com mapeamento associativo por conjunto tem compromisso entre mapeamento direto e totalmente associativo. Ele reduz o tamanho e o custo da comparação associativa, e é usado pela maioria das CPUs atuais.

Page 23: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

23

ELEMENTOS DO PROJETODE UMA CACHE

ALGORITMOS DE SUBSTITUIÇÃO 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 que o processo seja feito rapidamente ele deve ser implementado em hardware:

- LRU (Least Recently Used); menos recentemente utilizado

- FIFO (First In First Out); Primeiro a entrar é o primeiro a sair (fila)

- LFU (Least Frequently Used); menos frequentemente utilizado

Page 24: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

24

Tipos de Algoritmos

LRU – Least Recently Used (O que não é usado há mais tempo)

O Sistema escolhe um bloco que o processador não acessa há mais tempo

Bit adicional em cada linha

Page 25: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

25

Tipos de Algoritmos FIFO – First-In, First-Out (Fila)

→ Esquema de fila (Chegou primeiro, first in, é o que primeiro que sai, first out)

→ O sistema escolhe o bloco que está há mais tempo na cache independente da frequência de uso do bloco pelo processador

LFU – Least Frequently Used (o que tem menos acesso) → Bloco que teve menos acessos pelo processador é escolhido (menos referências)

Escolha aleatória → Bloco é escolhido aleatoriamente, independente do seu uso pelo processador

Page 26: Profª Maria Angélica Calixto de Andrade Cardieri 1 Fatec - Sorocaba MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5

Profª Maria Angélica Calixto de Andrade Cardieri

26

Referências Trabalho dos alunos da Fatec-Sorocaba, Curso de PD -

disciplina de SC - 2º semestre de 2008.Anderson Blezins de Araujo; Erick Braz Machado ; Lucas Gomes Finoti; Rafael de França Neves ; Victor Valerio Moraes

Livro do Mário Monteiro – Introdução a organização de Computadores 5ª edição - Editora LTC