Page 68 - 149
P. 68
пам'яті на сегменти і використаним способом адресації памяті. Хоча МП має
20-бітову шину фізичної адреси пам'яті, він оперує з 16-бітовими логічними
адресами, які складаються із базової адреси сегмента і зміщення в сегменті.
Суматор адреси здійснює обчислення 20-бітової адреси.
Вказівник команд ІР зберігає зміщення наступної команди в біжучому
кодовому сегменті. Він є аналогом стандартного лічильника для МП ВМ 80 з
тією різницею, що його вміст визначає адресу команди тільки в сукупності з
вмістом регістра СS.
Адресування пам'яті і організація вводу-виводу
1) Розміщення байтів і слів в пам'яті.
Пам'ять логічно організована як одновимірний масив байтів, кожний з
яких має 20-бітову фізичну адресу в діапазоні 00000-FFFFF. Будь-які два
суміжних байти в пам'яті можна розглядати як 16-бітове слово. Молодший
байт слова має меншу адресу, а старший-більшу. Повна інформація, необхідна
для визначення фізичної адреси, міститься в покажчику адреси. Для
запам'ятовування покажчика адреси необхідно два слова пам'яті, причому
слова з меншою адресою завжди містить зміщення, а з більшою-базову адресу
сегмента.
Рисунок 4.28-Розміщення слова в памяті.
2) Сегментація пам'яті і обчислення адреси.
Простір пам'яті в 1 МБайт представляється як набір сегментів, що
визначаються пограмним шляхом. Сегмент складається з суміжних комірок
пам'яті і є незалежною і окремо заадресованою одиницею пам'яті ємністю в 64
КБайт. Кожному сегменту програмою призначається початкова (базова)
адреса, що є адресою першого байта сегмента в просторі пам'яті. Оперативна
та постійна пам'ять МП системи на основі МП 86 утворюють єдиний простір
пам'яті із спільною адресацією 1048576 8-розрядних комірок від 00000 до
FFFFF. Двобайтові операнди займають дві сусідні комірки, причому
молодший байт операндa розміщається у комірці з меншою адресою, яка і
вважається адресою цілого операндa. Комірки з адресами від 00000 до 003FF,
а також від FFFF0 до FFFFF бажано зарезервувати для обслуговування пере-
ривань та для початкового встановлення МП системи при включенні
живлення. Максимальна ємність кожного з сегментів пам'яті- 64 КБайт, тобто
69