Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга_Вычисл техн и микропроц_2 автора_130709.doc
Скачиваний:
9
Добавлен:
07.05.2019
Размер:
5.26 Mб
Скачать

7.2.2 Організація 16-розрядних мікропроцесорів

Вхідний контроль:

  1. Як операційна система ПК розміщує коди виконуваної програми в пам’яті?

  2. Як у МПС з фоннейманівською архітектурою МП можна розрізняти, чи є код у пам’яті кодом команд, чи кодом даних?

Класичною реалізацією фоннейманівської архітектури є адресування пам’яті за плоскою моделлю, коли вся пам’ять є єдиною лінійною послідовністю байтів. У цій пам’яті зберігаються і дані, і коди програм. Відповідальність за коректне використання пам’яті цілком покладається на прикладного програміста, який повинен забезпечувати цілісність кодів та даних: дані не повинні зіпсувати коди, а стек – перекритися з областю кодів. У багатозадачному режимі, коли кільком десяткам задач надається можливість по черзі виконуватись на віртуальній машині, розподілом ресурсів займається операційна система. Віртуальна (надавана) машина складається з віртуального процесора, віртуальної пам’яті та віртуальної підсистеми введення-виведення. Найбільш незахищеною у багатозадачному режимі є пам’ять. Першим кроком до її захисту було створення у МП І8086, який випускався з 1978 р., моделі пам’яті реального режиму. Ця модель пам’яті організовувала пам’ять у вигляді сегментів коду, стека та даних, які мали різне призначення і різні права доступу. Ця модель була вимушеною і використовувалась з метою можливості адресування обсягу пам’яті 1 Мбайт за допомогою 16-розрядних регістрів, в яких формується адреса комірок пам’яті. Таку модель до цього часу використовують додатки, написані для операційних систем реального режиму типу MS DOS. МП І8086 створювався як призначений для роботи у багатопроцесорних системах з розподіленою пам’яттю та у складі персональних комп’ютерів, тобто вже під керуванням операційної системи.

Для зазначення початку сегмента використовуються спеціальні сегментні регістри: у 16-розрядних МП – CS, DS, SS,ES.

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

Для визначення фізичної адреси адресованої комірки пам’яті у межах 220 адресного простору вміст сегментних регістрів помножується на 4 (зсувається вліво на 4 двійкових розряди) і до нього додається значення зміщення адреси комірки від початку сегмента.

Сегментування пам’яті визначило архітектуру і програмні моделі мікропроцесорів фірми Intel.

Структурна схема МП І8086 наведена на рис. 7.11.

Рисунок 7.11 – Структурна схема МП І8086

За функціональним призначенням вузли схеми можна розбити на операційний пристрій, пристрій спряження з шиною та керувальний пристрій. В операційному пристрої виконуються обчислення, пов’язані з виконанням команд з оброблення даних; у пристрої з’єднання з шиною – обчислення, які забезпечують формування адрес команд та операндів, виклик команд та їх зберігання до початку виконання; керувальний пристрій, який дешифрує коди команд та генерує керувальні сигнали та сигнали синхронізації для МП та МПС. До операційного пристрою входять арифметично-логічний пристрій з регістрами тимчасового збереження і регістром ознак, блока регістрів загального призначення, який складається з чотирьох 16-розрядних регістрів загального призначення AX, BX, CX, DX, кожний з них може використовуватись як два 8-розрядних, регістрів-вказівників SР, ВР та індексних регістрів SI, DI, які використовуються при формуванні адрес.

Пристрій з’єднання з шиною складається з шестибайтової регістрової пам’яті, яка називається чергою команд, сегментних регістрів CS, DS, SS, ES та вказівника команд ІР (Instruction Pointer), суматора та логіки керування шиною.

Черга команд працює за принципом FIFO (First Input – First Output, перший увійшов – перший вийшов). У черзі команд можуть накопичуватись послідовні байти команд обсягом до 6 байт. Це дозволяє подавати команди з випередженням з черги в операційний пристрій, де вони виконуються, і дає можливість сумістити за часом виконання процеси, пов’язані з вибиранням команд із пам’яті, і процеси, пов’язані з їх виконанням. Черга команд називається також конвеєром команд.

