Sei sulla pagina 1di 26

Fatec - Sorocaba

MEMRIA CACHE E TCNICAS DE MAPEAMENTO Captulo 5

Prof Maria Anglica Calixto de Andrade Cardieri

A Memria Cache

A cache uma memria de acesso randmico (random access memory RAM) que o microprocessador pode acessar mais rapidamente que uma memria RAM convencional.

Sua finalidade aumentar o desempenho do processador realizando uma busca antecipada na memria RAM.
Prof Maria Anglica Calixto de Andrade Cardieri 2

Memria Cache

Para processar dados, o microprocessador verifica primeiramente na memria cache se esses dados esto armazenados l, se os encontra (proveniente de uma leituras anteriores desses mesmos dados) no necessita obt-los de outra memria mais lenta.
A RAM principal geralmente um chip DRAM ( dynamic RAM). A SRAM, utilizada como memria cache, no atualizada eletronicamente como a DRAM, e por isso mais cara que a ela. Uma SRAM (ou memria cache) comum no mercado tem tamanho de 1048 kilobytes (1 megabyte). Uma DRAM tpica varia a capacidade de 4 megabytes a 32 megabytes. *****
Prof Maria Anglica Calixto de Andrade Cardieri 3

MEMRIAS CACHE PRIMRIA E SECUNDRIA

Estrutura conhecida como memria cache em dois nveis; Memria Cache Primria L1 (interna) - Integrada ao processador, permitindo acesso em nico ciclo de clock; Cache Secundria L2 (externa) - Localizada na placa-me do sistema, consome em mdia 2 ou 3 ciclos de Prof Maria Anglica Calixto de Andrade clock;
Cardieri

MEMRIAS CACHE PRIMRIA E SECUNDRIA

NESSE SISTEMA:

L1: Memria Cache Primria: captura a maioria dos acessos realizados pelo processador; L2: Memria Cache Secundria: captura os acessos que resultam em falhas;

Prof Maria Anglica Calixto de Andrade Cardieri

A Memria Cache

Prof Maria Anglica Calixto de Andrade Cardieri

Arquitetura Atual

Cache Nvel L1: sempre localizada dentro do processador Cache Nvel L2: localizados dentro do processador no interior da pastilha ma separada deste.(acesso com o clock interno); Cache Nvel L3: Qdo o processador possue L1 e L2 interna a L3 a cache localizada na placa me.
Para aumentar a memria cache necessrio trocar o processador;

Prof Maria Anglica Calixto de Andrade Cardieri

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 instrues e outra para dados; AMD K5, K6 e K6-2: mesma arquitetura de cache, K6-III possua L3;
Prof Maria Anglica Calixto de Andrade Cardieri 8

Diferena de Velocidade Processador/MP

A memria 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).
Processador
Operao Soma: 2 ns

Memria Principal

Transferncia 100 ns

Prof Maria Anglica Calixto de Andrade Cardieri

Princpio de Localidade

a tendncia do processador ao longo de uma execuo referenciar instrues e dados da memria principal localizados em endereos prximos;
Constatao feita por pesquisadores h muito tempo..(agrupar pequenos itens de acesso frequente prximo ao usurio) Localidade Temporal e Espacial
Prof Maria Anglica Calixto de Andrade Cardieri 10

Princpios de Localidade

Localidade Temporal:
Se o programa acessa uma palavra de memria h uma boa probabilidade de que ele em breve acesse a mesma palavra novamente. Isto , os programas tendem a usar frequentemente o mesmo endereo em curtos espaos de tempo, por exemplo um loop.

Localidade Espacial:
Se o programa acessa uma palavra de memria, h uma boa probabilidade de que o acesso seguinte seja uma palavra subsequente ou de endereo adjacente quela palavra que acabou de acessar.
Prof Maria Anglica Calixto de Andrade Cardieri 11

Operao

A Cache feita de uma fila de elementos: Cpia exata do dado presente em outro local; Cada elemento tem um rtulo especificando a identidade e o local de armazenamento original. CACHE HIT acerto
O dado encontrado na cache

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

CACHE MISS falha


O dado no encontrado na cache.
Prof Maria Anglica Calixto de Andrade Cardieri 12

Organizao e funcionamento da memria cache

Prof Maria Anglica Calixto de Andrade Cardieri

13

Polticas de Escrita na Cache

