- •Архітектура і система команд мікропроцесорів
- •1. Архітектура еом
- •1. 1. Поняття про архітектуру еом
- •1.2. Програмна модель мікропроцесора Intel Pentium III
- •Сегментні регістри
- •Регістри стану і керування
- •1.4. Організація пам’яті
- •Сегментована модель пам’яті
- •Формування фізичного адреса в реальному режимі
- •Типи даних
- •Формат команд
- •Типи переривань
- •Структура програми на асемблері
- •Синтаксис асемблера
- •Директиви сегментації
- •Прості типи даних
- •Системи числення
- •Двійкова система числення
- •Шістнадцяткова система числення
- •Перевод із десяткової і шістнадцяткової системи у двійкову
- •Перевод із десяткової і двійкової у шістнадцяткову систему
- •Числа із знаком
- •Структура машинної команди
- •Способи задання операндів
- •Адресація пам’яті
- •Функціональна класифікація машинних команд
- •Команди обміну даними
- •Команди пересилання даних
- •Ввід-вивід в порт
- •Робота з адресами і вказівниками
- •Перетворення даних
- •Робота із стеком
- •Арифметичні цілочисельні команди
- •Цілі двійкові числа
- •Додавання двійкових чисел без знаку
- •Додавання двійкових чисел із знаком
- •Віднімання двійкових чисел без знаку
- •Віднімання двійкових чисел із знаком
- •Множення двійкових чисел без знаку
- •Множення двійкових чисел із знаком
- •Ділення двійкових чисел без знаку
- •Ділення двійкових чисел із знаком
- •Команди перетворення типів
- •4.2. Десяткові числа
- •Неупаковані bcd-числа
- •Упаковані bcd-числа
- •Логічні команди
- •Логічні команди
- •Команди зсуву
- •Лінійний зсув
- •Циклічний зсув
- •Додаткові команди зсуву
- •Команди передачі керування
- •Команди безумовного переходу;
- •Команди безумовного переходу
- •Процедури
- •Умовні переходи
- •Команда порівняння cmp
- •Команди умовного переходу і прапори
- •Команди умовного переходу і регістр ecxlcx
- •6.4. Організація циклів
- •Ланцюжкові команди
- •Пересилання ланцюжків
- •Порівняння ланцюжків
- •Сканування ланцюжків
- •Завантаження ланцюжків
- •Формування ланцюжків
- •Ввід-вивід елементів у порт
- •Складні структури даних
- •Доступ до елементів масиву
- •Двомірні масиви
- •8.2. Структури
- •Описання шаблона структури
- •Визначення даних з типом структури
- •Методи роботи із структурою
- •Об’єднання
- •Визначення екземпляру запису
- •Робота з записами
- •Макрозасоби мови асемблера
- •Макрокоманди
- •Макродирективи
- •Директиви while і rept
- •Директиви irp і irpc
- •Директиви умовної компіляції
- •Директиви компіляції по умові
- •Директиви if і ife
- •Директиви ifdef і ifndef
- •Директиви ifb і ifnb
- •Директиви ifidn, ifidni, ifdif і ifdifi
- •9.4. Директиви генерації помилок
- •%Out недопустиме ім’я регістра
1.4. Організація пам’яті
Фізична пам’ять, до якої МП має доступ по шині адреса називається оперативною пам’яттю (ОП) або оперативним запам’ятовуючим пристроєм (ОЗП). ОП організована як послідовність комірок – байтів. Кожному байту відповідає свій унікальний фізичний адрес. Діапазон значень фізичних адресів залежить від розрядності шини адреса МП. Для i486 і Pentium він знаходиться в межах 0-232-1 (4 Гбайт), P6 (Pentium Pro/II/III) 0-236-1 (64 Гбайт).
Механізм керування пам’яттю повністю апаратний і забезпечує: o компактність зберігання адресу в машинній команді; o гнучкість механізму адресації;
o захист адресних просторів задач у багатозадачній системі;
o підтримка віртуальної пам’яті.
МП апаратно підтримує дві моделі ОП:
o сегментовану модель. В цій моделі програмі виділяються неперервні області пам’яті
(сегменти), а сама програма може звертатися тільки до даних у цих сегментах;
o сторінкова модель. Її можна розглядати як надбудову над сегментною моделлю. У випадку використання цієї моделі ОП розглядується як сукупність блоків фіксованого розміру (4 Кбайт). Основне призначення цієї моделі зв’язано з організацією віртуальної пам’яті, що дозволяє операційній системі (ОС) використовувати для роботи програм простір пам’яті більший, ніє об’єм фізичної пам’яті. Для МП i486, Pentium розмір віртуальної пам’яті може досягати 4 Тбайт.
Особливості використання і реалізації цих моделей залежать від режиму роботи МП:
o Режим реальних адресів (реальний режим). В цьому режимі працював i8086. Наявність його в i486, Pentium забезпечує функціонування програм, написаних для ранніх моделей МП.
o Захищений режим. Дозволяє реалізувати всі архітектурні можливості нових МП, починаючи з i80286. Програми розроблені для i8086 не можуть працювати у цьому режимі.
o Режим віртуального 8086. Перехід у цей режим можливий із захищеного режиму. Відмінною особливістю цього режиму є можливість одночасної роботи програм для i8086. Можлива також робота програм реального режиму.
o Режим системного керування. Це новий режим роботи МП, який появився у Pentium. Він забезпечує ОС механізмом виконання машинно-залежних операцій, таких як перевід ПК у режим пониженого енергоспоживання.
Сегментована модель пам’яті
Сегментація - механізм адресації, що забезпечує існування незалежних адресних просторів (як в межах задачі так і системи в цілому) від взаємного впливу. Сегмент – незалежний, підтримуваний на апаратному рівні блок пам’яті. Кожна програма має доступ до трьох основних сегментів: коду, даних, стека, - і від 1 до 3 додаткових сегментів даних. Всередині сегменту програма звертається до адресів, відносно початку сегмента лінійно. Цей відносний адрес або зміщення, що використовують для доступу даних всередині сегмента, називають ефективним.
Розміщення сегментів по певних фізичних адресах здійснює ОС, а значення цих адресів поміщає у певні місця. У реальному режимі ці адреси поміщаються у сегментні регістри, а у захищеному режимі - у таблицю дескрипторів.
Розрізняють три моделі сегментованої організації пам’яті (рис. 1.4): сегментована модель пам’яті реального режиму; сегментована модель пам’яті захищеного режиму; суцільна модель пам’яті захищеного режиму.
Фізичним адресом є той, що видається на шину адреса МП. Синонімом до нього є лінійний адрес, але тільки у реальному режимі. У сторінковій моделі лінійний і фізичний адрес мають різні значення.
Рис. 1.4. Моделі сегментованої організації пам’яті
