View
238
Download
0
Category
Preview:
Citation preview
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.
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. *****
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;
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;
Profª Maria Angélica Calixto de Andrade Cardieri
6
A MemóriaCache
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;
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;
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
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
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.
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.
Profª Maria Angélica Calixto de Andrade Cardieri
13
Organização e funcionamento da memória cache
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
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”.
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).
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
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.
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;
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.
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.
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.
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
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
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
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
Recommended