Buscar

Aula 06 - Hierarquia de memória

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Victor Medeiros
victor@deinfo.ufrpe.br
victorwcm
Infraestrutura de Hardware
Hierarquia de Memória
Victor MedeirosInfraestrutura de Hardware
Introdução
• Os programas exigem cada vez mais dos computadores 
uma capacidade de memória ilimitada e de acesso quase 
simultâneo. 
• Quanto maior o tamanho da memória (capacidade de 
armazenamento) mais lento será o acesso à mesma. 
• Memórias maiores ➔ memórias mais lentas 
• Memórias menores ➔ memórias mais rápidas
2
Victor MedeirosInfraestrutura de Hardware
Introdução
• Um programa não acessa todo o seu código e todos os 
seus dados de uma só vez com igual probabilidade; 
• Podemos utilizar memórias menores (mais rápidas) para 
armazenar as informações mais prováveis de serem 
utilizadas no dado intervalo de tempo;
3
Princípio da localidade
Victor MedeirosInfraestrutura de Hardware
Princípio da localidade
• Estabelece que os programas acessam uma parte 
relativamente pequena do seu espaço de endereçamento 
em um instante qualquer; 
• Localidade temporal – se um item é referenciado, ele 
tende a ser referenciado novamente dentro de um 
espaço de tempo curto; 
• Localidade espacial – se um item é referenciado, itens 
próximos dele tendem a ser logo referenciados;
4
Victor MedeirosInfraestrutura de Hardware
Princípio da localidade
• Exemplos: 
• A maioria dos programas contém loops de modo que 
as instruções e os dados são acessados de forma 
repetitiva 

➔ alto grau de localidade temporal 
• As instruções quase sempre são executadas 
sequencialmente

➔ alto grau de localidade espacial
5
Victor MedeirosInfraestrutura de Hardware
Hierarquia de memória
• Tiramos proveito do princípio da localidade implementando a 
memória de computador como uma hierarquia de memória. 
• Existem vários níveis de memória, cada um deles com 
tamanhos e velocidades diferentes. 
• As memórias mais rápidas são mais caras (maior custo 
por bit armazenado); 
• As memórias mais lentas são mais baratas; 
• Consequentemente, as memórias mais rápidas são 
menores que as mais lentas;
6
Victor MedeirosInfraestrutura de Hardware
Hierarquia de memória
7
Victor MedeirosInfraestrutura de Hardware
Hierarquia de memória
8
maior custo

