Hierarquia de memória
Organização de Computadores
Leonardo Kemps Bittencourt da Silva
Graduando em Ciência da Computação - UFJF
Hierarquia de memória
Em termos ideais, desejaríamos dispor de uma
capacidade de memória infinitamente grande e que
pudesse disponibilizar imediatamente o conteúdo de
qualquer das suas palavras...Somos forçados a
reconhecer a possibilidade de construir um sistema
de memória estruturado hierarquicamente, no qual
cada um dos componentes da hierarquia tenha mais
capacidade de armazenamento e um tempo de
acesso maior do que aqueles que o precedem.
A.W. Burks, H.H. Goldstine e J. von Neumann
Preliminary Discussion of the Logical Design of na Eletronic Computing Instrument, 1946
Organização de Computadores - Leonardo Kemps
2
Hierarquia de memória
Organização de Computadores - Leonardo Kemps
3
Hierarquia de memória
Organização de Computadores - Leonardo Kemps
4
Hierarquia de memória
Organização de Computadores - Leonardo Kemps
5
Hierarquia de memória
Organização de Computadores - Leonardo Kemps
6
Princípio da Localidade
 Localidade Temporal (localidade no tempo)
Se um item é referenciado , ele tende a ser referenciado
novamente dentro de um espaço de tempo curto.
 Localidade Espacial
(localidade no espaço)
Se um item é referenciado, itens cujos endereços sejam
próximos dele tendem a ser logo referenciados.
Organização de Computadores - Leonardo Kemps
7
Como explorar o princípio de localidade
numa hierarquia de memória?
• Localidade Temporal
Mantenha itens de dados mais recentemente acessados nos
níveis da hierarquia mais próximos do processador
• Localidade Espacial
Mova blocos de palavras contíguas para os níveis da
hierarquia mais próximos do processador
Organização de Computadores - Leonardo Kemps
8
Consequências do uso do princípio de
localidade numa hierarquia de memória?
O objetivo de um sistema de memória hierárquico
é satisfeito uma vez que apresenta ao usuário
uma capacidade de memória próxima à
disponibilida pela tecnologia mais barata, e
um tempo de acesso próximo ao
disponibilizado pela tecnologia mais cara.
Implicando numa melhora significativa da
memória
Organização de Computadores - Leonardo Kemps
9
Hierarquia de memória
• Hit: dado aparece em algum bloco no nível superior (junto
ao processador)
– Hit Ratio: a fração de acessos à memória resolvidos no nível
superior
– Hit Time: tempo de acesso ao nível superior, que consiste
de tempo de acesso à memória RAM + tempo para
determinar hit/miss
• Miss: dado precisa ser buscado de um bloco no nível inferior
– Miss Ratio = 1 – (Hit Ratio)
– Miss Penalty: tempo gasto para substituir um bloco no nível
superior + tempo para fornecer o bloco ao processador
• Hit Time <<< Miss Penalty
Organização de Computadores - Leonardo Kemps
10
Hierarquia de memória
Organização de Computadores - Leonardo Kemps
11
Memória Cache
Cache foi o nome escolhido para designar o nível da
hierarquia de memória situada entre o processador e a
memória principal, na primeira máquina comercial que
implementou este nível extra de memória
As caches apareceram primeiro nas máquinas
desenvolvidas para pesquisa, no início da década de
1960, sendo implementadas em máquinas comerciais
um pouco mais tarde.
Organização de Computadores - Leonardo Kemps
12
Memória Cache - Endereçamento
-Mapeamento Direto
-Mapeamento Associativo
-Mapeamento Associativo por Conjunto
Organização de Computadores - Leonardo Kemps
13
Memória Cache - Mapeamento direto
Organização de Computadores - Leonardo Kemps
14
Consistência: Memória principal x Memória cache
-Write-through
-Write-back
Organização de Computadores - Leonardo Kemps
15
Caches Multinível
Os microprocessadores atuais de alta performace suportam
um nível adicional de memória cache, sendo que esta cache
adicional implicará em uma penalidade por falta menor, uma
vez que tempo de acesso à memória principal é bem maior
que a anterior.
Organização de Computadores - Leonardo Kemps
16
Memória Virtual
• Permitir compartilhamento seguro e eficiente da
memória entre vários programas.
• Melhorar o desempenho de programas nas pequenas
e limitadas memórias principais.
Organização de Computadores - Leonardo Kemps
17
Memória Virtual – Alguns conceitos
Espaço endereçável
( localizações de memória acessíveis a apenas um programa.)
Overlays
(módulos de um programa que são carregados na memória
quando acionados.)
Page
(bloco de memória)
Page fault
(miss page)
Endereço virtual
(gerado por um processo, que será mapeado em um endereço físico.)
Organização de Computadores - Leonardo Kemps
18
Memória Virtual
Organização de Computadores - Leonardo Kemps
19
Memória Virtual
Organização de Computadores - Leonardo Kemps
20
Memória Virtual
Organização de Computadores - Leonardo Kemps
21
Memória Virtual
Organização de Computadores - Leonardo Kemps
22
Memória virtual + TLBs + Caches
Próximo slide >>
Organização de Computadores - Leonardo Kemps
23
Organização de Computadores - Leonardo Kemps
24
Bibliografia
[1]
Pattterson David A. e Hennessy John L. Organização e projeto de computadores – A interface
Hardware/Software. Segunda Edição. Editora LTC.
[2]
Stallings, Willian et al. Arquitetura e organização de computadores. Quinta Edição.
[3]
Pannain, Ricardo. Arquitetura de computadores. Disponível na Internet:
http://www.dcc.unicamp.br/~ducatte/mc722/Material/arq_hp7.pdf. 15 set. 2004.
[4]
Organização de computadores – Aula 16 – Memória Cache. Universidade Federal do Rio Grande
do Sul, Instituto de Informática. Disponível na Internet:
http://www.inf.ufrgs.br/~flavio/ensino/ArqServ/memoria.pdf. 19 set. 2004
[5]
Oliveira, Cintia Carvalho. Memória Interna. Seminário de Organização de Computadores,
Universidade Federal de Juiz de Fora. 6 set. 2004.
[6]
http://venus.rdc.puc-rio.br/rmano/comp6mem.html
[7]
http://www.di.uevora.pt/~pq/ac/prog-ac-7.html
Organização de Computadores - Leonardo Kemps
25
Download

Hierarquia de memória