logo
СПЗ_лекції

6.Віртуальна пам’ять. Сторінкова організація пам’яті.

Більшість систем віртуальної пам’яті використовують техніку, яку називають сторінкова організація пам’яті. На будь-якому комп’ютері існує множина адрес в пам’яті, до яких може звернутись програма. Коли програма використовує наступну інструкцію MOV REG, 1000 вона робить це для того, щоб скопіювати вміст пам’яті за адресою 1000 в REG або навпаки в залежності від ПК. Адреси можуть формуватись з використанням індексації, базових регістрів, сегментних регістрів та іншими шляхами. Ці програмно-формовані адреси називаються віртуальними і вони формують віртуальний адресний простір.

На комп’ютері без віртуальної пам’яті віртуальні адреси подаються безпосередньо на шину пам’яті і викликаються для читання чи запису слова в фізичній пам’яті з цією адресою. Коли використовується віртуальна пам’ять, то віртуальні адреси не передаються на пряму шиною пам’яті. Замість цього вони передаються диспетчеру пам’яті, який відображає віртуальні адреси на фізичні адреси пам’яті (рис.6.3).

Центральний процесор надає віртуальні адреси диспетчеру пам’яті.

Рис.6.3. Розміщення і функції диспетчера пам’яті

Тут диспетчер пам’яті показано як частину процесора тому, що на сучасних комп’ютерах саме так. Але логічно він міг би бути окремо, так як це було раніше.

Простір віртуальних адрес поділено на одиниці, які називають сторінками. Відповідні одиниці в фізичній пам’яті називаються сторінковими блоками. Номер сторінки використовується в якості індексу в таблиці сторінок, що видає номер сторінкового блоку, який відповідає віртуальній сторінці. В фактичному апаратному забезпеченні сторінки які присутні в пам’яті відслідковуються за допомогою біта присутності (відсутності).

Багато комп’ютерів використовують багаторівневу таблицю сторінок. Це робиться з метою постійного зберігання в пам’яті всіх таблиць сторінок.

Сучасні комп’ютери містять невеликий апаратний пристрій, що служить для відображення віртуальних адрес в фізичні без проходження таблиці сторінок (буфер швидкого перетворення адреси або асоціативна пам’ять).