Розміщення байт і слів в пам'яті

Формати команд мікропроцессораINTEL.

Регістри загального призначення (Рони) розбиті на дві групи:

Перший байт команди містить Cop - код операції і два однобітових поля: d- біт напрямку передачі і w- довжина операнда.

При d = 1, то здійснюється передача операнда або результату операції в регістр, номер якого задається полем reg другого байта команди.

Поле W ідентифікує тип (розрядність) операндів:

Якщо w = 1, то команда оперує з 2-хбайтним словом.

w = 0, команда оперує з 1 байтом.

2-ий байт - постбайт, визначає беруть участь в операції регістри або регістр і осередок пам'яті. постбайт складається з 3-х полів:

md - режим, який показує як інтерпретується поле r / m для знаходження першого операнда.

Reg - регістр, використовується в 2-х операндних командах.

Поле reg визначає операнд, який обов'язково знаходиться в регістрі мікропроцесора і вважається другим операндом. Поле r / m визначає операнд, який може знаходиться в регістрі або пам'яті і умовно вважається першим. Поле reg використовується тільки для вказівки регістра в двохоперандних командах. Якщо в команді один операнд, то він ідентифікується полем R / m, а поле reg відсутня. Замість поля reg в цьому випадку використовується розширення коду операції.

Поле md (модальність) показує, як інтерпретується поле R / m для знаходження першого операнда:

Якщо md = 11, то операнд знаходиться в регістрі, номер якого заданий полем R / m. При інших значеннях md операнд знаходиться в пам'яті.

Disp - зміщення в команді, що інтерпретується як ціле число зі знаком.

md = 00 зміщення disp відсутня.

md = 01 disp = disp L, команда містить 8 біт. зміщення D8.

md = 10 disp = dispH dispL, команда містить 16 біт, зміщення D16.

Так як 2-ий операнд розміщується в команді, то поле reg відсутня, але замість нього використовується розширення коду операції cop. Відсутня біт напрямку d, так як результат операції можна помістити тільки на місце першого операнда. Місце цього біта d займає біт S, який є ознакою використання одного байта для завдання безпосереднього операнда при роботі зі словами.

Поля S і W інтерпретуються наступним чином:

SW = Х0, один байт даних Data L

SW = 01, один байт даних Data H Data L

SW = 11, один байт даних, який автоматично розширюється зі знаком до 16 біт.

Сегментна організація пам'яті.

Розміщення байт і слів в пам'яті

Сторінкова організація пам'яті.

2) забезпечує захист ОС та програмне забезпечення користувача;

Сторінкова трансляція включається в захищений режим установкою в одиницю 31-го розряду нульового регістру управління CRQ і вимикається скиданням цього розряду в нуль.

При сторінкової організації сегмент розбивається на окремі розділи, число яких може досягти до 2 10.

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

Покажчики входу в розділ і в сторінку мають однаковий формат.

Р - біт присутності. Якщо Р = 1, то дозволяється використання таблиці сторінок, якщо Р = 0, то таке використання забороняється. При Р = 0 спроба звернення до відповідного розділу або сторінці викликає переривання через відсутність потрібної сторінки в оперативній пам'яті. Після завантаження потрібної сторінки в пам'ять, біт Р встановлюється в «1» і в цьому випадку звернення до даної сторінки стає можливою. Це потрібно для того, щоб ОС знала, де знаходиться сторінка.

R / W - біт читання / запису.

U / S - біт користувач / супервізор.

Ці два біта визначають право доступу до відповідній сторінці або розділу для програм користувача. Програма користувача зазвичай має найнижчий рівень привілеїв рівний 3. Якщо здійснюється запит з рівнем привілеїв рівним 3, то при значенні U / S = 0 програмою користувача забороняється доступ до розділу або сторінці.

При U / S = 1 звернення дозволяється, але при цьому враховується значення біта R / W.

Якщо R / W = 0, то програмі користувача дозволяється тільки читання розділу або сторінки.

Якщо R / W = 1, то дозволяється як читання, так і запис. Якщо здійснюються запити з великим рівнем привілеїв (0, 1 і 2), то допускається запис і читання розділів і сторінок при будь-яких значеннях '1' і '2' розрядів.

Такі рівні привілеїв має ОС.

А - біт доступу. Цей біт автоматично встановлюється в «1» мікропроцесором при зверненні до цього розділу або сторінці для запису або читання.

D - біт «сміття». У покажчику кадру сторінки цей біт встановлюють в «1» при запису на дану сторінку. Для покажчиків таблиць сторінок значення біта D є невизначеною.

Розміщення байт і слів в пам'яті

Розміщення байт і слів в пам'яті

Організація віртуальної пам'яті.

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

Сторінкову віртуальну організацію пам'яті підтримує біт Р - біт присутності. У системах з віртуальною пам'яттю біт Р повинен точно відображати місце знаходження віртуальної сторінки, яка може перебувати в ОЗУ, або на зовнішньому диску. Якщо сторінка знаходиться в ОЗУ, то біт Р встановлюється в одиничний стан, а якщо на зовнішньому диску, то біт Р = 0.

При необхідності, коли оперативна пам'ять переповнюється повністю, операційна система видаляє на зовнішній диск ті розділи і сторінки, до яких довгий час не було звернень, звільняючи тим самим місце для нововведених сторінок в оперативну пам'ять. Таким чином, відбувається безперервне оновлення вмісту ОЗУ. ОЗУ містить тільки ті програми і дані, які потрібні в даний момент часу. Ті ж програмні засоби, до яких довгий час не було звернення, поступово виводяться на зовнішній диск. Ось так працює віртуальна пам'ять.

1 сегмент дорівнює 232 = 4 Гб

Засоби захисту інформації

в мікропроцесорах фірмиINTEL.

Схожі статті