MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O...
Transcript of MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O...
1
MEMÓRIA CACHE
2
3
MEMÓRIA CACHE
O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação
e o uso de memórias cache.
Entender a diferença de velocidade UCP/MP.
Entender o conceito de localidade.
4
MEMÓRIA CACHE
Entender a diferença de velocidade UCP/MP e o conceito de localidade.
– A MP transfere bits para UCP em uma velocidade inferior a que a mesma
pode suportar, o que acarreta a necessidade de se acrescentar um tempo
de espera para a UCP (wait state – estado de espera).
– O número de estados de espera inseridos depende da relação entre a
velocidade da UCP e da memória.
– Se os circuitos da UCP e da memória fossem fabricados com a mesma
tecnologia, o problema deixaria de existir e não haveria a necessidade de
memória cache.
– É difícil solucionar o problema da diferença de velocidade apenas com a
melhoria do desempenho da memória principal pois o desempenho dos
processadores dobra a cada 18 a 24 meses enquanto a velocidade das
memórias DRAM (RAM dinâmicas) utilizadas como MP aumenta cerca de
10% por ano.
– Apenas da tecnologia para aumentar a velocidade da MP ser bem
conhecida, penalizaria o sistema em custo pois as memórias SRAM,
memórias rápidas são muito caras.
5
MEMÓRIA CACHE
conceito de localidade.
– Modo pelo qual os programas são em média escritos e executados pela
UCP.A execução de programas se realiza, em média, em pequenos grupos
de instruções.
Princípio da localidade temporal
– Se um programa acessa uma palavra da memória, há uma boa
probabilidade de que acesse novamente a mesma palavra da memória
novamente.
Princípio da localidade espacial
– Se um programa acessa uma palavra da memória, há uma boa
probabilidade de que o programa acesse aproximadamente uma palavra
subseqüente ou um endereço adjacente aquela palavra novamente.
6
MEMÓRIA CACHE
APROVEITAMENTO DO PRINCÍPIO DA
LOCALIDADE
Deixar a parte repetitiva de uma parte de
um programa em uma memória bem mais
rápida deixando e o restante do programa
que não está sendo usando no momento
na memória mais lenta, porém mais barata
7
MEMÓRIA CACHE
APROVEITANDO O PRINCÍPIO DA LOCALIDADE
Alocação de um elemento de memória intermediário entre a memória
principal(MP) e a UCP que deve possuir uma elevada velocidade de
transferência de dados
8
MEMÓRIA CACHE
FUNCIONAMENTO DO SISTEMA
A taxa de acertos (hits) mais comum varia de 80% a 99%
9
MEMÓRIA CACHE
FUNCIONAMENTO DO SISTEMA
A taxa de acertos (hits) mais comum varia de 80% a 99%
10
MEMÓRIA CACHE
NÍVEIS DE CACHE DE MEMÓRIA RAM
11
MEMÓRIA CACHE
NÍVEIS DE CACHE DE MEMÓRIA RAM
– O aumento crescente da velocidade da UCP e o compromisso de não
aumentar demasiadamente o custo das memórias caches (com aumento
demasiado de sua capacidade) levaram os projetistas a desenvolverem caches
com diferentes características de velocidade e capacidade (formando um
sistema hierárquico).
– São níveis de diferentes de memórias cache constituídos de memórias SRAM.
– A cache L1 , denominada cache primária, tem velocidade de acesso igual a do
processador. É constituída por elementos do processador.
– A cache L1 por ser dividida ou não (cache L1 de instrução e cache L1 de dados)
– A memória cache de nível mais baixo (L1) é a que possui maior velocidade (e
maior custo).
– A UCP sempre procura o dado/instrução na memória L1 e não encontrando
buscará na L2 (se houver); desta para a memória DRAM (memória principal)
e , finalmente, não encontrando na DRAM buscará o dado/instrução no
disco.
12
MEMÓRIA CACHE
NÍVEIS DE CACHE DE MEMÓRIA RAM
13
MEMÓRIA CACHE
ESTRUTURA PARA TRANSFERÊNCIA DE DADOS
Q
14
MEMÓRIA CACHE
ESTRUTURA PARA TRANSFERÊNCIA DE DADOS
MP com N células (palavras)
MP dividida em B blocos com K células
MC com Q quadros (linhas) cada um do
tamanho de um bloco de memória (K
células)
Tag = número de identificação do bloco
armazenado.
15
MEMÓRIA CACHE
MAPEAMENTO DIRETO
– Cada bloco da MP possui uma linha no cache previamente estabelecida.
Como o cache é menor que a MP, muitos blocos da MP serão direcionados
para uma mesma linha.
16
MEMÓRIA CACHE MAPEAMENTO DIRETO (exemplo)
– N=4G células, cada uma com um endereço de 32 bits (232 = 4G= 22.230)
– Cachê possui um tamanho correspondente a 64 Kbytes (1024 linhas com 64
bytes cada uma). Note que 1K = 210=1024.
– B=N/K = 232/64= 226= 220 .26 =64M blocos
– A MP será dividida então em 64 M blocos de 64 bytes cada (4G=64x220x64= 232)
1024
EQ = endereço da linha (quadro) do cache (0 até1023)
E = Número do bloco na MP
Q = quantidade de linha do cache (1024)
EQ = E MÓDULO 1024
17
MEMÓRIA CACHE MAPEAMENTO DIRETO
QUE BLOCOS DA MP SÃO ARMAZENADOS EM LINHA DO CACHE
EQ = endereço da linha (quadro) do cache (0 até1023)
E = Endereço do bloco da memória
Q = quantidade de linha do cache (1024)
EQ = E MÓDULO 1024
QUE BLOCOS DA MP SÃO ARMAZENADOS EM LINHA DO CACHE
Linha do cache 0 blocos da MP 0, 1024, 2048, ...
Linha do cache 1 blocos da MP 1, 1025, 2049, ...
Linha do cache 1023 blocos da MP 1023, 2047,...64M-1.
16 bits mais significativos
Indicam qual bloco é o desejado , dentre os 64 K blocos que podem ser alocados naquela linha
10 bits do meio
Indica o endereço da linha do cache, porque 210 = 1024, e há 1024 linhas no cache.
6 bits menos significativos
Indicam o byte de dados (palavra) desejada pela UCP. No bloco B e na linha Q há 64 palavra (células da
MP). Como 26=64, cada endereço possui 6 bits
18
MEMÓRIA CACHE
Endereço de leitura enviado pela UCP
Número do bloco no quadro | Número do Quadro | Endereço da palavra no bloco
16 bits mais significativos (0000000000000100 bloco 4)
Indicam qual bloco linha é o desejado (226/210) dentre os 64 K blocos que podem ser alocados naquela
10 bits do meio (0000011001 linha 25)
Indica o endereço da linha do cache, porque 210 = 1024, e há 1024 linhas no cache.
6 bits menos significativos (palavra ou célula 8 do bloco dentre os 64 possíveis )
Indicam o byte de dados (palavra) desejada pela UCP. No bloco B e na linha Q há 64 palavra (células da MP).
Como 26=64, cada endereço possui 6 bits
19
MEMÓRIA CACHE
TECNOLOGIA DE FABRICAÇÃO
– A memórias RAM evoluíram em diferentes tipos:
• Memória de leitura e escrita ou R/W
• Memórias de somente leitura ou ROM
– As memórias R/W podem ser fabricadas através do uso de diferentes elementos,
redundando em dois grandes tipos:
• A SRAM (RAM estática):
– usadas na fabricação de memórias cache L1 ou L2
• A DRAM (RAM dinâmica)
– Usadas na constituição das memórias principais (MP), sendo conhecidas
como RAM ou MP
20
MEMÓRIA CACHE
TECNOLOGIA DE FABRICAÇÃO
– A memórias SRAM são constituídas exclusivamente de circuitos transistorizados
conhecidos como FLIP-FLOP, um circuito que mantém o valor “setado=1” até que
receba um valor de “reset” ou perca a energia (quando a alimentação é
desligada).
TRANSISTOR
21
MEMÓRIA CACHE
TECNOLOGIA DE FABRICAÇÃO
– A memórias DRAM (RAM dinâmicas) não armazena o valor do bit 1 pelo mesmo
processo da SRAM. A carga armazenada em um capacitor (que permanece por
alguns milissegundos) faz a célula guardar o valor 1. A ausência de carga no
capacitor representa o valor 0.
– Um capacitor trabalha de maneira semelhante a uma bateria, que recebendo energia
a mantém durante um certo tempo.Com o tempo vai perdendo a carga e necessita
uma recarga periódica (refresh) e isto é que torna as memórias DRAM mais lentas
(como maior tempo de acesso).
CAPACITOR
22
MEMÓRIA CACHE
TECNOLOGIA DE FABRICAÇÃO
– COMPARAÇÃO ENTRE SRAM e DRAM
23
MEMÓRIA CACHE
EVOLUÇÃO DA TECNOLOGIA DE FABRICAÇÃO DE DRAM
– Como a velocidade dos processadores tem aumentado, nem o aumento das
memórias cache (que ainda não pode ser demasiado devido ao custo) serve para
compensar esta velocidade. Em razão disso tem-se desenvolvido outras versões de
DRAM.
– Apesar da melhoria da velocidade e novas tecnologias de DRAM a DRAM é
essencialmente a mesma.
24
MEMÓRIA CACHE
EVOLUÇÃO DA TECNOLOGIA DE FABRICAÇÃO DE DRAM
Memória Assíncrona
Seu funcionamento não é cadenciado pelo relógio.
DRAM original, FPM, EDO e BEDO
Memória Síncrona
Memória cadenciada pelo relógio permite maiores velocidades de acesso.
SDRAM e RDRAM
25
MEMÓRIA CACHE
ELEMENTOS DA MEMÓRIA NO SISTEMA DE COMPUTAÇÃO
– Os termos DIMM e SIMM, etc estão relacionados ao modo pela qual
as pastilhas são instaladas na placa de circuito impresso do
computador.
– Os modelos de módulos de memória denominam-se SIMM (SINGLE
IN LINE MEMORY MODULE) que podem ser do tipo SIMM-30,
SIMM-72, DIMM (DOUBLE IN LINE MEMORY MODULE) e RIMM
(RAMBUS IN LINE MEMORY MODULE)
26
MEMÓRIA CACHE
ELEMENTOS DA MEMÓRIA NO SISTEMA DE COMPUTAÇÃO
27
MEMÓRIA CACHE
ELEMENTOS DA MEMÓRIA NO SISTEMA DE COMPUTAÇÃO
– Os modelos de módulos de memória denominam-se SIMM (SINGLE
IN LINE MEMORY MODULE) que podem ser do tipo SIMM-30,
SIMM-72, DIMM (DOUBLE IN LINE MEMORY MODULE) e RIMM
(RAMBUS IN LINE MEMORY MODULE)
28
MEMÓRIA CACHE
ELEMENTOS DA MEMÓRIA NO SISTEMA DE COMPUTAÇÃO
– Os modelos de módulos de memória denominam-se SIMM (SINGLE
IN LINE MEMORY MODULE) que podem ser do tipo SIMM-30,
SIMM-72, DIMM (DOUBLE IN LINE MEMORY MODULE) e RIMM
(RAMBUS IN LINE MEMORY MODULE)
SIMM-30
30 terminais (endereços, dados e controle). Permite passagem de 8 bits em cada ciclo de barramento.
SIMM-72
72 terminais (endereços, dados e controle). Permite passagem de 32 bits em cada ciclo de barramento
DIMM-72
168 terminais (endereços, dados e controle). Permite passagem de 64 bits de cada vez, sendo atualmente
empregado com memórias SDRAM.
RIMM
Propriedade da empresa Rambus Inc. É utilizado apenas para receber pastilhas de memória RDRAM.