АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Лекція 16.: Система керування пам'яттю в персональної ЕОМ

 

Розглядаються питання, пов'язані з розподілом пам'яті, організацією віртуальної пам'яті на основі сторінкового розподілу, а також сегментно-сторінкове подання пам'яті в персональної ЕОМ і методи скорочення часу адресного перетворення

 

В ЕОМ на основі 32-розрядного мікропроцесора при роботі в так званому захищеному режимі, що підтримує мультипрограмування й забезпечує адресацію операндов у максимально можливому для даної архітектури діапазоні до 232 байт, віртуальна пам'ять організується на основі сегментно-сторінкового подання пам'яті. При цьому пам'ять розбивається на сегменти змінної довжини, виділювані користувачеві під розміщення його програм і даних. Сегменти, у свою чергу, діляться на сторінки фіксованої довжини (4ДО = 212 байт), використовувані системою керування пам'яттю для її виртуализации [4]

Початок кожного сегмента встановлюється операційною системою через відповідний сегментний регістр і приховано від користувача. Користувач пише свої програми в адресах відносно початку сегмента, думаючи, що він має у своєму розпорядженні сегмент максимально можливої для даної архітектури довжини (232 байт). Апаратні засоби мікропроцесора спочатку проводять сегментне перетворення адреси, а потім - сторінкове.

Механізм формування фізичної адреси при сегментно-сторінкової організації пам'яті показаний на рис. 16.1


Рис. 16.1. Формування фізичної адреси при сегментно-сторінкової організація пам'яті в 32-розрядному мікропроцесорі

Основою одержання фізичної адреси, видаваного на адресну шину мікропроцесора, служить логічна адреса. Він складається із двох частин: селектора, що є ідентифікатором сегмента, і зсуву в сегменті.

Зсув у сегменті (32 розряду) (ефективна адреса) обчислюється по режимі, що задається в команді, адресації операнда і є віртуальною адресою операнда. При звертанні до команди як зсув виступає значення регістра-покажчика команд.

Селектор розміщається в сегментному регістрі (див. рис. 16.1). Основна його частина являє собою номер (INDEX), по якому в одній зі спеціальних таблиць дескрипторів можна знайти дескриптор (описатель) даного сегмента. Вид використовуваної таблиці визначається битому TI (table indicator) селектора. Селектор містить також двухразрядное поле RPL, використовуване при організації захисту пам'яті по привілеях.

Дескриптор (рис. 16.2)містить відомості про сегмент. В одному з його полів утримується базова адреса сегмента. В інших полях записана додаткова інформація про сегмент: довжина, припустимий рівень правий доступу до даного сегмента з метою захисту інформації, що перебуває в ньому, тип сегмента (сегмент коду, сегмент даних, спеціальний системний сегмент і т.д.) і деякі інші атрибути.


Рис. 16.2. Структура дескриптора сегмента

Сума отриманого з дескриптора базової адреси сегмента й обчисленого зсуву дає лінійну адресу операнда, що при включеному механізмі сторінкового перетворення являє собою номер віртуальної сторінки (старші 20 розрядів) і зсув операнда в сторінці (молодші 12 розрядів лінійної адреси відповідно до обсягу сторінки в 4 Кбайт).

При перетворенні номера віртуальної сторінки в номер фізичної використовуються наступні системні об'єкти: каталог таблиць сторінок (КТС) і таблиці сторінок (ТС). Структури цих таблиць подібні між собою (рис. 16.3).


Рис. 16.3. Елемент каталогу таблиць сторінок (таблиці сторінок)

Перетворення проводиться у два етапи.

Спочатку по розрядах А 31-А22 лінійної адреси в КТС вибирається потрібний елемент. Каталог таблиць сторінок завжди присутня в ОП і містить вказівки по розміщенню таблиці сторінок, що ставиться до того або іншого процесу.

Елемент КТС містить

  • адреса початку таблиці сторінок,
  • біт присутності (P) таблиці сторінок в оперативній пам'яті,
  • біт дозволу читання/запису (R/W),
  • біт захисту сторінки (користувач/супервізор (U/S)) і деякі інші атрибути.

Після одержання з обраного елемента КТС початкової адреси таблиці сторінок відбувається звертання до ТС. В обраній таблиці сторінок перебуває елемент, номер якого визначається розрядами А 21-А12 лінійної адреси. Структура елемента таблиці сторінок аналогічна структурі елемента КТС. Елемент ТС у відповідному полі містить адреса початку необхідної фізичної сторінки й інші атрибути, аналогічні елементу КТС.

При P=0 виникає переривання, необхідна сторінка підкачується в ОП, її адреса заноситься у відповідний елемент ТС, і команда виконується повторно


1 | 2 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)