Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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;
A Memria Cache
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;
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
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
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
13
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.
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).
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
17
O tamanho da memria cache deve levar em considerao o custo por bit e o tempo de acesso.
18
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
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.
20
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.
21
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.
22
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
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
26