Швидкодія процесора збільшується за рахунок конвеєризації на лінійних ділянках програм, але коли у чергу попадають команди переходів, викликів підпрограм, у тому числі підпрограм оброблення переривань та повернення з них, черга скидається і вибирання починається з нової адреси програмної пам’яті.

Суматор бере участь у формуванні виконавчої адреси (Executive Address) операндів, які розміщуються у пам’яті, та фізичної адреси операндів і команд.

Процесор має мультиплексовану двоспрямовану 16-розрядну шину даних/адреси AD15...AD0, яка використовується у мінімальному, однопроцесорному режимі. У максимальному режимі при роботі у складі багатопроцесорних систем МП може адресувати 1 Мбайт пам’яті за рахунок додаткових чотирьох ліній адреси/стану A19/S6…A16/S3.

Мікропроцесор І8086 (російський аналог К1810ВМ86) є розвитком МП І8080, їхня архітектура подібна. Програмно-доступні вузли і система команд І8080 є підмножиною вузлів і системи команд МП І8086. Хоча програми, написані машинною мовою І8080, не можуть виконуватись безпосередньо на МП І8086, але можна говорити про сумісність МП фірми Intel знизу уверх; програми достатньо просто переводяться з мови Асемблера І8080 на мову Асемблера І8086 за допомогою їхньої повторної трансляції.

МП І80186 є наступною моделлю МП з архітектурою І8086 і має додатково логічний блок вибирання мікросхеми, два незалежних швидкісних канали ПДП, три програмованих таймери, програмований контролер переривань та вбудований генератор тактових імпульсів. Система команд порівняно з МП І8086 є розширеною і вміщує всі команди попередніх моделей, починаючи з І8080.

У 1983 р. фірма Intel випустила МП І80286, який став основою для розробки ПК ІВМ РС/АТ. МП І80286 може працювати у двох режимах: реальному та віртуальному. У реальному режимі МП І80286 функціонує як МП І8086 з підвищеною швидкодією. У віртуальному режимі фізична адреса комірки пам’яті знаходиться за допомогою таблиць, які індексуються за допомогою сегментних регістрів, тобто реалізується так званий захищений режим роботи МП, який розглядається у підрозділі 7.2.5. При включенні у МП І80286 установлюється реальний режим, ініціалізуються різні регістри і прапорці і виконується команда завантаження слова стану процесора, в якому установлено біт дозволу захисту. Після переходу у віртуальний режим повернути його до реального режиму можна тільки апаратним сигналом скидання.

МП І80286 забезпечує засоби захисту різних областей пам’яті при роботі у віртуальному режимі за рахунок наявності рівнів привілеїв виконуваних сегментів кодів. Якщо рівень виконуваної програми є менший за рівень, який надано сегменту, МП відключає засоби захисту.

МП І80286 адресує до 2 Мбайт реальної пам’яті та 4 Гбайт віртуальної. Система команд вміщує всі команди більш ранніх моделей та кілька нових команд, пов’язаних з реалізацією реального та віртуального режимів.

МП І80286 припускає спряження з співпроцесором І80287, призначеним для виконання операцій з плаваючою точкою. Обидві мікросхеми можуть виконувати команди одночасно.

МП І80286 підтримує багатозадачний режим шляхом перемикання з однієї виконуваної задачі на іншу. МП створює для кожної задачі сегмент пам’яті, який вміщує всю інформацію, небхідну для запуску та зупину задачі (сегмент стану задачі). Основне його призначення – збереження вмісту регістрів задачі на той час, коли задача не виконується.

Контрольні питання:

  1. З якою метою у 16-розрядних процесорах фірми Intel реалізується сегментування пам’яті?

  2. Яку роль у структурній схемі МП І8086 (К1810) відіграє пристрій спряження з шиною?

  3. Які операції виконує АЛП у складі МП І8086?

  4. Які прапорці виставляє АЛП І8086?

Контрольні питання підвищеної складності:

  1. З якою метою МП І8086 має мультиплексовану двоспрямовану шину даних/адреси?

  2. Як, на Ваш погляд, можна зберегти цілісність даних, не сегментуючи пам’ять?