maior velocidade
maior capacidade
Victor MedeirosInfraestrutura de Hardware
Tecnologia de memória
• A memória principal é implementada a partir da tecnologia 
DRAM (memória dinâmica de acesso randômico) 
• Menor custo 
• Os níveis mais próximos do processador utilizam tecnologia 
SRAM (memória estática de acesso randômico) 
• Maior custo 
• O disco magnético (HD) é utilizado na implementação do nível 
mais baixo da hierarquia. 
• Mais lento e de maior capacidade
9
Victor MedeirosInfraestrutura de Hardware
Hierarquia de memória
"O objetivo de um sistema de memória hierárquico é 
apresentar ao usuário uma capacidade de memória próxima à 
disponibilizada pela tecnologia mais barata, e um tempo de 
acesso próximo à disponibilizada pela tecnologia mais cara”.
10
Victor MedeirosInfraestrutura de Hardware
Hierarquia de memória
• O nível de memória mais próximo do processador é um 
subconjunto de qualquer dos níveis mais afastados. 
• Os dados são copiados entre dois níveis adjacentes. 
• A unidade mínima de informação é chamada de bloco.
11
processador
nível superior
nível inferior
Victor MedeirosInfraestrutura de Hardware
Hierarquia de memória
• Se a informação solicitada pelo processador estiver no 
nível superior de hierarquia ocorre um acerto. 
• Se a informação não puder ser encontrada no nível 
superior, a tentativa de encontrá-la gera uma falta.
12
processador
nível superior
nível inferior
Victor MedeirosInfraestrutura de Hardware
Hierarquia de memória
• Quando ocorre uma falta, o nível mais baixo da 
hierarquia é acessado para que seja possível recuperar o 
bloco com a informação solicitada pelo processador.
13
processador
nível superior
nível inferior
Victor MedeirosInfraestrutura de Hardware
Hierarquia de memória
• Taxa de acertos corresponde à fração dos acessos na memória 
encontrados no nível superior. 
• Maiores taxas de acertos implicam em melhor performance da 
hierarquia 
• Taxa de faltas é a fração dos acessos à memória não encontrados 
no nível superior. 
• Tempo de acerto é o tempo necessário para acessar o nível 
superior da hierarquia. 
• Penalidade por falta é o tempo necessário para substituir um dos 
blocos do nível superior por um bloco do nível inferior, contendo a 
informação desejada.
14
Victor MedeirosInfraestrutura de Hardware
Memória cache
• Cache é o nível da hierarquia de memória situado entre 
a memória principal e o processador. 
• As palavras de memória usadas com mais freqüência 
são mantidas na cache
15
processador
cache
memória 
principal
Victor MedeirosInfraestrutura de Hardware
Tratamento de faltas
• A unidade de controle é responsável pela detecção e 
processamento das faltas na cache. 
• Quando ocorre uma falta o processador é parado, e o 
conteúdo de seus registradores é congelado. 
• Um controlador deve tratar as faltas geradas nos 
acessos à cache, buscando na memória principal a 
informação desejada. 
• Uma vez que o dado tenha sido obtido, o processamento 
é reiniciado.
16
Victor MedeirosInfraestrutura de Hardware
Localidade espacial
• Para tirar proveito da localidade espacial, precisamos ter 
uma cache com um bloco que seja maior que uma 
palavra. 
• Sempre que houver uma falta, devemos buscar um bloco 
(várias palavras adjacentes), e que por conta disso tem 
grande possibilidade de serem utilizadas em breve. 
• O aumento no tamanho do bloco justifica-se pela 
exploração da localidade espacial e pelo consequente 
aumento da performance.
17
Victor MedeirosInfraestrutura de Hardware
Memória virtual
• A memória principal pode funcionar como uma cache para 
a memória secundária, usualmente implementada em 
disco magnético. Esta técnica é conhecida pelo nome de 
memória virtual. 
• Considerando que vários programas estão rodando ao 
mesmo tempo, a memória principal precisa conter 
somente a parte ativa de vários programas, assim como 
a cache, que só contém a parte ativa de um programa. 
• Cada programa contém o seu espaço de endereçamento, 
e não deve acessar o espaço de outro programa.
18
Victor MedeirosInfraestrutura de Hardware
Memória virtual
19
espaço de 
endereçamento 
do programa C
espaço de 
endereçamento 
do programa B
espaço de 
endereçamento 
do programa A
parte ativa do 
programa C
parte ativa do 
programa B
parte ativa do 
programa A
Memória principal HD
Victor MedeirosInfraestrutura de Hardware
Memória virtual
• O uso da técnica de memória virtual permite que um 
programa venha a exceder a quantidade total de 
memória disponível para sua execução. 
• A técnica de memória virtual gerencia automaticamente 
os dois níveis da hierarquia de memória, representados 
pela memória principal e pela memória secundária.
20
Victor MedeirosInfraestrutura de Hardware
Memória virtual
• Na memória virtual um bloco de tamanho fixo é chamado 
de página. 
• Uma falha no acesso à memória virtual é chamada falta 
de página. 
• Se estivermos usando a memória virtual, o processador 
gera um endereço virtual, que é traduzido para 
endereço real. 
• O endereço real (ou, endereço físico) pode ser usado 
para acessar a memória
21
Victor MedeirosInfraestrutura de Hardware
Memória virtual
22
espaço de 
endereçamento 
do programa C
espaço de 
endereçamento 
do programa B
espaço de 
endereçamento 
do programa A
parte ativa do 
programa C
parte ativado 
programa B
parte ativa do 
programa A
Memória principal HD
processador endereço virtual
tradutor de 
endereço
endereço 
real
Victor MedeirosInfraestrutura de Hardware
Tradução de endereço
23
endereço virtual
31 30 29 28…………………………….………….. 15 14 13 12 11 10 9 8 …………….. 3 2 1 0
número da página virtual deslocamento na página
tradução
endereço físico
29 28…………………………….………….. 15 14 13 12 11 10 9 8 …………….. 3 2 1 0
número da página física deslocamento na página
Victor MedeirosInfraestrutura de Hardware
Tradução de endereço
• Exemplo: 

Suponha que temos uma memória secundária (HD) com 
capacidade de armazenar 2M páginas de tamanho 4k, e 
temos também, uma memória principal que pode 
armazenar 256K páginas. Qual seria a tradução do 
seguinte endereço virtual para o endereço físico? 
24
endereço virtual
322 K 542
número da página virtual deslocamento na página
Victor MedeirosInfraestrutura de Hardware
Tradução de endereço
• Exemplo:
25
endereço virtual
322 K 542
número da página virtual deslocamento na página
Deveremos descobrir que posição a página 322k ocupa na memória principal: 
Tamanho da memória principal = 256K páginas 
Endereço da página no HD = 322K 
Endereço da página na memória principal = 
 (Endereço da página no HD) módulo(Tamanho da memória principal ) 
Endereço da página na memória principal = (322K)módulo(256K) = 66K
Victor MedeirosInfraestrutura de Hardware
Tradução de endereço
• Exemplo:
26
endereço virtual
322 K 542
tradução
endereço físico
66 K 542
Victor MedeirosInfraestrutura de Hardware
Tradução de endereço
• Exemplo:
27
espaço de 
endereçamento 
do programa C
espaço de 
endereçamento 
do programa B
espaço de 
endereçamento 
do programa A
parte ativa do 
programa C
parte ativa do 
programa B
parte ativa do 
programa A
Memória principal HD
processador endereço virtual
tradutor de 
endereço
endereço 
real
322 K 66 K
Victor MedeirosInfraestrutura de Hardware
Exercício
• Traduza os endereços virtuais em endereços reais. 
Considere que o tamanho da memória secundária é de 
1M palavras e o tamanho da memória principal é de 
256K palavras.
28
endereço virtual endereço físico
532 K 122
65 K 56

Outros materiais