Sistemas de Memória II

Propaganda
Sistemas de Memória II
José Costa
Introdução à Arquitetura de Computadores
Departamento de Engenharia Informática (DEI)
Instituto Superior Técnico
2014-11-21
José Costa (DEI/IST)
Sistemas de Memória II
1
Sumário
Hierarquia de Memória
Organização de Sistemas de Cache
José Costa (DEI/IST)
Sistemas de Memória II
2
Hierarquia de Memória
UCP
Cache
L1
Cache
L2
Memória
Primária
Memória
Secundária
Tempos médios nos acessos às várias memórias
José Costa (DEI/IST)
Sistemas de Memória II
3
Localidade
Localidade temporal: se é feito um acesso a um determinado
endereço de memória, é muito provável que haja um novo acesso
a este mesmo endereço num futuro próximo
Localidade espacial: se é feito um acesso a um determinado
endereço de memória, é muito provável que haja um novo acesso
a um endereço próximo deste
Exemplo
for(i=0; i < 100; i++)
a[i] = 0.0;
José Costa (DEI/IST)
Sistemas de Memória II
4
Caches
Como a cache tem menor dimensão que a memória principal, só
uma pequena fracção da totalidade do conteúdo da memória
está presente, em cada momento, na cache
Sucesso (hit): Quando num acesso o endereço está na cache
Falta (miss) : Quando num acesso o endereço não está na cache
Politicas de substituição: Para maximizar número de sucessos,
substituir menos usados por mais usados
José Costa (DEI/IST)
Sistemas de Memória II
5
Exempo do Uso de Caches
Tempo execução das instruções e CPI?
Um dado processador funciona a 500 MHz
Faz um acesso à memória de dados em cada instrução
Cada instrução demora: 3 ciclos de relógio a ser executada + 1 ciclo
de acesso à memória
Memória primária tem um tempo de acesso médio de 70ns
Usando uma cache com tempo de acesso igual a 2ns
Hit rate de 95%
José Costa (DEI/IST)
Sistemas de Memória II
6
Dimensionamento das Caches
No dimensionamento de uma cache para um sistema de memória, é
necessário considerar dois factores fundamentais:
Velocidade da cache - condiciona a velocidade máxima de
funcionamento do sistema
Dimensão da cache - condiciona a taxa de sucesso e,
consequentemente, o número de acessos à memória principal
A melhor solução provém do compromisso entre estes dois factores.
José Costa (DEI/IST)
Sistemas de Memória II
7
Memória Virtual
Permite que o processador não fique limitado à memória
instalada no sistema
Todo o processamento da UCP usa endereços virtuais
É necessário traduzir esse endereço
Unidade de Gestão de Memória (UGM) ou MMU
José Costa (DEI/IST)
Sistemas de Memória II
8
Unidade de Gestão de Memória
1
2
3
4
a UCP coloca no barramento de endereços o endereço virtual
onde pretende aceder
a UGM traduz este endereço para um endereço físico
é realizado um acesso à cache para testar se este endereço físico
lá se encontra; caso se encontre na cache, o acesso de leitura ou
escrita termina aqui
caso contrário, é realizado um acesso à memória primária.
José Costa (DEI/IST)
Sistemas de Memória II
9
Organização de Sistemas de Cache
Mapeamento de dados em cache
a cache tem necessariamente um menor número de posições que
a memória
Dimensionamento dos blocos da cache
melhor uso possível da localidade espacial dos acessos a dados.
Política de Substituição
maximizar a exploração que é feita das localidades temporais
Políticas de escrita
processador pode prosseguir a execução de um programa sem
que a operação de escrita tenha terminado
afecta dados em memória que podem ser acedidos por outros
dispositivos
José Costa (DEI/IST)
Sistemas de Memória II
10
Mapeamento de Dados em Caches
Caches de mapeamento direto
Caches totalmente associativas
Caches com vias de associatividade
José Costa (DEI/IST)
Sistemas de Memória II
11
Mapeamento Direto
31
10 9
Etiqueta
Etiqueta
0
Índice
Índice
Etiquetas
Dados
=
Sucesso
José Costa (DEI/IST)
Sistemas de Memória II
Dados
12
Caches Totalmente Associativas
Etiqueta
Etiquetas
Dados
=
Etiquetas
Dados
=
Etiquetas
Dados
=
Dados
Dados
Sucesso
José Costa (DEI/IST)
...
Sistemas de Memória II
Dados
Dados
13
Vias de Associatividade
Conjunto de caches de mapeamento direto
Melhor de dois mundos
Cache de mapeamento direto tem 1 via de associatividade
Cache totalmente associativa tem M vias de associatividade
M - número de posições da cache
Cache com 4096 posições usará:
12 bits de índice se for mapeamento direto
10 bits de indice se tiver 4 vias de associatividade
nenhum bit de índice se for totalmente associativa
Como é escolhida qual a via onde vai ser escrito o novo valor?
José Costa (DEI/IST)
Sistemas de Memória II
14
Blocos de Cache
Útil para usar o princípio de localidade
Permite mapeamento para a cache de blocos de posições
consecutivas de memória
Endereço é dividido em três partes a etiqueta, o índice e o
deslocamento dentro do bloco
Cache com 4096 posições com blocos de 16 posições
31
12 11
Etiqueta
4 3
0
Índice
Deslocamento
José Costa (DEI/IST)
Sistemas de Memória II
15
Blocos de Cache
Etiqueta
Índice Deslocamento
0000000h
0000001h
Cache
0000002h
0000003h
Etiqueta
1FC0FE1h
0000h
Dados
1
2
E
F
00h
1FC0FE2h
01h
1FC0FE3h
02h
256 blocos
Memória
0
3FFFFF9h
FDh
3FFFFFAh
3FFFFFBh
1FC0h
FEh
3FFFFFCh
3FFFh
FFh
3FFFFFDh
3FFFFFEh
3FFFFFFh
José Costa (DEI/IST)
Sistemas de Memória II
16
Blocos de Cache
Etiqueta
Índice
Deslocamento
Dados
Descodificador
Etiquetas
=
Multiplexador
Sucesso
José Costa (DEI/IST)
Sistemas de Memória II
Dados
17
Blocos de Cache
Etiqueta
Índice
Deslocamento
Dados
Etiquetas
Dados
Descodificador
Etiquetas
Multiplexador
=
Multiplexador
Codificador
=
Hit
José Costa (DEI/IST)
Sistemas de Memória II
Multiplexador
Dados
18
Políticas de Substituição
Quando há um miss quais os dados que se substitui na cache?
Não faz sentido nas caches de mapeamento direto
Least Recently Used (LRU)
difícil de implementar em hardware em caches com muitas vias
de associatividade
Aleatória - não é má
Outras...
José Costa (DEI/IST)
Sistemas de Memória II
19
Políticas de Escrita
Quando os dados estão em cache
Write-back
Write-through
Quando os dados não estão em cache
Write-allocate
No-write-allocate
Geralmente, caches write-back são do tipo write-allocate, e caches
write-through são do tipo no-write-allocate
José Costa (DEI/IST)
Sistemas de Memória II
20
Bits de Controlo
Dirty bit
necessário nas caches write-back
Valid bit
no início todos os dados são inválidos
outros dispositivos podem ter alterado posições de memória
mudanças de contexto em multi-processamento
Outros...
José Costa (DEI/IST)
Sistemas de Memória II
21
Sumário
Hierarquia de Memória
Organização de Sistemas de Cache
José Costa (DEI/IST)
Sistemas de Memória II
22
Referências
Arquitectura de Computadores: dos Sistemas Digitais aos
Microprocessadores,
G. Arroz, J. Monteiro, A. Oliveira,
Secções 13.2, 13.3
José Costa (DEI/IST)
Sistemas de Memória II
23
Próxima Aula
Sistemas de Memória (cont.)
José Costa (DEI/IST)
Sistemas de Memória II
24
Download