- •Перелік питань до екзамену з курсу «Архітектура комп’ютерних систем»
- •33.Що таке командний цикл і як він пов'язаний з тактовою частотою -
- •36.Як представляють числа з плаваючою комою у пеом? -
- •48.Які типи адресних просторів Ви знаєте? -
- •54.Які мінімальні та максимальні розміри сторінки і сегмента 32-розрядного процесора? -
- •61.Яка відмінність між скалярним і суперскалярним процесором?
- •86.Назвіть режими адресування 32-розрядного процесора фірми Intel.
- •88.Які головні відмінності між 32 та 64-розрядними мікропроцесорами?
- •96.Обмеження операційних систем на архітектури amd64 та Intel 64.
48.Які типи адресних просторів Ви знаєте? -
[запитати на консультації(логічна адреса на малюнку)]
Тридцятидворозрядний процесор має три різні адресні простори: логічний, лінійний і фізичний. Логічна адреса (її також називають віртуальною адресою) складається із селектора сегмента і зміщення. Селектор – це вміст сегментного регістра. Зміщення формується шляхом сумування всіх адресних компонентів (Бази, Індекса, Зміщення) у виконавчу адресу (тобто виконавча адреса визначена у будь-якому режимі адресування).
Оскільки кожне завдання 32-розрядного процесора має максимально 16К (214 - 1) селекторів, а зміщення можуть бути 4 Гбайти (232 біт), то це дає повністю 246 біт або 64 Тбайти логічного адресного простору на задачу. Цей віртуальний адресний простір доступний для програміста. Блок сегментації перетворює логічний адресний простір у 32-розрядний лінійний. Якщо блоку розбиття на сторінки нема, то 32-бітова лінійна адреса відповідає фізичній. Блок розбиття на сторінки перетворює лінійний адресний простір у фізичний. Фізична адреса – це те, що є на адресній шині. Головною відмінністю між реальним і захищеним режимом є те, як блок сегментації виконує перетворення логічної адреси в лінійну. У реальному режимі блок сегментації зсуває селектор ліворуч на 4 біти і додає сформовану в будь-якому режимі адресування ефективну адресу до зсуву для утворення лінійної адреси. В захищеному режимі кожний селектор має співвіднесену з ним лінійну базову адресу і зберігається в одній або двох таблицях операційної системи (тобто локальній таблиці дескриптора або глобальній таблиці дескриптора). Лінійну базову адресу селектора додають до зміщення для утворення кінцевої лінійної адреси.
49.Скільки є типів сегментів оперативної пам’яті і яких? +-
Як зазначено, головною структурою даних, які використовують для організації пам’яті, є сегмент. Сегменти – це різні за розміром блоки лінійних адрес, які мають певні співвіднесені з ними ознаки. Три головні типи сегментів: коду, даних і стеку, можуть мати розміри від 1 байта до 4 Гбайт.
50.Назвіть компоненти логічної адреси? +-
Логічна адреса (її також називають віртуальною адресою) складається із селектора сегмента і зміщення. Селектор – це вміст сегментного регістра. Зміщення формується шляхом сумування всіх адресних компонентів (Бази, Індекса, Зміщення) у виконавчу адресу (тобто виконавча адреса визначена у будь-якому режимі адресування).
51.Що називаємо виконавчою адресою? +
Виконавчою адресою (ВА) операнда називають адресу всередині сегмента, яку процесор
обчислює за певними правилами. ВА є переміщуваним 16-розрядним числом без знака, що
забезпечує доступ до кожного байта сегмента.
52.Скільки і які компоненти використовують для формування виконавчої адреси у 16-розрядних процесорах? +-
Залежно від типуадресації виконавчу адресу формують так:
1. Пряме адресування є найпростішим типом адресації - воно не використовує ніяких регістрів. Виконавчу адресу беруть безпосередньо з 16- бітового поля зміщення машинної команди. Ця пряма адреса однозначно визначає байт або слово пам’яті, які розміщені всередині сегмента. Пряму адресацію переважно використовують для роботи з простими змінними або сталими.
1.1У разі відносної адресації поле зміщення відображене 8-бітовим числом зі знаком. Виконавча адреса в цьому разі визначена сумуванням вмісту поля зміщення і регістра вказівника команд ІР.
1.2У разі абсолютної адресації частина команди є 32-бітовим вказівником, який визначає фізичну адресу в пам’яті МП 8086(88). Молодше слово вказівника трактується в цьому випадку як переміщувана адреса сегмента, базовою адресою якого є старше слово вказівника:
Для абсолютної адресації наявність байта адресації (Mod/Reg/Rm) також не потрібна.
Непряме адресування. За такої адресації виконавчою адресою є вміст базового або індексних регістрі^ (ВХ, SI або DI). Завдяки цьому одна і та ж команда може звертатися до кількох різних ділянок пам’яті через просту зміну вмісту базового або індексного регістрів, які беруть участь у непрямому адресуванні.
Непряме адресування зі зміщенням. У разі такої адресації ВА визначена як сума зміщення і вмісту одного з регістрів - базового або індексного (ВХ, BP, SI, DI). Зміщення може бути 8-бітовим числом зі знаком або 16-бітовим без знака. У разі використання регістрів ВХ, SI за виконавчу адресу приймають переміщувану адресу поточного сегмента даних, базова адреса якої визначена регістром сегмента даних DS. Якщо ж використовують регістр ВР, то за виконавчу адресу приймають переміщувану адресу поточного стекового сегмента, базова адреса якого міститься в регістрі сегмента стеку SS:
Оскільки в прикладних програмах можуть бути використані префіксні команди, то є можливість переприсвоєння виконавчих адрес для інших сегментів пам’яті.
Базово-індексне адресування. За такого адресування виконавча адреса визначена як сума вмісту базового (ВХ або ВР) та індексного регістрів (81 або 01). Завдяки можливості зміни під час виконання програми вмісту базового та індексного регістрів базово-індексне адресування є дуже гнучким засобом доступу до різних ділянок комп’ютерної пам’яті. У разі використання регістра ВХ виконавча адреса визначена щодо сегмента даних з базовою адресою, яка міститься в регістрі 08, а у разі застосування регістра ВР - щодо сегмента стека, базова адреса якого міститься в регістрі 88.
У разі базово-індексного адресування поле Mod визначене числом 00, поле Rm - двійковим числом 000,001,010 чи 011, відповідно до того, яке адресування використано: [BX+SI], [BX+DI], [BP+SI] чи [BP+DI].
Базово-індексне адресування зі зміщенням. У разі такого адресування виконавча адреса визначена як сума вмісту базового регістра (ВХ чи ВР), індексного регістра (SI чи DI) і розміру зміщення. Як зазначено, розмір зміщення є частиною команди і може бути 8-бітовим числом зі знаком чи 16-бітовим без знака. За виконавчу адресу приймаємо переміщувану адресу поточного сегмента даних чи стекового сегмента залежно від того, який з регістрів використовуємо - ВХ чи ВР:
У разі базово-індексного адресування зі зміщенням поле Mod містить двійкове число 01 чи 10 залежно від того, як визначено зміщення: 8- чи 16-бітовим числом. Поле Rm таке саме, як і в разі базово-індексного адресування.
53.Скільки і які компоненти використовують для формування виконавчої адреси у 32-розрядних процесорах? +-
