Адресація пам’яті в реальному режимі
Для роботи з пам’яттю використовують дві шини: шина адреси і шина даних. Фізична адреса передається з процесора в пам’ять по шині адреса. Ширина шини адреса визначає максимальний об’єм фізичної пам’яті, що безпосередньо адресується процесором. Схема взаємодії процесора і пам’яті через шини адреса і даних має наступний вигляд:
Шина адресу |
CPU | RAM |
Шина даних |
|
Комп’ютери, що оснащені 20-ти розрядною шиною адреса і 16-ти розрядною шиною даних має можливість адресуватись до 1 Мбайту пам’яті. При адресації використовується двохкомпонентна логічна адреса. Тобто логічна адреса складається з 16-ти розрядних компонент:
- компонент сегменту пам’яті
- компонент зміщення в середині сегменту
Таким чином логічну адресу прийнято записувати в формі < сегмент: зміщення >. Логічна адреса повинна знаходитись в наступних межах
0000h: 0000h [ сегмент: зміщення ] FFFFh: 000Fh
Приклад. Маєм логічну адресу < 1234h: 0123h >
сегментна компонента
компонента зміщення
Фізична адреса визначається по наступній схемі:
20 розрядів
16розрядів
1234h
сегмент |
+ +
0000 | зміщення |
16 розрядів 00123h
12453h
фізична адреса |
10 розрядів
Фактично в схемі адресації пам’яті реального режиму вся пам’ять розбивається на сегменти. Одному фізичному адресу може відповідати кілька логічних, що дозволяє адресувати різним програмам одну і ту ж ділянку пам’яті (недолік).
Сегменти, як раніше зазначалось, можуть починатися тільки з фізичної адреси, який кратний 16 байтам.
Виділяють два основних недоліки схеми адресації пам’яті реального режиму:
- обмежений адресний простір (до 1 Мбайта і приблизно 64 Кб старшої області пам’яті для CPU 286, 386, 486…)
- вільний доступ любих програм до любих областей даних, що потенціально небезпечно для цілісності операційної системи.
Дата добавления: 2015-10-09; просмотров: 982;