Você está na página 1de 15

Universidade Federal do Rio Grande do Sul Instituto de Informtica

Organizao de Computadores
Aula 20

Memria virtual
segunda parte

INF01113 - Organizao de Computadores

Memria virtual
segunda parte
1. Algoritmos de substituio 2. Escrita 3. Memria virtual + cache 4. Segmentao

INF01113 - Organizao de Computadores

1. Algoritmos de substituio
page fault ocorre se endereo da pgina no encontrado nem no TLB nem na MMTT pgina da memria principal selecionada para ser substituda substituio demorada, pois exige acesso a disco
outro processo deve ser executado enquanto transferncia feita

pgina a ser substituda no estar entre aquelas registradas no TLB, pois este contm endereos de pginas utilizadas mais recentemente
TLB tambm deve ser atualizado aps a substituio

algoritmo de substituio executado em software ( parte do SO)


permite uso de algoritmos mais sofisticados, que reduzem alta penalidade do page fault

INF01113 - Organizao de Computadores

Algoritmos de substituio
substituio randmica
mais simples usado no VAX 11/780 e no Intel i860

FIFO (first-in first-out)


fila de pginas pode ser mantida em software adaptao: passar por cima de pginas que tenham sido referenciadas recentemente

LRU (least recently used)


aproximao: manter um bit use para cada pgina a intervalos fixados pelo S.O., bits de todas as pginas so testados e resetados registro do n de vezes em que bit foi encontrado igual a 1 d idia aproximada da utilizao

INF01113 - Organizao de Computadores

2. Escrita
write-through no pode ser utilizado devido ao alto custo do acesso ao disco tempo de transferncia do disco bem menor do que o tempo de acesso => copiar uma pgina completa bem mais eficiente do que copiar blocos pequenos (palavras ou linhas) uso de 1 bit modified associado a cada pgina de uma page table ou TLB
bit setado quando feita escrita na pgina pgina no precisa ser escrita de volta no disco ao ser substituda, caso no tenha sido modificada desde o fetch

INF01113 - Organizao de Computadores

3. Memria virtual + cache


se sistema tem memria virtual e cache, cache pode ser colocada ...
aps a translao de endereo virtual em endereo real pelo TLB antes da translao de endereo

colocando cache aps translao


cache contm tags de endereos reais superposio entre translao e acesso cache tamanho da pgina = tamanho da cache, supondo cache com mapeamento direto soluo mais simples

INF01113 - Organizao de Computadores

Cache aps translao


paginao TLB / cache pgina pgina / tag linha endereo virtual ndice Cache

pg. virt.

pg. real

tag

linha

TLB
supondo: TLB completamente associativo cache com mapeamento direto =? hit

INF01113 - Organizao de Computadores

Tempo de acesso
se h miss no TLB, translao feita atravs de page table que pode estar na cache 6 combinaes possveis, supondo cache endereada com endereo real (cache aps TLB)
pgina est no TLB, linha est na cache pgina est no TLB, linha est na memria principal page table est na cache, linha est na cache page table est na cache, linha est na memria principal page table est na memria principal, linha est na cache page table est na memria principal, linha est na memria principal

INF01113 - Organizao de Computadores

Cache e memria virtual


Alpha 21164
cache de instrues endereada virtualmente cache de dados endereada fisicamente

Pentium II
caches de instrues e dados endereadas fisicamente

HP PA-2
cache nica endereada virtualmente

INF01113 - Organizao de Computadores

4. Segmentao
objetivo da segmentao dividir programas em sees para que o S.O. possa reloc-los mais facilmente na memria programa dividido em segmentos, que so blocos de endereos contguos e tamanhos variveis endereo dividido em 2 partes
nmero do segmento (ou base) deslocamento (ou offset)

segmento e deslocamento devem ser somados, e no concatenados endereo virtual = endereo lgico endereo real = endereo fsico

INF01113 - Organizao de Computadores

Translao de endereos de segmentos


endereo lgico segmento offset apontador para tabela de segmento

+
tabela de segmento endereo fsico
INF01113 - Organizao de Computadores

Segmentao
translao utiliza normalmente mapeamento direto uma tabela de segmento para cada processo ativo registrador especial contm endereo inicial da tabela de segmento tabela de segmento contm
comprimento do segmento bits de proteo de memria bits para o algoritmo de substituio

comprimento do segmento
armazenado na tabela de segmento para evitar que programa acesse erradamente posies fora do segmento

INF01113 - Organizao de Computadores

Segmentao
proteo de memria: segmento pode ser
read-only execute-only system-only

algoritmo de substituio
mais complexo do que em paginao devido ao tamanho varivel dos segmentos problemas de fragmentao de memria

combinao de paginao e segmentao


Pentium

INF01113 - Organizao de Computadores

Memory system Decstation 3100


V al ad irtu dress T access LB

T m LB iss ex ptio ce n

N o

T hit? LB

Y es P hysica ad l dress

N o

W rite?

Y es

T to rea d ry d ata fro ca m che

N o

W acce rite ss bit o n?

Ys e

W pro rite tection e ption xce C he m stall ac iss N o C ch hit? a e Y es

W da in cache rite ta to , u ate the ta an pu pd g, d t the da an the a ress ta d dd into the w b rite uffer

D live d e r ata to th C U e P

INF01113 - Organizao de Computadores

C cit h ts a ei r r c a It P u r n em en P l t i o Pr 6 o P0 w e C 4 V l ds 3i i u ds 2s ra r t ae b t 5i 2s b t Pia ds 2s h l ds 3i y ae s c r b t 3i 2s b t Ps a ie gz e 4, M K B B 4 4 , etba2M K lc l, n5 B B e e d6 s a Tont n Tfr sc s d L ra A fr sc s d L ra L r ia A o t t nn Tf d Ba i gz o L i r i aaB t Bn o u o a T o t t nn Tf d L i r i aaB t Bn o u o a Bfuae sa oo y t s ite t hr - sa cv w oi Bto y t s ite ow sa cv t h -ae sa w oi PdR pen s o Ulc e e- r a uL e m t L r lc e R pen Ua e m t Isc T 3ns n t nB ee t i L 2t r o : u r i Isc T 1ee n t nB8t s t i L 2n r o : u r i DT 6ns a L 4te t Be a : r i DT 1ee a L 2ns t B8t a : r i Tm h ldhw L is ae a a B e n i r r s s d n de Tm h ldhw L is ae a a B e n i r r s s d n de

Modern systems: nightmare!

C cit h t s a ei r r c a Ce aa a o nt n c r i i h gzo Ce e a s c i hz Cesiti a a ci t c s ay h ov Rc e e en p m l a t Bs lc ie o z k Wo r py i t l ei c

It Pim n eu r e n P l t o Pr 6 o P0 w e C 4 Siscndt ch Sit cndt ch pn t ad a s pn t ad a s l i t i na c t r o u a e l r i na c i u t o a e 8 e fr scna 1 B h iscna Ka o t t s t B h i r i / a 6 e fr t t s t c n od u Ka o r i / a c n od u F-ae site ow t sci u y a a r s ov F-ae site ow t sci u y a a r s ov A x td Ulc e L r lc e Computadores p i a L r a n R pen p m R pINF01113 - Organizao de r o e e e t m Ua e m t 3y 2ts b e 3y 2ts b e Wa r-c i b t e k Waor -r g r - cr i t o i b t e kwh h t e u