Você está na página 1de 16

Universidade Federal de Pelotas

Instituto de Fsica e Matemtica


Departamento de Informtica
Bacharelado em Cincia da Computao

Arquitetura e Organizao
de Computadores II
Aula 18
4. Memria virtual: manipulao de faltas de pgina e
de faltas na TLB. Uma estrutura comum para
hierarquias de memria.
Prof. Jos Lus Gntzel
guntzel@ufpel.edu.br
www.ufpel.edu.br/~guntzel/AOC2/AOC2.html

4. Hierarquia de Memria: integrao de nveis


Manipulao de Faltas de Pgina e de Faltas na TLB
Uma falta no acesso TLB ocorre quando nenhuma de suas
entradas igual ao endereo virtual gerado pelo processador
Uma falta no acesso TLB pode ter um dos seguintes
desdobramentos:
A pgina requisitada est
presente na memria

Basta criar uma nova


entrada para ela na TLB

A pgina requisitada no
est presente na memria

necessrio transferir o
controle para o S.O., que
vai tratar a falta de pgina

Como saber qual das duas situaes ocorreu?


ComputaoUFPel
Arquitetura e Organizao de Computadores II

slide 18.2

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


Manipulao de Faltas de Pgina e de Faltas na TLB
Como saber qual das duas situaes ocorreu?
Endereo virtual

TLB
falta

Buscar pela pgina na


tabela de pginas
acerto

falta
(bit de residncia desligado)

Tratar tambm a falta


de pgina (alm da
falta no acesso TLB)
ComputaoUFPel
Arquitetura e Organizao de Computadores II

(bit de residncia ligado)

Criar entrada na TLB,


colocando o no da pgina fsica
que est na tabela de pginas
slide 18.3

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


Manipulao de Faltas de Pgina e de Faltas na TLB
Tratamento de falta na TLB pode ser por software ou por
hardware:
Seu tratamento requer uma pequena seqncia de operaes para
copiar a entrada da tabela de pginas da memria principal para a
TLB
O Tratamento de faltas de pgina requer uso do mecanismo de
exceo:
Para interromper o processo ativo
Transfere o controle para o S.O.
Falta de pgina geralmente reconhecida durante o ciclo de relgio
usado para acessar a memria
PC salvo em um registrador especial chamado EPC (a fim de
poder retornar a execuo a partir da prxima instruo)
ComputaoUFPel
Arquitetura e Organizao de Computadores II

slide 18.4

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


Observaes Finais - 1
A gerncia da memria virtual um grande desafio devido o alto
custo das faltas de pgina
Vrias tcnicas so usadas para resolver este problema:
1. As pginas devem ser grandes o suficiente para tirar proveito da
localidade espacial (reduzindo a taxa de faltas)
2. O mapeamento de um endereo virtual em um endereo fsico
usando a tabela de pginas feito de maneira totalmente
associativa
3. O S.O. usa tcnicas especiais (e.g., LRU e bit de referncia) para
determinar qual das pginas deve ser substituda

ComputaoUFPel
Arquitetura e Organizao de Computadores II

slide 18.5

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


Observaes Finais - 2
As escritas no disco tambm so muito caras. A memria virtual:
Usa o esquema write-back
Controla se uma pgina no foi modificada (para evitar a escrita de
pginas que no foram modificadas)
Mecanismo de memria virtual
Realiza a traduo do endereo virtual para o espao de
endereamento fsico (usado no acesso memria principal)
Permite o compartilhamento protegido da memria principal entre
diversos processos
Simplifica da alocao da memria
A TLB funciona como uma cache para as tradues da tabela de
pginas
ComputaoUFPel
Arquitetura e Organizao de Computadores II

slide 18.6

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


Uma Estrutura Comum para Hierarquias de Memria

Valores tpicos
para caches

Valores tpicos para


memrias paginadas

Valores tpicos
para TLB

1.000-100.000

2.000-250.000

32-4.000

Tamanho total em KB

8-8000

8.000-8.000.000

0,25-32

Tamanho do bloco em bytes

16-256

4.000-64.000

4-32

Penalidade por falta


(ciclos de relgio)

10-100

1.000.000-10.000.000

10-100

0,1%-10%

0,00001%-0,0001%

0,01%-2%

Caractersticas
Tamanho total em blocos

Taxa de faltas

ComputaoUFPel
Arquitetura e Organizao de Computadores II

slide 18.7

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


Onde se Pode Colocar um Bloco?
A colocao de um bloco no nvel superior da hierarquia pode usar um
dos seguintes esquemas:
Mapeamento direto
Mapeamento associativo por conjunto (caso genrico)
Mapeamento totalmente associativo
Esquema

