Формати і типи даних. Формат машинних команд. Система переривань 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Формати і типи даних. Формат машинних команд. Система переривань



Поняття тип даних має двоїстий характер: з точки зору розмірності і з точки зору їх логічної інтерпретації. З точки зору розмірності процесор підтримує наступні основні типи даних (рис. 4.1):

Байт  
Слово старший байт молодший байт
Подвійне слово Старше слово Молодше слово
Почетверене слово Старше подвійне слово Молодше подвійне слово
         

63 48 47 32 31 16 15 7 0

Упакований тип даних

       

127 95 63 31 0

Рис. 2.1 Основні типи даних мікропроцесора

· Байт – вісім послідовно розміщених бітів, пронумерованих від 0 до 7. Біт 0 – наймолодший значущий біт.

· Слово – набір з двох байтів, які мають послідовні адреси. Розмір слова – 16 бітів; біти в слові нумеруються від 0 до 15. Байт, в якому нульовий біт, називається молодшим байтом, а байт, в якому 15-й біт, – старшим байтом. Важлива особливість мікропроцесора в тому, що молодший байт завжди зберігається за меншою адресою. Адресою слова вважається адреса його молодшого байта. Адреса старшого байта може бути використана для доступу до старшої половини слова.

· Подвійне слово – набір з чотирьох байтів (32 біти), які мають послідовні адреси. Нумерація цих бітів від 0 до 31. Слово, в якому нульовий біт, називається молодшим словом, а слово, в якому 31-й біт, – старшим словом. Молодше слово завжди зберігається за меншою адресою. Адресою подвійного слова вважається адреса його молодшого слова. Адреса старшого слова може бути використана для доступу до старшої половини подвійного слова.

· Почетверене слово – набір з восьми байтів (64 біти), які мають послідовні адреси. Нумерація бітів від 0 до 63. Подвійне слово, в якому нульовий біт, називається молодшим подвійним словом, а подвійне слово, в якому 63-й біт, – старшим подвійним словом. Молодше подвійне слово завжди зберігається за меншою адресою. Адресою почетвереного слова вважається адреса його молодшого подвійного слова. Адреса подвійного старшого слова може бути використана для доступу до старшої половини почетвереного слова.

· 128-бітовий упакований тип даних появився в мікропроцесорі Pentium III. Для роботи з ним введено спеціальні команди.

Мікропроцесор підтримує також логічну інтерпретацію цих типів даних.

· Цілий тип зі знаком – двійкове число зі знаком розміру 8, 16 або 32 біти. Знак цього числа знаходиться в 7, 15 або 31 біті відповідно. Нуль у цих бітах означає, що число додатне, а одиниця – від’ємне. Від’ємні числа подаються в доповняльному коді. Числові діапазони для цбого типу наступні:

8-розрядне ціле – від до ;

16-розрядне ціле – від до ;

32-розрядне ціле – від до .

· Цілий тип без знаку – двійкове значення без знаку, розміром 8, 16 або 32 біти. Числовий діапазон такий:

байт – від 0 до 255;

слово – від 0 до 65 535;

подвійне слово – від 0 до 4 294 965 295= .

· Вказівник на пам’ять може бути таким:

1. Далекий тип (use16) – 32-розрядна логічна адреса, яка складається з двох частин seg:offset. seg – сегментна складова адреси 16-бітове число, яке завантажується в сегментний регістр, offset – зміщення, яке визначає відстань об’єкта відносно початкової адреси сегмента;

2. Близький тип (use16) – 16-бітова логічна адреса об’єкта – зміщення відносно початку сегмента;

3. Близький тип (use32) – 32-бітова логічна адреса об’єкта – зміщення відносно початку сегмента;

4. Далекий тип (use32) – 48-бітова логічна адреса об’єкта, яка складається з двох частин seg:offset. seg – сегментна складова адреси селектор – 16-бітове число, яке завантажується в сегментний регістр, offset – 32-бітове зміщення, яке визначає відстань об’єкта відносно початкової адреси сегмента.

· Ланцюжок – неперервний набір байтів, слів або подвійних слів максимальної довжини до 4 Гбайтів.

· Бітове поле – неперервний набір бітів, у якому кожний біт незалежний і може розглядатися як окрема змінна. Бітове поле може розпочинатися з будь-якого біта будь-якого байта і може мати довжину до 32 бітів.

· Не упакований двійково-десятковий тип – зображення десяткової цифри від 0 до 9. Не упаковані десяткові числа зберігаються як значення довжиною байт без знаку по одній цифрі в кожному байті. Значення цифри визначається вмістом молодшої тетради.

· Упаковане двійково-десятковий тип – упаковане зображення двох десяткових цифр від 0 до 9 в одному байті. Кожна цифра знаходиться у своїй тетраді. Цифра в старшій тетраді – старша.

· Типи даних з плаваючою крапкою. Співпроцесор (пристрій FPU) має свої типи даних, які несумісні з типами даних цілочислового пристрою. Дивись лекцію, в якій описані типи даних, які підтримуються FPU).

Формат команд. Машинна команда може мати наступні елементи:

1. Поле префіксів – елемент команди, який уточнює або модифікує дії цієї команди в наступних аспектах:

· заміна сегмента, якщо не задовольняє сегмент за замовчуванням;

· зміна розміру адреси;

· зміна розміру операнда;

· вказівка на необхідність повторення даної команди;

2. Поле коду операції, яке визначає дію даної команди.

3. Поле операндів – може містити від 0 до 3 елементів.

Важлива особливість команди це те, що вони не можуть маніпулювати одночасно двома операндами, які знаходяться в оперативній пам’яті (крім ланцюжкових команд і стекових передач).Тому можливі тільки наступні комбінації операндів:

reg, reg

reg, mem

mem, reg

reg, imm

mem, imm

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

Переривання класифікуються так:

· апаратні, які виникають як реакція мікропроцесора на фізичний сигнал деякого пристрою комп’ютера (клавіатура, системний таймер, жорсткий диск і так далі). За часом ці переривання асинхронні, тобто виникають у випадкові моменти часу;

· програмні, які викликаються штучно за допомогою команди з програми (команда int). Вони призначені для виконання дій операційною системою. Ці переривання синхронні;

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



Поделиться:


Последнее изменение этой страницы: 2017-01-27; просмотров: 422; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.123.120 (0.018 с.)