Buscar

Slides perfeitos do Livro_AOC2_aula12

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 35 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 35 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 35 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

Arquitetura Arquitetura ee Organiza Organizaçãçãoo
dede Computadores Computadores IIII
Universidade Federal de Pelotas
Instituto de Física e Matemática
Departamento de Informática
Bacharelado em Ciência da Computação
Aula 12
3. Hierarquia de Memória: introdução,
princípio da localidade. Memória cache:
conceitos básicos, organização, acesso.
Prof. José Luís Güntzel
guntzel@ufpel.edu.br
www.ufpel.edu.br/~guntzel/AOC2/AOC2.html
slide 12.2ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
A Hierarquia de Memória 
• Os programas gastam a maior parte do tempo acessando
a memória
• Programadores gostariam de ter ao ser dispor quantidade
ilimitada de memória com acesso instantâneo
• O projeto do sistema de memória segue alguns princípios
os quais tentam dar a ilusão ao programador de que ele
dispõe de uma grande quantidade de memória com tempo
de acesso pequeno
slide 12.3ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
• Ao estudar uma determinada matéria, tu não precisas
acessar todos os teus livros/cadernos.
• Portanto, basta deixar sobre tua mesa os livros que estão
sendo usados para o estudo. Os demais livros podem ficar
nos seus lugares, nas prateleiras…
• Talvez tua mesa não pudesse acomodar todos os teus
livros/cadernos
• E caso pudesse, o tempo para encontrar a matéria em um
livro seria demasiado grande, dificultando o estudo
A Hierarquia de Memória 
slide 12.4ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
• Localidade Temporal: “se um item é referenciado, ele
tende a ser referenciado novamente dentro de um espaço
curto de tempo.”
• Localidade Espacial: “se um item é referenciado, itens
cujos endereços sejam próximos dele tendem a ser logo
referenciados.”
A Hierarquia de Memória 
– A maioria dos programas contém laços (instruções e dados do laço
tendem a ser acessados de maneira repetitiva).
– Nos programas, as instruções estão armazenadas na memória de
maneira seqüencial; os itens de matrizes e de registros também se
encontram armazenados de maneira seqüencial.
slide 12.5ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
Tecnologias de Fabricação de Memórias
SRAM
DRAM
Magnética
Custo
por bit
armaze-
nado
Veloci-
dade
Capaci-
dade
+ +
+
A Hierarquia de Memória 
slide 12.6ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
$0,10 a $0,2010-20 milhões de nsDisco magnético
$5 a $1060-120nsDRAM
$100 a $2505-25 nsSRAM
Custo por Mbyte
(em 1997)
Tempo de acesso típico
Tecnologia de
implementação
A Hierarquia de Memória 
slide 12.7ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
SRAM DRAM magnética
cache 
externa
memória
principal
Disco
(HD)
Microprocessador:
• Caches integradas (L1, L2, L3…)
• Banco de registradores (32 a 128, tipicamente)
(SRAM)
A Hierarquia de Memória 
O Sistema de memória dos computadores é organizado de
maneira hierárquica
slide 12.8ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
A Hierarquia de Memória 
Objetivo do sistema hierárquico de memória é apresentar
ao usuário uma capacidade de memória próxima à
disponibilizada pela tecnologia mais barata, e um tempo de
acesso próximo ao permitido pela tecnologia mais cara.
slide 12.9ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
regs
processador
cache L1
cache L2
principal
secundária
capacidade
tempo de 
acesso
cresce
Obs: à medida que
a tecnologia
avança, outros
níveis
intermediários
podem existir
A Hierarquia de Memória 
slide 12.10ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
• A princípio, uma hierarquia de memória pode ter
qualquer número de níveis
• Entretanto, os dados sempre serão copiados entre dois
níveis adjacentes (i e i+1, onde i está mais próximo do
processador)
• Podemos concentrar nossa atenção em dois níveis
quaisquer i e i+1: i, que chamaremos de superior (mais
próximo do processador) e i+1, que chamaremos de
inferior
Definições 
slide 12.11ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
• Bloco: unidade mínima de informação, contendo um certo
número de palavras de memória.
• Exemplo, com 8 palavras (de memória)
Definições 
Informação*
XXXXX000
XXXXX001
XXXXX010
XXXXX011
XXXXX100
XXXXX101
XXXXX110
XXXXX111
* informação = instrução ou dado
slide 12.12ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
• Se a informação solicitada pelo processador estiver
presente no nível superior da hierarquia, ocorre um acerto
(hit)
• Se a informação solicitada pelo processador não puder ser
encontrada no nível superior, a tentativa de encotrá-la
gera uma falta (fault)
• Quando ocorre uma falta, o nível imediatamente inferior é
acessado, na tentativa de se recuperar o bloco com a
informação solicitada pelo processador
Definições 
slide 12.13ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
• Se um bloco está presente no nível i, então ele também está
presente no nível i+1
Definições 
processador
Cache L2
Memória
principal
Cache L1 Nível 1
Nível 2
Nível 3
slide 12.14ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
• A taxa de acertos ou razão de acertos (hit ratio)
corresponde à fração dos acessos à memória encontrados
no nível superior (com freqüência, é usada como medida
de desempenho do sistema de memória)
• A taxa de faltas (= 1- taxa de acertos) é a fração de acessos
à memória não encontrados no nível superior
Definições 
slide 12.15ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
• Tempo de acerto (hit time) é o tempo necessário para
acessar o nível superior da hierarquia, que inclui o tempo
necessário para determinar se a tentativa de acesso à
informação vai gerar um acerto ou uma falta
• A penalidade por falta (fault penalty) é o tempo necessário
para substituir um dos blocos do nível superior pelo bloco
do nível inferior que contém a informação desejada, mais o
tempo para enviar a informação ao processador
Definições 
Tempo de acerto Tempo de acesso ao nível
imediatamente inferior
<<
slide 12.16ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
• Cache, em inglês: lugar seguro para esconder ou guardar algo
• Cacher, em francês: esconder, guardar
• Nome usado para designar o nível de memória entre o
processador e a memória principal
• Este nome foi usado pela máquina que introduziu
pioneiramente (no início dos anos 1960) este nível de memória
(entre a memória principal e o processador)
• Cache explora o princípio da localidade
• Hoje em dia, usa-se este nome para designar qualque memória
que explore o princípio da localidade
Memória Cache 
slide 12.17ComputaçãoUFPelArquitetura e Organizaçãode Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
Assumamos as seguintes características de um sistema de
memória extremamente simples:
• O processador sempre requisita uma única palavra
• Existe apenas um nívvel de memória cache (L1)
• Os blocos de L1 são constituídos por somente uma palavra
Memória Cache 
slide 12.18ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
x3
x2
Xn-1
Xn-2
x1
x4
x3
xn
x2
Xn-1
Xn-2
x1
x4
Fazendo referência
ao dado xn
antes depois
• Como saber se uma informação está na cache?
• Caso ela esteja, como encontrá-la?
Memória Cache 
slide 12.19ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
Mapeamento Direto:
• Para cada palavra na cache, atribuir um endereço com
base no endereço da palavra na memória principal
• A maioria das caches que usa mapeamento direto o faz
usando o seguinte processo:
(Endereço do bloco) módulo (Número de blocos da cache) 
Memória Cache 
resto da divisão inteiraEndereço absoluto
(i.e., em relação à
memória principal)
slide 12.20ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
00
0
00
1
01
0
01
1
10
0
10
1
11
0
11
1
00001 00101 01001 01101 10001 10101 11001 11101
Memória Cache: mapeamento direto 
slide 12.21ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
• Solução: atribuir à cache um conjunto de rótulos (tags)
• Os rótulos são usados em conjunto com o endereço do
mapeamento, de modo a compor o endereço completo,
com relação à memória principal
Dado que uma “entrada” da cache pode armazenar o
conteúdo de diversos endereços da memória (principal),
como identificar se o dado armazenado na cache
corresponde ao solicitado?
Memória Cache: mapeamento direto 
slide 12.22ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
00
0
00
1
01
0
01
1
10
0
10
1
11
0
11
1
00001 00101 01001 01101 10001 10101 11001 11101
Voltando ao exemplo
de mapeamento direto
10
00
000
001
010
011
100
101
110
111
tag
(rótulo)
Memória Cache: mapeamento direto 
slide 12.23ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
• Solução: incluir um bit de validade
• Se o bit de validade = 0, a informação contida naquele
bloco da cache não é válida
E como reconhecer se um bloco da cache possui uma
informação válida? (Quando o processador é inicializado,
por exemplo, algo deve sinalizar que a cache está “vazia”)
Memória Cache: mapeamento direto 
slide 12.24ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
00
0
00
1
01
0
01
1
10
0
10
1
11
0
11
1
00001 00101 01001 01101 10001 10101 11001 11101
Voltando ao exemplo
de mapeamento direto
10
00
0
0
1
0
0
0
1
0000
001
010
011
100
101
110
111
tag
(rótulo)
Memória Cache: mapeamento direto 
val.
slide 12.25ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
(1) Estado inicial da cache, após inicialização da máquina
0111
0110
0101
0100
0011
0010
0001
0000
informaçãotagval.índiceOBS: tags e
endereços em
binário
Acesso a uma Cache (para leitura) 
OBS: todos os valores neste exemplo estão em binário
slide 12.26ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
0111
0110
0101
0100
0011
0010
0001
0000
informaçãotagval.índice
(2) Referência ao endereço 10110: falta
Acesso a uma Cache (para leitura) 
slide 12.27ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
(2) Referência ao endereço 10110: falta: tratamento da falta
0111
Memória(10110)101110
0101
0100
0011
0010
0001
0000
informaçãotagval.índice
Acesso a uma Cache (para leitura) 
Tratamento da falta = buscar no nível inferior (neste exemplo, a memória principal)
o bloco com endereço 10110
slide 12.28ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
0111
Memória(10110)101110
0101
0100
0011
0010
0001
0000
informaçãotagval.índice
(3) Referência ao endereço 11010: falta
Acesso a uma Cache (para leitura) 
slide 12.29ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
(3) Referência ao endereço 11010: falta: tratamento da falta
0111
Memória(10110)101110
0101
0100
0011
Memória(11010)111010
0001
0000
informaçãotagval.índice
Acesso a uma Cache (para leitura) 
Tratamento da falta = buscar no nível inferior (neste exemplo, a memória principal)
o bloco com endereço 11010
slide 12.30ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
0111
Memória(10110)101110
0101
0100
0011
Memória(11010)111010
0001
0000
informaçãotagval.índice
(4) Referência ao endereço 10000: falta
Acesso a uma Cache (para leitura) 
slide 12.31ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
(4) Referência ao endereço 10000: falta: tratamento da falta
0111
Memória(10110)101110
0101
0100
0011
Memória(11010)111010
0001
Memória(10000)101000
informaçãotagval.índice
Acesso a uma Cache (para leitura) 
Tratamento da falta = buscar no nível inferior (neste exemplo, a memória principal)
o bloco com endereço 10000
slide 12.32ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
0111
Memória(10110)101110
0101
0100
0011
Memória(11010)111010
0001
Memória(10000)101000
informaçãotagval.índice
(5) Referência ao endereço 00011: falta
Acesso a uma Cache (para leitura) 
slide 12.33ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
(5) Referência ao endereço 00011: falta: tratamento da falta
0111
Memória(10110)101110
0101
0100
Memória(00011)001011
Memória(11010)111010
0001
Memória(10000)101000
informaçãotagval.índice
Acesso a uma Cache (para leitura) 
Tratamento da falta = buscar no nível inferior (neste exemplo, a memória principal)
o bloco com endereço 00011
slide 12.34ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
0111
Memória(10110)101110
0101
0100
Memória(00011)001011
Memória(11010)111010
0001
Memória(10000)101000
informaçãotagval.índice
(6) Referência ao endereço 10010: falta
Acesso a uma Cache (para leitura) 
slide 12.35ComputaçãoUFPelArquitetura e Organização de Computadores II
Prof. José Luís Güntzel
3. Hierarquia de Memória: memória cache
(6) Referência ao endereço 10010: falta: tratamento da falta
0111
Memória(10110)101110
0101
0100
Memória(00011)001011
Memória(10010)101010
0001
Memória(10000)101000
informaçãotagval.índiceAcesso a uma Cache (para leitura) 
Tratamento da falta = buscar no nível inferior (neste exemplo, a memória principal)
o bloco com endereço 00011, escrevendo-o na posição 010
da cache

Outros materiais