Nmero de conjuntos

Blocos por conjunto

Mapeamento direto

Nmero de blocos na cache

Associativo por conjunto

Nmero de blocos na cache


associatividade

Associatividade
(tipicamente de 2 a 8)

Nmero de blocos na cache

Totalmente associativo

ComputaoUFPel
Arquitetura e Organizao de Computadores II

slide 18.8

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


Como Encontrar um Bloco?
Depende do esquema adotado para colocao dos blocos
Associatividade

Mtodo de localizao

Mapeamento direto

ndice

Associativo por conjunto

Indexar o conjunto, pesquisar entre


os elementos

Totalmente associativo

Pesquisar todas a entradas da


cache
Tabela separada para busca

ComputaoUFPel
Arquitetura e Organizao de Computadores II

Nmero de comparaes
necessrias

slide 18.9

Grau de associatividade
Tamanho da cache
0

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


Como Encontrar um Bloco?
Nos sistemas de memria virtual, a tabela de pginas usada para
indexar a memria principal
Fatores que motivam o mapeamento totalmente associativo nas tabelas
de pginas:
1. Alto custo das faltas de pgina
2. Permite que o software utilize algoritmos bastante sofisticados
para substituio de pgina
3. Pode ser facilmente indexado, sem necessidade de hardware extra
4. Quanto maior o tamanho da pgina, menor o overhead relativo
representado pelo tamanho da tabela de pginas

ComputaoUFPel
Arquitetura e Organizao de Computadores II

slide 18.10

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


Como Encontrar um Bloco?
Caches e TLBs normalmente usam esquema associativo por conjunto:
Acesso combina indexao e busca em um conjunto pequeno de
elementos
Porm, alguns sistemas mais recentes tm usado caches com
mapeamento direto devido ao pequeno tempo de acesso e
simplicidade

ComputaoUFPel
Arquitetura e Organizao de Computadores II

slide 18.11

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


Qual dos Blocos Deve ser Substitudo?
Totalmente associativa: todos os blocos so candidatos substituio
Conjunto associativa: escolher um dos blocos pertencentes a um
conjunto
Mapeamento direto: no h escolha!
Estratgias para a substituio de blocos:
Aleatria: os blocos candidatos substituio so escolhidos ao
acaso, possivelmente contando com algum auxlio de hardware
Bloco usado h mais tempo (LRU): o bloco substitudo aquele
usado h mais tempo

ComputaoUFPel
Arquitetura e Organizao de Computadores II

slide 18.12

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


O Que Acontece em uma Escrita?
Write-through:
Write-through a informao escrita tanto na cache quanto no bloco
da memria no nvel inferior da hierarquia (mem principal, no caso da
cache
Write-Back/copy-back:
Write-Back/copy-back a informao escrita somente no bloco da
cache. O bloco modificado escrito no nvel inferior da hierarquia
somente no momento de sua subtituio

ComputaoUFPel
Arquitetura e Organizao de Computadores II

slide 18.13

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


O Que Acontece em uma Escrita?
Vantagens do Write-back

As palavras podem ser escritas individualmente pelo processador na


velocidade da cache (ao invs de s-lo na velocidade da memria
principal)
Escritas mltiplas dentro de um bloco podem ser feitas com uma
nica operao de escrita no componente da hierarquia inferior
Quando os blocos so escritos de volta, o sistema pode fazer uso de
uma banda passante extremamente alta para efetivar a transferncia
(j que todo o bloco escrito)

ComputaoUFPel
Arquitetura e Organizao de Computadores II

slide 18.14

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


O Que Acontece em uma Escrita?
Vantagens do Write-through

As faltas so mais simples e mais baratas de tratar (nunca h


necessidade de escrever todo o bloco no componente de memria da
hierarquia inferior)
mais simples de implementar que a write-back (que exige um
buffer de escrita)

ComputaoUFPel
Arquitetura e Organizao de Computadores II

slide 18.15

Prof. Jos Lus Gntzel

4. Hierarquia de Memria: integrao de nveis


O Que Acontece em uma Escrita?
Nos sistemas de Memria Virtual

Na prtica, somente write-back usado (devido a longa latncia nas


escritas no componente de memria da hierarquia inferior - HD)
O desempenho dos processadores vem melhorando a uma taxa bem
maior do que a melhora no acesso memria principal baseada em
DRAMs
Cada vez mais caches esto usando (ou viro a usar) a estratgia
write-back

ComputaoUFPel
Arquitetura e Organizao de Computadores II

slide 18.16

Prof. Jos Lus Gntzel