Problema: Como manter a Cache e a MP atualizadas ??? Polticas: Write-Back Write-through WRITE-BACK (Somente no retorno):
- A atualizao 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 operaes; - Dirty bit : bit adicional para indicar se o bloco armazenado na cache sofreu alteraes ou no
Prof Maria Anglica Calixto de Andrade Cardieri 14

POLTICAS DE ESCRITA
WRITE-BACK

VANTAGENS: - A escrita ocorre velocidade da cache; - Escritas mltiplas de endereo requerem apenas uma escrita na memria; - Consome menos largura de banda. DESVANTAGENS: - Mais difcil implementao; - Nem sempre h consistncia entre dados da cache e memria principal que pode ficar desatualizada para utilizao por outros dispositivos ligados ela; - Precisa do dirty bit.

Prof Maria Anglica Calixto de Andrade Cardieri

15

POLTICAS DE ESCRITA

WRITE-THROUGH (escrita em ambas): Cada vez que um elemento escrito na cache ele tambm escrito na memria principal; Pior desempenho que o Write-Back; Implementao mais simples; Consistncia interna (cache sempre sncrona com a memria).

Prof Maria Anglica Calixto de Andrade Cardieri

16

POLTICAS DE ESCRITA
WRITE-THROUGH

VANTAGENS: - Fcil de implementar; - Um cache miss nunca resulta em escritas na memria pois a memria principal tem sempre a informao mais recente e portanto no precisa ser atualizada. DESVANTAGENS: - A escrita lenta; - Pode haver uma grande quantidade de escritas desnecessrias na MP

Prof Maria Anglica Calixto de Andrade Cardieri

17

ELEMENTOS DO PROJETO DE UMA CACHE


TAMANHO

O tamanho da memria cache deve levar em considerao o custo por bit e o tempo de acesso.

Prof Maria Anglica Calixto de Andrade Cardieri

18

ELEMENTOS DO PROJETO DE UMA CACHE

FUNO DE MAPEAMENTO

Como o n de linhas da memria cache bem menor que o n de blocos da MP, so necessrias formas de mapear os blocos da memria principal para a cache: Mapeamento Direto; Mapeamento Associativo; Mapeamento Associativo por Conjunto;
Prof Maria Anglica Calixto de Andrade Cardieri

19

ELEMENTOS DO PROJETO DE UMA CACHE


MAPEAMENTO DIRETO

Neste tipo de cache temos acesso simultneo ao tag (nome dado a um dos campos do diretrio) e aos dados. No necessria memria associativa, e o algoritmo de substituio trivial. A taxa de acerto baixa.

Prof Maria Anglica Calixto de Andrade Cardieri

20

ELEMENTOS DO PROJETO DE UMA CACHE


MAPEAMENTO ASSOCIATIVO

Na cache com mapeamento totalmente associativo, uma determinada palavra pode ocupar qualquer posio na cache. Os bits de tag so usados para comparao. Neste caso, para saber se um bloco est na cache, necessrio pesquisar todos os blocos.

Prof Maria Anglica Calixto de Andrade Cardieri

21

ELEMENTOS DO PROJETO DE UMA CACHE


MAPEAMENTO ASSOCIATIVO POR CONJUNTO

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

Prof Maria Anglica Calixto de Andrade Cardieri

22

ELEMENTOS DO PROJETO DE UMA CACHE


ALGORITMOS DE SUBSTITUIO

Quando a memria cache est cheia e um novo bloco trazido para ela, algum bloco existente deve ser substitudo 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 Anglica Calixto de Andrade Cardieri 23

Tipos de Algortimos

LRU Least Recently Used (O que no usado h mais tempo)


O Sistema escolhe um bloco que o processador no acessa h mais tempo Bit adicional em cada linha
Prof Maria Anglica Calixto de Andrade Cardieri 24

Tipos de Algortimos

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 frequncia de uso do bloco pelo processador

LFU Least Frequently Used (o que tem menos acesso) Bloco que teve menos acessos pelo processador escolhido (menos referncias) Escolha aleatria Bloco escolhido aleatoriamente, independente do seu uso pelo processador
Prof Maria Anglica Calixto de Andrade Cardieri 25

Referncias

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 Frana Neves ; Victor Valerio Moraes

Livro do Mrio Monteiro Introduo a organizao de Computadores 5 edio - Editora LTC

Prof Maria Anglica Calixto de Andrade Cardieri

26

Potrebbero piacerti anche