Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
spz / шпори.doc
Скачиваний:
100
Добавлен:
23.02.2016
Размер:
1.56 Mб
Скачать

Сегментно-сторінковий спосіб організації віртуальної пам'яті.

Як і в сегментному способі розподілу пам'яті, програма розбивається на логічно закінчені частини — сегменти — і віртуальна адреса містить указівку на номер відповідного сегмента. Друга складова віртуальної адреси — зсув відносно початку сегмента — у свою чергу, може складатися з двох полів: віртуальної сторінки й індексу. Іншими словами, виходить, що віртуальна адреса тепер складається з трьох компонентів: сегмент, сторінка, індекс.

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

Щоб уникнути цієї неприємності, вводиться кешування, причому кэш, як правило, будується по асоціативному принципі.

(Іншими словами, перегляди двох таблиць у пам'яті можуть бути замінені одним звертанням до асоціативної пам'яті.

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

Оцінимо достоїнства сегментно-сторінкового способу.

Розбивка програми на сегменти дозволяє розміщати сегменти в пам'яті цілком.

Сегменти розбиті на сторінки, усі сторінки сегмента завантажуються в пам'ять. Це дозволяє зменшити звертання до відсутніх сторінок, оскільки імовірність виходу за межі сегмента менше імовірності виходу за межі сторінки.

Сторінки сегмента, що виконується, знаходяться в пам'яті, але при цьому вони можуть знаходитися не поруч один з одним, а «розсипом», оскільки диспетчер пам'яті маніпулює сторінками.

Наявність сегментів полегшує реалізацію поділу програмних модулів між рівнобіжними процесами.

Можливе і динамічне компонування задачі. А виділення пам'яті сторінками дозволяє мінімізувати фрагментацію.

Однак, оскільки цей спосіб розподілу пам'яті вимагає дуже значних витрат обчислювальних ресурсів то його не так просто реалізувати, використовується він рідко, причому в дорогих, могутніх обчислювальних системах. Можливість реалізувати сегментно-сторінковий розподіл пам'яті закладений і в сімейство мікропроцесорів і80х86, однак унаслідок слабкої апаратної підтримки, труднощів при створенні систем програмування й операційної системи, практично він не використовується в ПК.

Соседние файлы в папке spz