rt sts r t - - PowerPoint PPT Presentation
rt sts r t - - PowerPoint PPT Presentation
rt sts r t r r t r r
❖✉t❧✐♥❡
❖✈❡r✈✐❡✇
❖✈❡r✈✐❡✇ ❙❡❣♠❡♥t❛t✐♦♥ ◆♦♥✲❞❡♠❛♥❞ P❛❣✐♥❣ ❉❡♠❛♥❞ P❛❣✐♥❣ P❛❣❡❞✲❙❡❣♠❡♥t❛t✐♦♥ ❙♣❛rs❡ ❱✐rt✉❛❧ ❙♣❛❝❡ ■❆✲✸✷✿ ①✽✻ ✕ ✸✷✲❜✐t
Pr♦❝❡ss ❙♣❛❝❡ → ❙②st❡♠ ❙♣❛❝❡
❖✈❡r✈✐❡✇
Pr♦❝❡ss s♣❛❝❡ ✭❛❦❛ ✈✐rt✉❛❧ s♣❛❝❡✮ ❛❞❞r❡ss s♣❛❝❡ ♦❢ ✐ts ✭♠❛❝❤✐♥❡ ❝♦❞❡✮ ♣r♦❣r❛♠ str✉❝t✉r❡✿ ❝♦❞❡✱ st❛❝❦✱ ❞❛t❛✱ ❤❡❛♣✱ ✳✳✳ ❛ttr✐❜✉t❡s✿ r❡❛❞✱ r❡❛❞✴✇r✐t❡✱ ❡①❡❝✉t❡✱ ✳✳✳ ❙②st❡♠ s♣❛❝❡ ❤✐❡r❛r❝❤② ♦❢ ❝❛❝❤❡s✱ ♠❛✐♥ ♠❡♠♦r②✱ ❞✐s❦✱ ✳✳✳ s♠❛❧❧✱ ❢❛st − → ❧❛r❣❡✱ s❧♦✇ ❱✐rt✉❛❧ s♣❛❝❡ ♠❛♣♣❡❞ t♦ ♣❤②s✐❝❛❧ s♣❛❝❡ ❛t r✉♥ t✐♠❡ ✐♥str✉❝t✐♦♥ ❡①❡❝✉t✐♦♥ → ✈✐rt✉❛❧ ❛❞❞r❡ss → ❤✇✴s✇ ♠❛♣♣❡r → ❧♦❝❛t✐♦♥ ✐♥ ❝❛❝❤❡✴♠❡♠♦r②✴❞✐s❦ ✐❢ ❧♦❝❛t✐♦♥ ✐♥ ❞✐s❦ ❤✇ tr❛♣s → s✇ ♠♦✈❡s ❝♦♥t❡♥t t♦ ♠❡♠♦r② → r❡s✉♠❡ ✐♥str✉❝t✐♦♥
❇❡♥❡✜ts ♦❢ ❘✉♥✲t✐♠❡ ▼❛♣♣✐♥❣
❖✈❡r✈✐❡✇
Pr♦❣r❛♠✬s st❛rt ❛❞❞r❡ss ✐s ✵ ✭✐♥ ❡❛❝❤ s❡❣♠❡♥t✮ ❑❡r♥❡❧ ❡♥❢♦r❝❡s ❛ttr✐❜✉t❡s ♦❢ ✈✐rt✉❛❧ ❛❞❞r❡ss ♠❡♠♦r② ♣r♦t❡❝t✐♦♥ ❡✣❝✐❡♥t ❞❡❜✉❣❣✐♥❣ ❱✐rt✉❛❧ s♣❛❝❡ ❝❛♥ ❜❡ ❧❛r❣❡r t❤❛♥ ♣❤②s✐❝❛❧ ♠❡♠♦r② ♠❡♠♦r②✲♠❛♣♣❡❞ ✜❧❡s✱ ✳✳✳ ❖♥❧② t❤❡ ❛❝t✐✈❡ ♣❛rt ♦❢ ✈✐rt✉❛❧ s♣❛❝❡ ♥❡❡❞ ❜❡ ✐♥ ♣❤②s✐❝❛❧ ♠❡♠♦r② ❢❛st❡r st❛rt✐♥❣ ✉♣ ❤✐❣❤❡r ❞❡❣❡r❡❡ ♦❢ ♠✉❧t✐✲♣r♦❣r❛♠♠✐♥❣ ❜❡tt❡r ✉t✐❧✐③❛t✐♦♥ ♦❢ ♠❡♠♦r②✱ ■❖ ❞❡✈✐❝❡s✱ ✳✳✳ ❊✣❝✐❡♥t s❤❛r✐♥❣ ♦❢ ♠❡♠♦r② ❜❡t✇❡❡♥ ♣r♦❝❡ss❡s✴❦❡r♥❡❧ ❛✈♦✐❞ ■❖ tr❛♥s❢❡rs ❜❡t✇❡❡♥ ✉s❡r ❛♥❞ ❦❡r♥❡❧ s♣❛❝❡ ❊✣❝✐❡♥t s②st❡♠ ✈✐rt✉❛❧✐③❛t✐♦♥ ❣✉❡st ♦♣❡r❛t✐♥❣ s②st❡♠s
❙♦♠❡ ❇❛s✐❝s
❖✈❡r✈✐❡✇
Pr♦❝❡ss♦r ❝❛♥ ♦♥❧② ❛❝❝❡ss ❧♦❝❛t✐♦♥s ✐♥ ♠❡♠♦r② ❢❛st❡r ❢♦r ❝❛❝❤❡s✱ s❧♦✇❡r ❢♦r ♠❛✐♥ ♠❡♠♦r② ▼♦✈❡ ♠♦r❡ ✭❧❡ss✮ ❢r❡q✉❡♥t❧② ❛❝❝❡ss❡❞ st✉✛ t♦ ❢❛st ✭s❧♦✇✮ ♠❡♠ ♥❡❡❞ t♦ ♠❛✐♥t❛✐♥ ✐♥❢♦ ♦♥ ✉s❛❣❡✱ ❞✐rt②✴❝❧❡❛♥✱ ✳✳✳ ❙✉s♣❡♥❞ s♦♠❡ ♣r♦❣r❛♠s ✐❢ ♠♦✈❡♠❡♥t ♦✈❡r❤❡❛❞ t♦♦ ❤✐❣❤ t❤r❛s❤✐♥❣✱ ❧♦✇ ❤✐t r❛t❡ ❊✣❝✐❡♥t ♠❛♥❛❣❡♠❡♥t ♦❢ ♣❤②s✐❝❛❧ s♣❛❝❡ ♣❛rt✐t✐♦♥ s♣❛❝❡ ✐♥t♦ ❜❧♦❝❦s ✭♣❤②s✐❝❛❧ ♣❛❣❡s✱ ❞✐s❦ s❡❝t♦rs✱ ✳✳✳✮ r❡❞✉❝❡ ❢r❛❣♠❡♥t❛t✐♦♥ ♦❢ s♣❛❝❡ ◆❡❡❞ ❝❛❝❤❡✐♥❣ ✐♥ ♣r♦❝❡ss♦r t♦ ❛❝❤✐❡✈❡ ❧♦✇ ♦✈❡r❤❡❛❞ ♦❢ ♠❛♣♣✐♥❣ ❚▲❇ ✭tr❛♥s❧❛t✐♦♥✲❧♦♦❦❛s✐❞❡ ❜✉✛❡r✮✿ ♣❤②s✐❝❛❧ ♦r ✈✐rt✉❛❧ ✳✳✳
▲♦♥❣ ❛❣♦ ✳✳✳ ❖✈❡r❧❛②s
❖✈❡r✈✐❡✇
❲❛② t♦ r✉♥ ❛ ♣r♦❣r❛♠ t❤❛t ❞♦❡s♥✬t ✜t ✐♥ ♣❤②s✐❝❛❧ ♠❡♠♦r② Pr♦❣r❛♠ ✐♠❛❣❡ str✉❝t✉r❡❞ ✐♥ ♣❛rts✿ ❝♦♠♠♦♥ ♣❤❛s❡ ✶ ♣❤❛s❡ ✷ ✳✳✳ ■♥✐t✐❛❧❧②✱ ❝♦♠♠♦♥ ❛♥❞ ♣❤❛s❡ ✶ ♣❛rts ✐♥ ♣❤②s✐❝❛❧ ♠❡♠♦r② ❚❤❡ ❧❛st ❜✐t ♦❢ ♣❤❛s❡ i✱ ❢♦r i = ✶, ✷, · · · ❧♦❛❞s ✐♥ ♣❤❛s❡ i + ✶✱ ♦✈❡r✇r✐t✐♥❣ ♣❤❛s❡ i ❥✉♠♣s t♦ st❛rt ♦❢ ♣❤❛s❡ i + ✶ ◆♦ ❖❙ ✐♥t❡r✈❡♥t✐♦♥ ◆♦ ✈✐rt✉❛❧ ❛❞❞r❡ss s♣❛❝❡✿ ✐♥str✉❝t✐♦♥s ❣❡♥❡r❛t❡ ♣❤②s✐❝❛❧ ❛❞❞❡ss❡s
❖✉t❧✐♥❡
❙❡❣♠❡♥t❛t✐♦♥
❖✈❡r✈✐❡✇ ❙❡❣♠❡♥t❛t✐♦♥ ◆♦♥✲❞❡♠❛♥❞ P❛❣✐♥❣ ❉❡♠❛♥❞ P❛❣✐♥❣ P❛❣❡❞✲❙❡❣♠❡♥t❛t✐♦♥ ❙♣❛rs❡ ❱✐rt✉❛❧ ❙♣❛❝❡ ■❆✲✸✷✿ ①✽✻ ✕ ✸✷✲❜✐t
❙❡❣♠❡♥t❛t✐♦♥✿ ❖✈❡r✈✐❡✇ ✕ ✶
❙❡❣♠❡♥t❛t✐♦♥
❱✐rt✉❛❧ ❛❞❞r❡ss✿ s❡❣# ♦✛s❡t m✲❜✐t n✲❜✐t s❡❣#✬s✿ ✵, · · · , ✷m−✶ s❡❣ ♠❛① s✐③❡✿ ✷n ❜②t❡s ❱✐rt✉❛❧ ❛❞❞r❡ss ✐s ❣❡♥❡r❛t❡❞ ❜② ❛♥ ✐♥str✉❝t✐♦♥ ❡❣✱ load 2:0x030, reg✶
/ / ♣✉t ❞❛t❛ ❛t 2:0x030 ✐♥t♦ reg✶
P❤②s✐❝❛❧ ❛❞❞r❡ss✿ ❛❞❞r Pr♦❣r❛♠ s♣❛❝❡ ❝♦♥s✐sts ♦❢ s❡❣♠❡♥ts ❡❣✱ s❡❣ ✵✿ ❝♦❞❡❀ s❡❣ ✷✿ ❞❛t❛❀ s❡❣ ✺✿ st❛❝❦❀ ✳✳✳ s✉❜s❡t ♦❢ {✵, · · · , ✷m − ✶} ♥❡❡❞ ♥♦t ❜❡ ❝♦♥s❡❝✉t✐✈❡ ❡❛❝❤ s❡❣♠❡♥t ❤❛s ❛ s✐③❡ ✭✐♥ ✵, · · · , ✷n✮ ❡❛❝❤ s❡❣♠❡♥t ❤❛s ❛❝❝❡ss ❛ttr✐❜✉t❡s ✭r✱ r✴✇✱ ✳✳✳✮
❙❡❣♠❡♥t❛t✐♦♥✿ ❖✈❡r✈✐❡✇ ✕ ✷
❙❡❣♠❡♥t❛t✐♦♥
❆ s❡❣♠❡♥t ✐s ♠❛♣♣❡❞ ❝♦♠♣❧❡t❡❧② ✐♥ ♦♥❡ ♣❤②s✐❝❛❧ ♠❡♠♦r② ❝❤✉♥❦ ❆ss✉♠❡ ❛❧❧ s❡❣♠❡♥ts ♦❢ ❛ ✭♥♦♥✲s✉s♣❡♥❞❡❞✮ ♣r♦❝❡ss ❛r❡ ♠❛♣♣❡❞ ❤❡♥❝❡✱ t♦t❛❧ ✈✐rt✉❛❧ s♣❛❝❡ ♦❢ ♣r♦❝❡ss❡s ≤ ♣❤②s✐❝❛❧ ♠❡♠♦r② s✐③❡ ❙❡❣♠❡♥ts ❝❛♥ ❣r♦✇ ✐❢ t❤❡r❡ ✐s ❛❞❥❛❝❡♥t ❢r❡❡ ♣❤②s✐❝❛❧ ♠❡♠♦r② ❛❧❧♦❝❛t❡ ♣❤②s✐❝❛❧ ♠❡♠♦r② ✐♥ ♦✉t✲♦❢✲❜♦✉♥❞s ❡①❝❡♣t✐♦♥ ❤❛♥❞❧❡r ❊①t❡r♥❛❧ ❢r❛❣♠❡♥t❛t✐♦♥✿ ✇❛st❡❞ s♣❛❝❡ ❜❡t✇❡❡♥ s❡❣♠❡♥ts ❛r✐s❡s ❛s ♣r♦❝❡ss❡s ❡♥t❡r✴❧❡❛✈❡ ❝❤✉♥❦s ♦❢ ♠❡♠♦r② t♦♦ s♠❛❧❧ t♦ ✉s❡ ❝❛♥ ✜① ❜② ❝♦♠♣❛❝t✐♦♥✱ ❜✉t ❡①♣❡♥s✐✈❡
❙❡❣♠❡♥t ❚❛❜❧❡s
❙❡❣♠❡♥t❛t✐♦♥
❊❛❝❤ ♣r♦❝❡ss ❤❛s ❛ s❡❣♠❡♥t t❛❜❧❡ ✐♥ ♠❡♠♦r②
/ / ♣❛rt ♦❢ P❈❇
s❡❣# valid base size access ✵ ✶
- ❈r❡❛t❡❞ ✇❤❡♥ ♣r♦❝❡ss ✐s ❧♦❛❞❡❞
❘♦✇ ❢♦r ❡✈❡r② j ✐♥ {✵, · · · , ✷m − ✶}
/ / ❞❡s❝r✐♣t♦r ♦❢ j
valid ✭✶ ❜✐t✮✿ ✶ ✐✛ ♣r♦❝❡ss ❤❛s s❡❣♠❡♥t j base✿ ♣❤②s✐❝❛❧ ❛❞❞r❡ss ♦❢ ✭st❛rt ♦❢✮ s❡❣♠❡♥t j size ♦❢ s❡❣♠❡♥t j access✿ ❛❧❧♦✇❡❞ ❛❝❝❡ss t♦ s❡❣♠❡♥t j✱ ❡❣✱ r✱ r✴✇✱ ✳✳✳ ▲❛②♦✉t ✜①❡❞ ❜② ❤❛r❞✇❛r❡ ❋♦r ♣❛rt✐❛❧ ♠❛♣♣✐♥❣ ♦❢ s❡❣♠❡♥t s❡t✱ ♠❛② ✇❛♥t status ✜❡❧❞ ❛❧s♦✳
❙❚❇❘✿ ❙❡❣♠❡♥t✲❚❛❜❧❡ ❇❛s❡ ❘❡❣✐st❡r
❙❡❣♠❡♥t❛t✐♦♥
Pr♦❝❡ss♦r ❤❛s ❛ ❙❚❇❘ ❲❤❡♥ ❛ ♣r♦❝❡ss ✐s ❞✐s♣❛t❝❤❡❞✿ ❙❚❇❘ ← ♣❤②s ❛❞❞r ♦❢ t❤❡ ♣r♦❝❡ss✬s s❡❣♠❡♥t t❛❜❧❡ ■♥ ✉s❡r ♠♦❞❡✱ ♣r♦❝❡ss♦r ✉s❡s s❡❣♠❡♥t t❛❜❧❡ ♣♦✐♥t❡❞ t♦ ❜② ❙❚❇❘ r❡❢❡r t♦ t❤✐s t❛❜❧❡ ❛s ✏❙❚❇❘✳t❛❜❧❡✑ ✈✐rt✉❛❧ ❛❞❞r❡ss sn
- ffset
→ ♣❤②s✐❝❛❧ ❛❞❞r❡ss ❙❚❇❘✳t❛❜❧❡❬sn❪✳base ✰ offset ■♥ ❦❡r♥❡❧ ♠♦❞❡✱ ❙❚❇❘ ♥♦t ✉s❡❞✱ ✐❡✱ ♣❤②s✐❝❛❧ ❛❞❞r ❂ ✈✐rt✉❛❧ ❛❞❞r ❡❣✱ ❛❞❞✴❞❡❧t❡ ③❡r♦ ♠s❜✬s ❛s ♥❡❡❞❡❞
❆❞❞r❡ss ❚r❛♥s❧❛t✐♦♥ ✇✴♦ ❈❛❝❤❡✐♥❣
❙❡❣♠❡♥t❛t✐♦♥
■♥str✉❝t✐♦♥ ❣❡♥❡r❛t❡s ✈✐rt✉❛❧ ❛❞❞r segno
- ffset
✐♥ ✉s❡r ♠♦❞❡ Pr♦❝❡ss♦r ❞♦❡s ❢♦❧❧♦✇✐♥❣ sd ← ❙❚❇❘✳t❛❜❧❡❬segno❪ ✐❢ sd.valid = ✵ − → ✐♥✈❛❧✐❞✲s❡❣♠❡♥t ❡①❝❡♣t✐♦♥ ✐❢ sd.size < offset − → ♦✉t✲♦❢✲❜♦✉♥❞s ❡①❝❡♣t✐♦♥ ✐❢ sd.access ✈✐♦❧❛t❡❞ − → ✐♥✈❛❧✐❞✲❛❝❝❡ss ❡①❝❡♣t✐♦♥ phyaddr ← sd.base + offset ❛❝❝❡ss ♣❤②s✐❝❛❧ ♠❡♠♦r② ❧♦❝❛t✐♦♥ phyaddr ❯♣♦♥ ❡①❝❡♣t✐♦♥ ♣r♦❝❡ss♦r ❡♥t❡rs ❦❡r♥❡❧ ♠♦❞❡ ❡①❡❝✉t❡s ❡①❝❡♣t✐♦♥ ❤❛♥❞❧❡r ❘❡q✉✐r❡s ✷ ♠❡♠♦r② ❛❝❝❡ss❡s ❢♦r ❡✈❡r② ✈✐rt✉❛❧ ❛❞❞r❡ss ❖✈❡r❝♦♠❡ ✇✐t❤ ❝❛❝❤❡s ✐♥ t❤❡ ♣r♦❝❡ss♦r
❚▲❇ ❈❛❝❤❡✿ ❚r❛♥s❧❛t✐♦♥ ▲♦♦❦❛s✐❞❡ ❇✉✛❡r
❙❡❣♠❡♥t❛t✐♦♥
❚▲❇ ❝❛❝❤❡✿ ❤♦❧❞s ❛ ♣♦rt✐♦♥ ♦❢ t❤❡ ❝✉rr❡♥t s❡❣♠❡♥t t❛❜❧❡ valid ✭✶ ❜✐t✮ sn ✭s❡❣♠❡♥t #✮ base size access
- ❢♦r ❛♥ ❡♥tr② x ✇✐t❤ valid ❜✐t s❡t✿
❙❚❇❘✳t❛❜❧❡❬x.sn❪✳valid = ✶ ❛♥❞ x.[base, size, access] = ❙❚❇❘✳t❛❜❧❡❬x.sn❪ ❍✇ ✭s❡t✮ ❛ss♦❝✐❛t✐✈❡❧② s❡❛r❝❤❡s ♦♥ valid ❛♥❞ sn ✜❡❧❞s ❖❙ ❝❧❡❛rs ❛❧❧ valid ❜✐ts ✇❤❡♥ ❛ ♣r♦❝❡ss ✐s ❞✐s♣❛t❝❤❡❞ ✉♥❧❡ss ❚▲❇ ❛❧s♦ ❤❛s ❛ pid ✜❡❧❞
/ / ❛ss♦❝✐❛t✐✈❡❧② s❡❛r❝❤❡❞
❚▲❇✬s valid ❜✐t ✐s ♥♦t t❤❡ s❛♠❡ s❡❣♠❡♥t t❛❜❧❡✬s valid ❜✐t
❆❞❞r❡ss ❚r❛♥s❧❛t✐♦♥ ✇✐t❤ ❚▲❇
❙❡❣♠❡♥t❛t✐♦♥
Pr♦❝❡ss♦r ❣❡♥❡r❛t❡s ✈✐rt✉❛❧ ❛❞❞r❡ss segno✿offset ■❢ ❚▲❇ ❞♦❡s ♥♦t ❤❛✈❡ valid✲segno ❡♥tr②
/ / ❚▲❇ ♠✐ss
✐❢ ❙❚❇❘✳t❛❜❧❡❬segno❪✳valid = ✵ − → ✐♥✈❛❧✐❞✲s❡❣♠❡♥t ❡①❝❡♣t✐♦♥ ❝r❡❛t❡ ❛ valid✲segno ❚▲❇ ❡♥tr② ❢r♦♠ ❙❚❇❘✳t❛❜❧❡❬segno❪ ✐❢ ❚▲❇ ✇❛s ❢✉❧❧✱ ♦✈❡r✇r✐t❡ ❛♥ ❡♥tr② ▲❡t x ❜❡ valid✲segno ❚▲❇ ❡♥tr②
/ / ❚▲❇ ❤✐t
✐❢ ❛❝❝❡ss ✐♥✈❛❧✐❞ ✇rt x.access − → ✐♥✈❛❧✐❞✲❛❝❝❡ss ❡①❝❡♣t✐♦♥ ✐❢ offset > x.size − → ♦✉t✲♦❢✲❜♦✉♥❞s ❡①❝❡♣t✐♦♥ physaddr ← x.base + offset ❛❝❝❡ss ♣❤②s✐❝❛❧ ♠❡♠♦r② ❧♦❝❛t✐♦♥ physaddr ❈❛❝❤❡ r❡♣❧❛❝❡♠❡♥t ♣♦❧✐❝②✿ ❢❛st✱ ❝r✉❞❡ ✐❢ ♥❡❡❞❡❞ ❋■❋❖✱ r❛♥❞♦♠✱ ▲❘❯ ❛♣♣r♦①✱ ✳✳✳
▼♦r❡ ❈❛❝❤❡s
❙❡❣♠❡♥t❛t✐♦♥
❚▲❇ ✐s ♥♦t t❤❡ ♦♥❧② ❝❛❝❤❡ ✐♥ t❤❡ ♣r♦❝❡ss♦r P❤②s✐❝❛❧ ♠❡♠♦r② ❝❛❝❤❡✿ ❤♦❧❞s ❛ ♣♦rt✐♦♥ ♦❢ ♣❤②s✐❝❛❧ ♠❡♠♦r② ♠❡♠♦r② ✐s ❞✐✈✐❞❡❞ ✐♥t♦ ✭s♠❛❧❧✲s✐③❡❞✮ ❜❧♦❝❦s valid ✭✶ ❜✐t✮ pa ✭♣❤②s ❛❞❞r✮ data ✭♦❢ ❜❧♦❝❦ pa✮
- ✭s❡t✮ ❛ss♦❝✐❛t✐✈❡❧② s❡❛r❝❤❡❞ ♦♥ valid ❛♥❞ pa ✜❡❧❞s
❱✐rt✉❛❧ ♠❡♠♦r② ❝❛❝❤❡✿ ❤♦❧❞s ❛ ♣♦rt✐♦♥ ♦❢ ✈✐rt✉❛❧ ♠❡♠♦r② ❈❛❝❤❡ ❛❝❝❡ss ♦r❞❡r✿ ✈✐rt✉❛❧ ♠❡♠ → ❚▲❇ → ♣❤②s ♠❡♠ ▼✉❧t✐♣❧❡ ❧❡✈❡❧s ♦❢ ❝❛❝❤❡s
❖✉t❧✐♥❡
P❛❣✐♥❣
❖✈❡r✈✐❡✇ ❙❡❣♠❡♥t❛t✐♦♥ ◆♦♥✲❞❡♠❛♥❞ P❛❣✐♥❣ ❉❡♠❛♥❞ P❛❣✐♥❣ P❛❣❡❞✲❙❡❣♠❡♥t❛t✐♦♥ ❙♣❛rs❡ ❱✐rt✉❛❧ ❙♣❛❝❡ ■❆✲✸✷✿ ①✽✻ ✕ ✸✷✲❜✐t
P❛❣✐♥❣✿ ❖✈❡r✈✐❡✇ ✕ ✶
P❛❣✐♥❣
❱✐rt✉❛❧ s♣❛❝❡ ✐s ❧✐♥❡❛r ✭♥♦t s❡❣♠❡♥t❡❞✮ ❱✐rt✉❛❧ s♣❛❝❡ ❛♥❞ ♣❤②s✐❝❛❧ ♠❡♠♦r② ❞✐✈✐❞❡❞ ✐♥t♦ ♣❛❣❡s ❱✐rt✉❛❧ ❛❞❞r✿ ✈✐rt✉❛❧ ♣❛❣❡ # ♦✛s❡t m✲❜✐t n✲❜✐t P❤②s✐❝❛❧ ❛❞❞r✿ ♣❤②s✐❝❛❧ ♣❛❣❡ # ♦✛s❡t p✲❜✐t n✲❜✐t ✈✐rt✉❛❧ ♣❛❣❡# r❛♥❣❡✿ ✵, · · · , ✷m − ✶ ♣❤②s✐❝❛❧ ♣❛❣❡# r❛♥❣❡✿ ✵, · · · , ✷p − ✶ ♣❛❣❡ s✐③❡✿ ✷n ❜②t❡s
P❛❣✐♥❣✿ ❖✈❡r✈✐❡✇ ✕ ✷
P❛❣✐♥❣
Pr♦❣r❛♠ s♣❛❝❡ ❝♦♥s✐sts ♦❢ ✈✐rt✉❛❧ ♣❛❣❡ r❛♥❣❡s ❡❣✱ ✵✕✶✵✵✵✿ ❝♦❞❡❀ ✷✵✵✵✕✹✵✵✵✿ ❞❛t❛❀ ✼✵✵✵✕✾✵✵✵✿ st❛❝❦❀ ✳✳✳ ❡❛❝❤ ♣❛❣❡ ❤❛s ❛❝❝❡ss ❛ttr✐❜✉t❡s ✭r✱ r✴✇✱ ✳✳✳✮ ❱✐rt✉❛❧ ♣❛❣❡s ❛r❡ ♠❛♣♣❡❞ t♦ ♣❤②s✐❝❛❧ ♣❛❣❡s ❆❧❧ ✈✐rt✉❛❧ ♣❛❣❡s ♦❢ ❛♥ ❛❝t✐✈❡ ♣r♦❝❡ss ❛r❡ ♠❛♣♣❡❞
/ / ❢♦r ♥♦✇
P❛❣✐♥❣ ✐♥❝r❡❛s❡s ♣❤②s✐❝❛❧ ♠❡♠♦r② ✉t✐❧✐③❛t✐♦♥ ■♥t❡r♥❛❧ ❢r❛❣♠❡♥t❛t✐♦♥✿ ✇❛st❡❞ s♣❛❝❡ ✐♥s✐❞❡ ♣❛❣❡ ✉s✉❛❧❧② ✐♥ t❤❡ ❧❛st ♣❛❣❡ ♦❢ ❛ ♣r♦❣r❛♠ ✏s❡❣♠❡♥t✑ ❧❡ss ✇❛st❡❢✉❧ t❤❛♥ ❡①t❡r♥❛❧ ❢r❛❣♠❡♥t❛t✐♦♥ ✭❜❡t✇❡❡♥ s❡❣♠❡♥ts✮
P❛❣❡ ❚❛❜❧❡
P❛❣✐♥❣
❊❛❝❤ ♣r♦❝❡ss ❤❛s ❛ ♣❛❣❡ t❛❜❧❡ ✐♥ ♠❡♠♦r②
/ / ♣❛rt ♦❢ P❈❇
vpn valid ppn access ✭✈✐rt✉❛❧ ♣❛❣❡#✮ ✭✶ ❜✐t✮ ✭♣❤②s✐❝❛❧ ♣❛❣❡✮ # ✭r✱ r✴✇✱ ✳✳✳✮ ✵ ✶
- ❈r❡❛t❡❞ ✇❤❡♥ ♣r♦❝❡ss ✐s ❧♦❛❞❡❞
❘♦✇ ❢♦r ❡✈❡r② j ✐♥ {✵, · · · , ✷m − ✶}
/ / ❞❡s❝r✐♣t♦r ♦❢ j
valid ✭✶ ❜✐t✮✿ ✶ ✐✛ ♣r♦❝❡ss ❤❛s ♣❛❣❡ j ppn✿ ♣❤②s✐❝❛❧ ♣❛❣❡ # ✇❤❡r❡ j ✐s ♠❛♣♣❡❞ ✭✐❢ valid = ✶✮ access✿ ❛❧❧♦✇❡❞ ❛❝❝❡ss t♦ ♣❛❣❡ j ▲❛②♦✉t ✜①❡❞ ❜② ❤❛r❞✇❛r❡
P❚❇❘✿ P❛❣❡✲❚❛❜❧❡ ❇❛s❡ ❘❡❣✐st❡r
P❛❣✐♥❣
Pr♦❝❡ss♦r ❤❛s ❛ P❚❇❘ ❲❤❡♥ ❛ ♣r♦❝❡ss ✐s ❞✐s♣❛t❝❤❡❞✿ P❚❇❘ ← ♣❤②s ❛❞❞r ♦❢ t❤❡ ♣r♦❝❡ss✬s ♣❛❣❡ t❛❜❧❡ ■♥ ✉s❡r ♠♦❞❡✱ ♣r♦❝❡ss♦r ✉s❡s ♣❛❣❡ t❛❜❧❡ ♣♦✐♥t❡❞ t♦ ❜② P❚❇❘ r❡❢❡r t♦ t❤✐s t❛❜❧❡ ❛s ✏P❚❇❘✳t❛❜❧❡✑ ✈✐rt✉❛❧ ❛❞❞r❡ss vpn
- ffset
→ ♣❤②s✐❝❛❧ ❛❞❞r❡ss P❚❇❘✳t❛❜❧❡❬vpn❪✳ppn
- ffset
■♥ ❦❡r♥❡❧ ♠♦❞❡✱ ♣❛❣✐♥❣ ♦♣t✐♦♥❛❧ ♥♦ ♣❛❣✐♥❣✿ ♣❤②s✐❝❛❧ ❛❞❞r ❂ ✈✐rt✉❛❧ ❛❞❞r
❆❞❞r❡ss ❚r❛♥s❧❛t✐♦♥ ✇✴♦ ❈❛❝❤❡✐♥❣
P❛❣✐♥❣
■♥str✉❝t✐♦♥ ❣❡♥❡r❛t❡s ✈✐rt✉❛❧ ❛❞❞r vpn
- ffset
✐♥ ✉s❡r ♠♦❞❡ Pr♦❝❡ss♦r ❞♦❡s ❢♦❧❧♦✇✐♥❣ pd ← P❚❇❘✳t❛❜❧❡❬vpn❪ ✐❢ pd.valid = ✵ − → ✐♥✈❛❧✐❞✲♣❛❣❡ ❡①❝❡♣t✐♦♥ ✐❢ pd.access ✈✐♦❧❛t❡❞ − → ✐♥✈❛❧✐❞✲❛❝❝❡ss ❡①❝❡♣t✐♦♥ phyaddr ← sd.ppn
- ffset
❛❝❝❡ss ♣❤②s✐❝❛❧ ♠❡♠♦r② ❧♦❝❛t✐♦♥ phyaddr ❯♣♦♥ ❡①❝❡♣t✐♦♥ ♣r♦❝❡ss♦r ❡♥t❡rs ❦❡r♥❡❧ ♠♦❞❡ ❡①❡❝✉t❡s ❡①❝❡♣t✐♦♥ ❤❛♥❞❧❡r ❘❡q✉✐r❡s ✷ ♠❡♠♦r② ❛❝❝❡ss❡s ❢♦r ❡✈❡r② ✈✐rt✉❛❧ ❛❞❞r❡ss ❖✈❡r❝♦♠❡ ✇✐t❤ ❝❛❝❤❡s ✐♥ t❤❡ ♣r♦❝❡ss♦r
❚▲❇
P❛❣✐♥❣
❚▲❇ ❝❛❝❤❡✿ ❤♦❧❞s ❛ ♣♦rt✐♦♥ ♦❢ t❤❡ ❝✉rr❡♥t ♣❛❣❡ t❛❜❧❡ valid vpn ✭✈✐rt✉❛❧ ♣❛❣❡ #✮ ppn ✭♣❤②s ♣❛❣❡ #✮ access
- ❢♦r ❛♥ ❡♥tr② x ✇✐t❤ valid ❜✐t s❡t✿
P❚❇❘✳t❛❜❧❡❬x.vpn❪✳valid = ✶ ❛♥❞ x.[ppn, access] ❡q✉❛❧s P❚❇❘✳t❛❜❧❡❬x.vpn.[ppn, access]❪ ❍✇ ✭s❡t✮ ❛ss♦❝✐❛t✐✈❡❧② s❡❛r❝❤❡s ♦♥ valid ❛♥❞ vpn ✜❡❧❞s ❖❙ ❝❧❡❛rs ❛❧❧ valid ❜✐ts ✇❤❡♥ ❛ ♣r♦❝❡ss ✐s ❞✐s♣❛t❝❤❡❞ ✉♥❧❡ss ❚▲❇ ❛❧s♦ ❤❛s ❛ pid ✜❡❧❞
/ / ❛ss♦❝✐❛t✐✈❡❧② s❡❛r❝❤❡❞
❆❞❞r❡ss ❚r❛♥s❧❛t✐♦♥ ✇✐t❤ ❚▲❇
P❛❣✐♥❣
Pr♦❝❡ss♦r ❣❡♥❡r❛t❡s ✈✐rt✉❛❧ ❛❞❞r❡ss vpn
- ffset
■❢ ❚▲❇ ❞♦❡s ♥♦t ❤❛✈❡ valid✲vpn ❡♥tr②
/ / ❚▲❇ ♠✐ss
✐❢ P❚❇❘✳t❛❜❧❡❬vpn❪✳valid = ✵ − → ✐♥✈❛❧✐❞✲♣❛❣❡ ❡①❝❡♣t✐♦♥ ❝r❡❛t❡ ❛ valid✲vpn ❚▲❇ ❡♥tr② ❢r♦♠ P❚❇❘✳t❛❜❧❡❬vpn❪ ✐❢ ❚▲❇ ✇❛s ❢✉❧❧✱ ♦✈❡r✇r✐t❡ ❛♥ ❡♥tr② ▲❡t x ❜❡ valid✲vpn ❚▲❇ ❡♥tr②
/ / ❚▲❇ ❤✐t
✐❢ ❛❝❝❡ss ✐♥✈❛❧✐❞ ✇rt x.access − → ✐♥✈❛❧✐❞✲❛❝❝❡ss ❡①❝❡♣t✐♦♥ physaddr ← x.ppn
- ffset
❛❝❝❡ss ♣❤②s✐❝❛❧ ♠❡♠♦r② ❧♦❝❛t✐♦♥ physaddr ■♥t❡r❛❝t✐♦♥ ✇✐t❤ ♣❤②s✐❝❛❧✲♠❡♠♦r② ❛♥❞ ✈✐rt✉❛❧✲♠❡♠♦r② ❝❛❝❤❡s
❖✉t❧✐♥❡
❉❡♠❛♥❞ ♣❛❣✐♥❣
❖✈❡r✈✐❡✇ ❙❡❣♠❡♥t❛t✐♦♥ ◆♦♥✲❞❡♠❛♥❞ P❛❣✐♥❣ ❉❡♠❛♥❞ P❛❣✐♥❣ P❛❣❡❞✲❙❡❣♠❡♥t❛t✐♦♥ ❙♣❛rs❡ ❱✐rt✉❛❧ ❙♣❛❝❡ ■❆✲✸✷✿ ①✽✻ ✕ ✸✷✲❜✐t
❉❡♠❛♥❞✲P❛❣✐♥❣✿ ❖✈❡r✈✐❡✇ ✕ ✶
❉❡♠❛♥❞ ♣❛❣✐♥❣
P❛❣✐♥❣ ✇✐t❤ ✈✐rt✉❛❧ ♣❛❣❡s ♠❛♣♣❡❞ t♦ ♣❤②s✐❝❛❧ ♠❡♠♦r② ❛s ♥❡❡❞❡❞ ❍❡♥❝❡ ❝❛♥ ❡①♣❧♦✐t s♣❛t✐❛❧ ❧♦❝❛❧✐t② ✐♥ ♣r♦❣r❛♠s t♦ ♣r♦✈✐❞❡ ✈✐rt✉❛❧ s♣❛❝❡ ❣r❡❛t❡r t❤❛♥ ♣❤②s✐❝❛❧ ♠❡♠♦r② s✐③❡ ♠♦r❡ ♣r♦❝❡ss❡s s✐♠✉❧t❛♥❡♦✉s❧② ❛❝t✐✈❡ P❛❣❡ ❢❛✉❧t ❡①❝❡♣t✐♦♥ ❣❡♥❡r❛t❡❞ ❜② ❛❝❝❡ss t♦ ✈✐rt✉❛❧ ♣❛❣❡ ♥♦t ✐♥ ♠❡♠♦r② ✭❜✉t ✐♥ ❞✐s❦✮ ❤✇ ✉♥❞♦❡s ❛♥② ♣❛rt✐❛❧ ❡✛❡❝ts ♦❢ ♣❛❣❡✲❢❛✉❧t✐♥❣ ✐♥str✉❝t✐♦♥ ❢❛✉❧t✐♥❣ ✈✐rt✉❛❧ ❛❞❞r s❛✈❡❞ ✐♥ ❛ s♣❡❝✐✜❡❞ ♣❧❛❝❡ P❛❣❡ ❢❛✉❧t ❤❛♥❞❧❡r✿ ❜r✐♥❣ ✐♥ ✈✐rt✉❛❧ ♣❛❣❡ t♦ ♣❤②s✐❝❛❧ ♠❡♠♦r② ✐❢ ♥♦ ♣❤②s✐❝❛❧ ♣❛❣❡ ✐s ❢r❡❡✱ ❡✈✐❝t ❛ ✈✐rt✉❛❧ ♣❛❣❡ ✐♥ ♠❡♠♦r② ✐❢ t❤❡ ❡✈✐❝t❡❞ ✈✐rt✉❛❧ ♣❛❣❡ ✐s ❞✐rt②✱ ✇r✐t❡ ✐t ❜❛❝❦ t♦ ❞✐s❦
❉❡♠❛♥❞✲P❛❣✐♥❣✿ ❖✈❡r✈✐❡✇ ✕ ✷
❉❡♠❛♥❞ ♣❛❣✐♥❣
P❛❣❡ r❡♣❧❛❝❡♠❡♥t ♣♦❧✐❝②✿ ✇❤✐❝❤ ✈✐rt✉❛❧ ♣❛❣❡ t♦ ❡✈✐❝t ✇❤❡♥ ❢r❡❡ ♣❤②s✐❝❛❧ ♣❛❣❡ ♥❡❡❞❡❞ ❣♦❛❧✿ ♠✐♥✐♠✐③❡ ♣❛❣❡ ❢❛✉❧ts ✭t♦ ♠❛①✐♠✐③❡ ❝♣✉ ✉t✐❧✐③❛t✐♦♥✮ ♠❛✐♥t❛✐♥ ✏✉s❛❣❡✑ ✐♥❢♦ ❢♦r ♣❤②s✐❝❛❧ ♣❛❣❡s ❡❣✱ ♦r❞❡r ♦❢ ❧❛st ❛❧❧♦❝❛t✐♦♥
/ / s✇✲♦♥❧②
❡❣✱ ♦r❞❡r ♦❢ ❧❡❛st r❡❝❡♥t❧② ❛❝❝❡ss❡❞
/ / ❤✇✲s✇
♣❡r ♣r♦❝❡ss ✭❧♦❝❛❧✮ ♦r ❛❝r♦ss ❛❧❧ ♣r♦❝❡ss❡s ✭❣❧♦❜❛❧✮ ♠❛✐♥t❛✐♥ ❞✐rt② ❜✐t ♣❡r ♣❤②s✐❝❛❧ ♣❛❣❡ ✐♥ ♠❡♠♦r②
/ / ❤✇✲s✇
s❡t ✐✛ ✐ts ✈♣❛❣❡ ❤❛s ❝❤❛♥❣❡❞ ❢r♦♠ ♦♥✲❞✐s❦ ❝♦♣② ❡✈✐❝t ♣❛❣❡ ❜❛s❡❞ ♦♥ ✉s❛❣❡ ❛♥❞ ❞✐rt② ❧♦❝❛❧ ♦r ❣❧♦❜❛❧
P❛❣❡ ❚❛❜❧❡
❉❡♠❛♥❞ ♣❛❣✐♥❣
P❛❣❡ t❛❜❧❡ ♣❡r ♣r♦❝❡ss vpn valid ppn access dirty hw✲usage ✵
- ❘♦✇ ❢♦r ❡✈❡r② ♣♦ss✐❜❧❡ ✈✐rt✉❛❧ ♣❛❣❡ ♥✉♠❜❡r j
/ / ❛s ❜❡❢♦r❡
valid ✭✶ ❜✐t✮✿ ✶ ✐✛ ♣❛❣❡ j ✐♥ ♠❡♠♦r② ✵✿ ♣❛❣❡ j ✐♥ ❞✐s❦ ♦r ❞♦❡s ♥♦t ❡①✐st ppn✿ ♣❤②s✐❝❛❧ ♣❛❣❡ ♥✉♠❜❡r
/ / ❛s ❜❡❢♦r❡
access✿ r✱ ✇✱ ①✱ ✳✳✳
/ / ❛s ❜❡❢♦r❡
dirty ✭✶ ❜✐t✮✿ ✶ ✐✛ ♣❛❣❡ j ❤❛s ❝❤❛♥❣❡❞ ❢r♦♠ ❞✐s❦ hw✲usage✿ ❤✇✲❛❝❝❡ss❡❞ ✉s❛❣❡ ✐♥❢♦✱ ✐❢ ❛♥② t②♣✐❝❛❧❧②✱ r❡❢❡r❡♥❝❡❞ ❜✐t✿ s❡t t♦ ✶ ✇❤❡♥ ❤✇ ❛❝❝❡ss❡s j
❆❞❞✐t✐♦♥❛❧ st❛t❡ ♠❛✐♥t❛✐♥❡❞ ❜② ❖❙
❉❡♠❛♥❞ ♣❛❣✐♥❣
❋♦r ❡❛❝❤ ♣r♦❝❡ss✿ ✈❛❧✐❞ ✈♣❛❣❡ ♥✉♠❜❡rs ❛♥❞ t❤❡✐r ❞✐s❦ ❧♦❝❛t✐♦♥s ❝❛♥ ❜❡ ❦❡♣t ✐♥ ♣❛❣❡ t❛❜❧❡✱ ✐❢ ❤✇ ❛❧❧♦✇s ▲✐st ♦❢ ❢r❡❡ ♣❤②s✐❝❛❧ ♣❛❣❡s ❙✇✲❛❝❝❡ss❡❞ ✉s❛❣❡ ✐♥❢♦ ❢♦r ❛❧❧♦❝❛t❡❞ ♣❤②s✐❝❛❧ ♣❛❣❡s ❡❣✱ ♦r❞❡r ♦❢ ❧❛st ❛❧❧♦❝❛t✐♦♥ ✐❢ ✐♥❢♦ ♣❡r ♣r♦❝❡ss✱ ❝❛♥ ❜❡ ❦❡♣t ✐♥ ♣❛❣❡ t❛❜❧❡ ✭✐❢ ❤✇ ❛❧❧♦✇s✮ ❋♦r ❡❛❝❤ s❤❛r❡❞ ♣❤② ♣❛❣❡✿ ❧✐♥❦s t♦ ✈♣❛❣❡ ❡♥tr✐❡s ✭✐♥ ♣❛❣❡ t❛❜❧❡s✮ ❈♦r❡ ♠❛♣✿ ♣❤② ♣❛❣❡s − → ❣❧♦❜❛❧ ✉s❛❣❡ ✐♥❢♦✱ s❤❛r❡❞ ✈♣❛❣❡s
P❚❇❘ ❛♥❞ ❚▲❇
❉❡♠❛♥❞ ♣❛❣✐♥❣
Pr♦❝❡ss♦r ✉s❡s P❚❇❘ ✐♥ ✉s❡r ♠♦❞❡ vpn
- ffset
→ P❚❇❘✳t❛❜❧❡❬vpn❪✳ppn
- ffset
Pr♦❝❡ss♦r ❤❛s ❚▲❇ valid vpn ppn access dirty hw✲usage
- hw✲usage✿ ✐❢ ♣r❡s❡♥t ✐♥ ♣❛❣❡ t❛❜❧❡
✇❤❡♥ ❡♥tr② x ✐s ❡✈✐❝t❡❞ P❚❇❘✳t❛❜❧❡❬x.vpn❪ ✳ dirty✴hw✲usage ← x . dirty✴hw✲usage
❆❞❞r❡ss ❚r❛♥s❧❛t✐♦♥ ✭✇✐t❤ ❚▲❇✮
❉❡♠❛♥❞ ♣❛❣✐♥❣
Pr♦❝❡ss♦r ❣❡♥❡r❛t❡s ✈✐rt✉❛❧ ❛❞❞r❡ss vpn
- ffset
✐♥ ✉s❡r ♠♦❞❡ ■❢ ❚▲❇ ❞♦❡s ♥♦t ❤❛✈❡ valid✲vpn ❡♥tr②
/ / ❚▲❇ ♠✐ss
❧❡t pd ❜❡ P❚❇❘✳t❛❜❧❡❬vpn❪ ✐❢ pd.valid = ✵ − → ♣❛❣❡✲❢❛✉❧t✴✐♥✈❛❧✐❞✲♣❛❣❡ ❡①❝❡♣t✐♦♥ ❝r❡❛t❡ ❛ valid✲vpn ❚▲❇ ❡♥tr② ❢r♦♠ pd ✐❢ ❚▲❇ ✇❛s ❢✉❧❧✱ r❡♣❧❛❝❡ ❛♥ ❡♥tr② ❛♥❞ ♦✈❡r✇r✐t❡ ✐t ▲❡t x ❜❡ valid✲vpn ❚▲❇ ❡♥tr②
/ / ❚▲❇ ❤✐t
✐❢ ❛❝❝❡ss ✐♥✈❛❧✐❞ ✇rt x.access − → ✐♥✈❛❧✐❞✲❛❝❝❡ss ❡①❝❡♣t✐♦♥ physaddr ← x.ppn
- ffset
❛❝❝❡ss ♣❤②s✐❝❛❧ ♠❡♠♦r② ❧♦❝❛t✐♦♥ physaddr
❖❙ ❛❝t✐✈✐t✐❡s
❉❡♠❛♥❞ ♣❛❣✐♥❣
❍❛♥❞❧✐♥❣ ♣❛❣❡✲❢❛✉❧t ❢♦r ✈✐rt✉❛❧ ♣❛❣❡ vpn ♦❢ ♣r♦❝❡ss P✿ s❛✈❡ st❛t❡ ♦❢ P ❛♥❞ ♠♦✈❡ ✐ts ♣❝❜ t♦ ✏♣❛❣❡✇❛✐t✑ q✉❡✉❡ ❣❡t ❛ ❢r❡❡ ♣❤②s✐❝❛❧ ♣❛❣❡ pp
/ / ♠❛② ❜❧♦❝❦
r❡❛❞ ✈♣❛❣❡ P.vpn ❢r♦♠ ❞✐s❦ ✐♥t♦ pp ✉♣❞❛t❡ P✬s ♣❛❣❡ t❛❜❧❡ ♠♦✈❡ P✬s ♣❝❜ t♦ r❡❛❞② q✉❡✉❡
- ❡♥❡r❛t✐♥❣ ❢r❡❡ ♣❛❣❡s
/ / ❡①❡❝✉t❡❞ ❛s②♥❝❤r♦♥♦✉s❧② ❛s ♥❡❡❞❡❞
s❡❧❡❝t ❛♥ ❛❧❧♦❝❛t❡❞ ♣❛❣❡ x t♦ ❢r❡❡
/ / ❢r♦♠ ✉s❛❣❡ ✐♥❢♦
♠❛r❦ x✬s ✈♣❛❣❡✭s✮ ❛s ✐♥✈❛❧✐❞
/ / ✐♥ ♣❛❣❡ t❛❜❧❡✭s✮
✐❢ x ✐s ❞✐rt②✱ ✇r✐t❡ x✬s ✈♣❛❣❡✭s✮ ❜❛❝❦ t♦ ❞✐s❦
/ / ♣❛❣❡ ❝❧❡❛♥✐♥❣
♠❛r❦ x ❛s ❢r❡❡ P❛❣❡ ❝❧❡❛♥✐♥❣ ❝❛♥ ❛❧s♦ ❜❡ ❞♦♥❡ ❛s②♥❝❤r♦♥♦✉s❧② ❛s ♥❡❡❞❡❞✿ s❡❧❡❝t ❛♥ ❛❧❧♦❝❛t❡❞ ❞✐rt② ♣❛❣❡✱ ✇r✐t❡ t♦ ❞✐s❦✱ ♠❛r❦ ❛s ❝❧❡❛♥
P❛❣❡ ❘❡♣❧❛❝❡♠❡♥t✿ ▲♦❝❛❧ ✈s ●❧♦❜❛❧
❉❡♠❛♥❞ ♣❛❣✐♥❣
▲♦❝❛❧ ❡❛❝❤ ♣r♦❝❡ss P ✐s ❣✐✈❡♥ ❛ s❡t ♦❢ ♣❤②s✐❝❛❧ ♣❛❣❡s✳ ❢r❡❡ ♣❛❣❡ ✐♥ t❤✐s s❡t ❝❛♥ ♦♥❧② ❣♦ t♦ P s♦ ♣❡r✲♣r♦❝❡ss ♣❛❣❡ ✉s❛❣❡ ✐♥❢♦ s✉✣❝❡s ❖❙ ♣❡r✐♦❞✐❝❛❧❧② ❛❞❥✉sts t❤❡ ♣❤② ♣❛❣❡ ❛❧❧♦❝❛t✐♦♥ ♠❛✐♥t❛✐♥s ❛ ♣❛❣❡✲❢❛✉❧t ✏r❛t❡✑ ❢♦r ❡❛❝❤ ♣r♦❝❡ss ❡❣✱ ✐♥✈❡rs❡ ♦❢ ❝♣✉✲t✐♠❡ ❜❡t✇❡❡♥ ❢❛✉❧ts ♥♦t ✉s❡❢✉❧✿ ✐♥✈❡rs❡ ♦❢ ✇❛❧❧❝❧♦❝❦✲t✐♠❡ ❜❡t✇❡❡♥ ❢❛✉❧ts ♠♦✈❡s ♣❛❣❡s ❢r♦♠ ❧♦✇✲r❛t❡ ♣r♦❝❡ss❡s t♦ ❤✐❣❤✲r❛t❡ ♣r♦❝❡ss❡s
- ❧♦❜❛❧
❛ ❢r❡❡ ♣❛❣❡ ❝❛♥ ❣♦ t♦ ❛♥② ♣r♦❝❡ss
/ / ♥❡❡❞ ❣❧♦❜❛❧ ✉s❛❣❡ ✐♥❢♦
♥♦ s❡♣❛r❛t❡ ♣❤② ♣❛❣❡ ❛❧❧♦❝❛t✐♦♥ ♣♦❧✐❝②
P❛❣❡ ❘❡♣❧❛❝❡♠❡♥t ❆❧❣♦r✐t❤♠s ✕ ✶
❉❡♠❛♥❞ ♣❛❣✐♥❣
❖❜❥❡❝t✐✈❡ ♠✐♥ ★ ♣❛❣❡ ❢❛✉❧ts ❣✐✈❡♥ r❡❢❡r❡♥❝❡ s❡q✈ ❛♥❞ s❡t ♦❢ ♣❤② ♣❛❣❡s ✐♠♣❧❡♠❡♥t❛❜❧❡ ✇✐t❤ ❛❝❝❡♣t❛❜❧② ❧♦✇ ♦✈❡r❤❡❛❞ ❈❛♥ ❜❡ ❛♣♣❧✐❡❞ ❧♦❝❛❧❧② ♦r ❣❧♦❜❛❧❧② ❖♣t✐♠❛❧✿ ❡✈✐❝t t❤❡ ♣❛❣❡ t❤❛t ✐s ✉s❡❞ ❢❛rt❤❡st ✐♥ t❤❡ ❢✉t✉r❡ ✉♥r❡❛❧✐③❛❜❧❡✱ ❡①❝❡♣t ✐♥ ✈❡r② ❝♦♥str❛✐♥❡❞ s✐t✉❛t✐♦♥s ✉s❡❢✉❧ ❛s ❛ st❛♥❞❛r❞ ❢♦r ❡✈❛❧✉❛t✐♥❣ ♦t❤❡r ♣♦❧✐❝✐❡s ▲❘❯✿ ❡✈✐❝t t❤❡ ♣❛❣❡ ♥♦t ❛❝❝❡ss❡❞ ❢♦r t❤❡ ❧♦♥❣❡st t✐♠❡ ✐♥ ♣❛st ✇♦r❦s ✇❡❧❧ ❜❡❝❛✉s❡ t❤❡ ❢✉t✉r❡ ✐s ✉s✉❛❧❧② ❧✐❦❡ t❤❡ ♣❛st ✉s❛❣❡ ✐♥❢♦✿ ♦r❞❡r ♣❛❣❡s ❜② ❧❛t❡st r❡❢❡r❡♥❝❡ ❤✇ ♥❡❡❞s t♦ ✉♣❞❛t❡ t❤❡ ♦r❞❡r ♦♥ ❡❛❝❤ ❛❝❝❡ss✿ ✐♠♣r❛❝t✐❝❛❧
P❛❣❡ ❘❡♣❧❛❝❡♠❡♥t ❆❧❣♦r✐t❤♠s ✕ ✷
❉❡♠❛♥❞ ♣❛❣✐♥❣
❋■❋❖✿ ❡✈✐❝t t❤❡ ♣❛❣❡ t❤❛t ✇❛s ♠❛♣♣❡❞ ✐♥ ❡❛r❧✐❡st ✉s❛❣❡ ✐♥❢♦✿ ♦r❞❡r ♣❛❣❡s ❜② ♠❛♣♣✐♥❣ t✐♠❡ ✉♣❞❛t❡ ♦♥❧② ✇❤❡♥ ♣❛❣❡ ✐s s✇❛♣♣❡❞ ✐♥✿ ❋■❋❖ ✰ ❙❡❝♦♥❞ ❈❤❛♥❝❡ ✭❛❧s♦ ❝❛❧❧❡❞ ✏❈❧♦❝❦✑✮ ❧✐❦❡ ❋■❋❖ ❜✉t ❛❧s♦ r❡q✉✐r❡s r❡❢❡r❡♥❝❡❞ ❜✐t R ✭❤✇✲✉s❛❣❡✮ ✐❢ ❤❡❛❞ ♣❛❣❡ ❤❛s R = ✵✱ ❢r❡❡ ♣❛❣❡ ✭❝❧❡❛♥ ✐❢ ♥❡❡❞❡❞✮ ✐❢ ❤❡❛❞ ♣❛❣❡ ❤❛s R = ✶✱ ③❡r♦ R ❛♥❞ ♠♦✈❡ ♣❛❣❡ t♦ t❛✐❧ ✏❝❧♦❝❦✑✿ ❤❛♥❞ ♠♦✈✐♥❣ ♦✈❡r ♣❛❣❡s ♦r❞❡r❡❞ ✐♥ ❛ ❝✐r❝❧❡ ❛t ❡❛❝❤ st❡♣✱ ❝✉rr❡♥t ♣❛❣❡ ✐s ♠❛❞❡ ❢r❡❡ ♦r ✐ts R ③❡r♦❡❞ ▲❘❯ ❛♣♣r♦①✐♠❛t✐♦♥
P❛❣❡ ❘❡♣❧❛❝❡♠❡♥t ❆❧❣♦r✐t❤♠s ✕ ✸
❉❡♠❛♥❞ ♣❛❣✐♥❣
❈❧♦❝❦ ✉s✐♥❣ r❡❢❡r❡♥❝❡❞ ❜✐t R ❛♥❞ ❞✐rt② ❜✐t D ✐❢ R, D = ✵, ✵✿ ❢r❡❡ ♣❛❣❡ ✐❢ R, D = ✵, ✶✿ ❝❧❡❛♥ ♣❛❣❡✱ R, D ← ✵, ✵ ✐❢ R, D = ✶, ✵✿ R, D ← ✵, ✵ ✐❢ R, D = ✶, ✶✿ R, D ← ✵, ✶ ❈❧♦❝❦ ✉s✐♥❣ r❡❢❡r❡♥❝❡❞ ❝♦✉♥t❡r R ✭> ✶ ❜✐t✮ ❤✇ ✐♥❝r❡♠❡♥ts R ❛t ❡❛❝❤ ❛❝❝❡ss ✉♥❧❡ss ❛❧r❡❛❞② ❛t ♠❛① ✐❢ R = ✵✿ ❢r❡❡ ♣❛❣❡ ✐❢ R > ✵✿ R ← R − ✶ ❝❧♦s❡r t♦ ▲❘❯ ❈❧♦❝❦ ✉s✐♥❣ r❡❢❡r❡♥❝❡❞ ❝♦✉♥t❡r R ✭> ✶ ❜✐t✮ ❛♥❞ ❞✐rt② ❜✐t D
❇❡❧❛❞②✬s ❆♥♦♠❛❧②
❉❡♠❛♥❞ ♣❛❣✐♥❣
■♥ ❋■❋❖✱ ♠♦r❡ ♠❡♠♦r② ♠❛② ❝❛✉s❡ ♠♦r❡ ♣❛❣❡ ❢❛✉❧ts
1 2 3 4 1 2 5 1 2 3 4 5 9 faults. f1 1 4 5
- f2
2 1
- 3
f3 3 2
- 4
1 2 3 4 1 2 5 1 2 3 4 5 10 faults f1 1
- 5
4 f2 2
- 1
5 f3 3 2 f4 4 3
▲❘❯ ✭❛♥❞ ♠♦st ♦t❤❡rs✮ ❞♦ ♥♦t s✉✛❡r ❢r♦♠ ❇❡❧❛❞②✬s ❛♥♦♠❛❧②
❲♦r❦✐♥❣ s❡t ♦❢ ❛ ♣r♦❝❡ss
❉❡♠❛♥❞ ♣❛❣✐♥❣
❆ ♣r♦❝❡ss ❡①✐❜✐ts ❧♦❝❛❧✐t② ♦❢ ♣❛❣❡ ❛❝❝❡ss❡s ♦✈❡r ✏s❤♦rt✑ t✐♠❡s ❲♦r❦✐♥❣ s❡t ❛t t✐♠❡ t✿ ✈✐rt✉❛❧ ♣❛❣❡s ❛❝❝❡ss❡❞ ✐♥ [t − δ, t] δ ≈ ❢❡✇ s❡❝♦♥❞s✴✶✵✺ ✐♥str✉❝t✐♦♥s t②♣✐❝❛❧✿ ✇♦r❦✐♥❣ s❡t st❛②s ✜①❡❞ ❢♦r s♦♠❡ t✐♠❡✱ t❤❡♥ ❝❤❛♥❣❡s ▲❡t W (t) ❜❡ t❤❡ s✐③❡ ♦❢ t❤❡ ✇♦r❦✐♥❣ s❡t ❛t t✐♠❡ t t②♣✐❝❛❧✿ W (t) ✐s ♠✉❝❤ ❧❡ss t❤❛♥ t❤❡ t♦t❛❧ ★ ✈✐rt✉❛❧ ♣❛❣❡s
# phys pages # instr executed between successive page faults W
❚❤r❛s❤✐♥❣
❉❡♠❛♥❞ ♣❛❣✐♥❣
❈♦♥s✐❞❡r P ♣❤②s✐❝❛❧ ♣❛❣❡s✱ N ✐❞❡♥t✐❝❛❧ ❝♣✉✲✐♥t❡♥s✐✈❡ ♣r♦❝❡ss❡s ❡❛❝❤ ♣r♦❝❡ss ❣❡ts P/N ♣❤②s✐❝❛❧ ♣❛❣❡s ❆s N ✐♥❝r❡❛s❡s t♦ P/W ✱ ❝♣✉ t❤r♦✉❣❤♣✉t ✐♥❝r❡❛s❡s ❆s N ✐♥❝r❡❛s❡s ❜❡②♦♥❞ P/W ✱ ❝♣✉ t❤r♦✉❣❤♣✉t ❞r♦♣s
/ / ❣♦♦❞♣✉t ❞r♦♣s ❡✈❡♥ ♠♦r❡
# active processes (# instrs / sec) cpu throughput P/W thrashing
❚♦ r❡❝♦✈❡r ❢r♦♠ t❤r❛s❤✐♥❣✱ s✉s♣❡♥❞ s♦♠❡ ♣r♦❝❡ss❡s
❖❜s❡r✈❛t✐♦♥s ✕ ✶
❉❡♠❛♥❞ ♣❛❣✐♥❣
❯♣♦♥ ❡①❝❡ss✐✈❡ t❤r❛s❤✐♥❣✱ ✇❤✐❝❤ ♣r♦❝❡ss t♦ ❦✐❧❧✴s✉s♣❡♥❞ ♦♥❡ ✇✐t❤ ♠♦st ♠❡♠♦r②✱ ♦♥❡ ❛s❦✐♥❣ ❢♦r ♠❡♠♦r②✱ ②♦✉♥❣❡st ♣r♦❝❡ss✱ ✳✳✳ ♣r♦❜❛❜❧② ♥♦t ♦❧❞❡st ♣r♦❝❡ss✿ ✐♥✐t ✭r♦♦t✮❀ ❣❞♠ ✭✉s❡r✮❀ ✳✳✳
malloc() ❢❛✐❧s✿ ♦✉t ♦❢ ✈✐rt✉❛❧ ♠❡♠♦r②✱ ♥♦t ♣❤②s✐❝❛❧ ♠❡♠♦r②
◆♦♥✲♣❛❣❡❛❜❧❡ ♣❛❣❡s P❛❣❡ t❛❜❧❡❄ ❈♦✉❧❞ s✇❛♣ ♦✉t ✐❢ ♣r♦❝❡ss ✐s s✉s♣❡♥❞❡❞ ❈✉rr❡♥t✴❛❝t✐✈❡ ♣❛❣❡ t❛❜❧❡s P❛❣❡s t❤❛t ❛♥ ■❖ ❛❞❛♣t❡r ✐s ❣♦✐♥❣ t♦ ✉s❡❦ ✭❉▼❆✮ ♣❡r♠❛♥❡♥t❧② ❛❧❧♦❝❛t❡❞✱ ❡❣✱ ❞✐s♣❧❛② ❧♦❝❦ t❤❡ ♣❛❣❡
❖❜s❡r✈❛t✐♦♥s ✕ ✷
❉❡♠❛♥❞ ♣❛❣✐♥❣
❚♦ ✐♠♣r♦✈❡ ❤❡❛♣ ❧♦❝❛❧✐t②✿ ♣r♦❣r❛♠ ♠❛❧❧♦❝s ❛ ❧❛r❣❡ ❝❤✉♥❦ ❛♥❞ ❞✐✈✐❞❡s ✐t ✐ts❡❧❢ ❍♦✇ ❧❛r❣❡ s❤♦✉❧❞ ❛ ♣❛❣❡ ❜❡❄ P❛❣❡ s✐③❡ ✈s ■❖ s✐③❡❄ P❛❣❡ t❤❡ ❑❡r♥❡❧❄ ▲❛r❣❡ s♣❛rs❡ ✈✐rt✉❛❧ ❛❞❞r❡ss s♣❛❝❡✿ ♠✉❧t✐✲❧❡✈❡❧ ♣❛❣✐♥❣✱ ✐♥✈❡rt❡❞ ♣❛❣❡ t❛❜❧❡
❖✉t❧✐♥❡
❙❡❣ ✰ ♣❛❣✐♥❣
❖✈❡r✈✐❡✇ ❙❡❣♠❡♥t❛t✐♦♥ ◆♦♥✲❞❡♠❛♥❞ P❛❣✐♥❣ ❉❡♠❛♥❞ P❛❣✐♥❣ P❛❣❡❞✲❙❡❣♠❡♥t❛t✐♦♥ ❙♣❛rs❡ ❱✐rt✉❛❧ ❙♣❛❝❡ ■❆✲✸✷✿ ①✽✻ ✕ ✸✷✲❜✐t
❙❡❣♠❡♥t❛t✐♦♥ ✰ P❛❣✐♥❣✿ ❖✈❡r✈✐❡✇ ✕ ✶
❙❡❣ ✰ ♣❛❣✐♥❣
❱✐rt✉❛❧ s♣❛❝❡ ✐s s❡❣♠❡♥t❡❞ ❙❡❣♠❡♥ts ❛♥❞ ♣❤②s✐❝❛❧ ♠❡♠♦r② ✐s ♣❛❣❡❞ ❱✐rt✉❛❧ ❛❞❞r✿ s❡❣ # ✈✐rt✉❛❧ ♣❛❣❡ # ♦✛s❡t s✲❜✐t m✲❜✐t n✲❜✐t P❤②s✐❝❛❧ ❛❞❞r✿ ♣❤②s✐❝❛❧ ♣❛❣❡ # ♦✛s❡t p✲❜✐t n✲❜✐t
❙❡❣♠❡♥t ❛♥❞ P❛❣❡ ❚❛❜❧❡s
❙❡❣ ✰ ♣❛❣✐♥❣
❊❛❝❤ ♣r♦❝❡ss ❤❛s ❛ s❡❣♠❡♥t t❛❜❧❡ ✐♥ ♠❡♠♦r② ❋♦r ❡❛❝❤ ✈❛❧✐❞ s❡❣♠❡♥t✱ t❤❡r❡ ✐s ❛ ♣❛❣❡ t❛❜❧❡ ✐♥ ♠❡♠♦r② ❙❡❣♠❡♥t t❛❜❧❡ ❡♥tr② ❛s ❜❡❢♦r❡ ❡①❝❡♣t base ❝♦♥t❛✐♥s ♣❤②s✐❝❛❧ ❛❞❞r❡ss ♦❢ ❛ss♦❝✐❛t❡❞ ♣❛❣❡ t❛❜❧❡ P❛❣❡ t❛❜❧❡ ❛s ✐♥ ❞❡♠❛♥❞✲♣❛❣✐♥❣ Pr♦❝❡ss♦r ❙❚❇❘✿ ♣♦✐♥ts t♦ s❡❣♠❡♥t t❛❜❧❡ ♦❢ r✉♥♥✐♥❣ ♣r♦❝❡ss Pr♦❝❡ss♦r ❚▲❇✿ ❡❛❝❤ ❡♥tr② ❤❛s s❡❣♠❡♥t✲ ❛♥❞ ♣❛❣❡✲r❡❧❛t❡❞ ✜❡❧❞s valid s❡❣♠❡♥t # ✈✐rt✉❛❧ ♣❛❣❡ # ♣❤②s ♣❛❣❡ # access
❖✉t❧✐♥❡
❙♣❛rs❡ ❱✐rt✉❛❧ ❙♣❛❝❡
❖✈❡r✈✐❡✇ ❙❡❣♠❡♥t❛t✐♦♥ ◆♦♥✲❞❡♠❛♥❞ P❛❣✐♥❣ ❉❡♠❛♥❞ P❛❣✐♥❣ P❛❣❡❞✲❙❡❣♠❡♥t❛t✐♦♥ ❙♣❛rs❡ ❱✐rt✉❛❧ ❙♣❛❝❡ ■❆✲✸✷✿ ①✽✻ ✕ ✸✷✲❜✐t
❙♣❛rs❡ ❱✐rt✉❛❧ ❙♣❛❝❡
❙♣❛rs❡ ❱✐rt✉❛❧ ❙♣❛❝❡
▲❛r❣❡ ✈✐rt✉❛❧ ❛❞❞r❡ss s✐③❡ ⇒ ✐♥❢❡❛s✐❜❧② ❧❛r❣❡ ♣❛❣❡ t❛❜❧❡s ✸✷✲❜✐t ✈✐rt✉❛❧ ❛❞❞r✱ ✹❑❇ ♣❛❣❡ ⇒ ✷✸✷/✷✶✷ = ✷✷✵ = ✶▼ ❡♥tr✐❡s ♣❡r ♣❛❣❡ t❛❜❧❡ ✻✹✲❜✐t ✈✐rt✉❛❧ ❛❞❞r❡ss✱ ✹❑❇ ♣❛❣❡s ⇒ ✷✻✹/✷✶✷ = ✷✺✷ = ✶ ● × ✶ ▼ ❡♥tr✐❡s ✐♥ ♣❛❣❡ t❛❜❧❡ ✻✹✲❜✐t ✈✐rt✉❛❧ ❛❞❞r❡ss✱ ✹▼❇ ♣❛❣❡s ⇒ ✷✻✹/✷✷✷ = ✷✹✷ = ✶ ● × ✶ ❑ ❡♥tr✐❡s ✐♥ ♣❛❣❡ t❛❜❧❡ ❙♦❧✉t✐♦♥s ▲❛r❣❡ ♦r ✈❛r✐❛❜❧❡✲s✐③❡ ♣❛❣❡s ▼✉❧t✐✲❧❡✈❡❧ ♣❛❣✐♥❣ ■♥✈❡rt❡❞ ♣❛❣❡ t❛❜❧❡s ✭❍❛s❤✐♥❣✮
❚✇♦✲❧❡✈❡❧ P❛❣✐♥❣
❙♣❛rs❡ ❱✐rt✉❛❧ ❙♣❛❝❡
❱✐rt✉❛❧ ❛❞❞r✿ ✈♣♥✶ # ✈♣♥✷ # ♦✛s❡t P❤②s✐❝❛❧ ❛❞❞r✿ ♣❤②s✐❝❛❧ ♣❛❣❡ # ♦✛s❡t
vpn2 physical page level−2 page table level−1 page table vpn1
- ffset
■♥ ❣❡♥❡r❛❧✱ ❧❡✈❡❧ j + ✶ ♣❛❣❡ t❛❜❧❡ ♥❡❡❞❡❞ ♦♥❧② ❢♦r ✈❛❧✐❞ ❧❡✈❡❧ j ❡♥tr②
■♥✈❡rt❡❞ P❛❣❡ ❚❛❜❧❡s
❙♣❛rs❡ ❱✐rt✉❛❧ ❙♣❛❝❡
■♥✈❡rt❡❞ ♣❛❣❡ t❛❜❧❡ ♦♥❡ t❛❜❧❡ ♣❡r ❖❙✱ ♥♦t ♦♥❡ ♣❡r ♣r♦❝❡ss r♦✇ ❢♦r ❡✈❡r② ♣❤②s✐❝❛❧ ♣❛❣❡ r♦✇ j ✐❞❡♥t✐✜❡s t❤❡ ✈✐rt✉❛❧ ♣❛❣❡ ✐♥ ♣❤②s✐❝❛❧ ♣❛❣❡ j ❂ ❬♣r♦❝❡ss ✐❞ ✭pid✮❀ ✈✐rt✉❛❧ ♣❛❣❡ ♥✉♠❜❡r ✭vpn✮❀ access❀ ✳✳✳❪ ❙❛✈❡s s♣❛❝❡ ✐❢ ✈✐rt✉❛❧ ♠❡♠ > ♣❤②s✐❝❛❧ ♠❡♠ ♦r ★ ♣r♦❝❡ss❡s > ✶
- ✐✈❡♥ ✈✐rt✉❛❧ ❛❞❞r❡ss
v
- ffset
❛♥❞ ♣r♦❝❡ss ✐❞ p s❡❛r❝❤ t❛❜❧❡ ❢♦r ❛ r♦✇ j ✇✐t❤ ♠❛t❝❤✐♥❣ [p, v] ✐❢ ❢♦✉♥❞ phys addr ← [j, offset] ❡❧s❡ ❡①❝❡♣t✐♦♥ ❚②♣✐❝❛❧❧② ✉s❡ ❤❛s❤✐♥❣ ❢♦r ❡✣❝✐❡♥❝② s♦ ❧❡t j ❜❡ hash(p, vpn)✱ t❤❡♥ ♣r♦❝❡❡❞ ❛s ❛❜♦✈❡ ❉✐✣❝✉❧t t♦ ❛❝❝♦♠♦❞❛t❡ ♣❛❣❡ s❤❛r✐♥❣ ❜❡t✇❡❡♥ ♣r♦❝❡ss❡s
❖✉t❧✐♥❡
■❆✲✸✷✿ ①✽✻ ✕ ✸✷✲❜✐t
❖✈❡r✈✐❡✇ ❙❡❣♠❡♥t❛t✐♦♥ ◆♦♥✲❞❡♠❛♥❞ P❛❣✐♥❣ ❉❡♠❛♥❞ P❛❣✐♥❣ P❛❣❡❞✲❙❡❣♠❡♥t❛t✐♦♥ ❙♣❛rs❡ ❱✐rt✉❛❧ ❙♣❛❝❡ ■❆✲✸✷✿ ①✽✻ ✕ ✸✷✲❜✐t
■❆✲✸✷ ❆❞❞r❡ss ❚r❛♥s❧❛t✐♦♥
■❆✲✸✷✿ ①✽✻ ✕ ✸✷✲❜✐t