ЛАБОРАТОРНА РОБОТА № 27
Тема: Система команд 16-розрядного МП і8086.
Мета
роботи: дослідити
виконання команд множення та ділення 16-розрядних чисел за допомогою програми
від лагодження ПЗ debug
на IBM
PC;
проаналізувати отримані результати.
1. Теоретичні відомості
Свій перший 16-розрядний процесор i8086 фірма
Intel випустила в 1978 році. Він міг адресувати 1 Мбайт пам'яті (тобто мав
20-розрядну шину адреси), продуктивність його при тактовій частоті 5 Мгц
складала 0,33 MIPS.
Процесор і8086 має суміщену (мультиплексовану)
20-розрядну зовнішню шину адреси / даних. Дані передаються по 16 розрядах,
адреса - по 20 розрядах. Шина управління має 16 розрядів (зокрема, до неї
входять строб адреси і строби обміну з пам'яттю і пристроями вводу/виводу).
Середній час виконання команди займає 12 тактів синхронізації, один цикл обміну
по зовнішній шині вимагає 4 тактів (без врахування тактів очікування, що
вводяться при асинхронному обміні).
Система команд процесора містить у собі 133
команди, що підтримують 24 методи адресації операндів. Така велика кількість
команд може розглядатися як перевага (можна гнучко вибирати команду, що
оптимально підходить для кожного конкретного випадку), але воно ж помітно
ускладнює структуру процесора.
Проектування системи команд впливає на структуру
ЕОМ. Оптимальну систему команд іноді визначають як сукупність команд, що
задовольняє вимогам проблемно-орієнтованих застосувань таким чином, що
надмірність апаратних і апаратно-програмних засобів на реалізацію рідко
використовуваних команд виявляється мінімальною. У різних програмах ЕОМ частота
появи команд різна; наприклад, за даними фірми DEC у програмах для ЕОМ
сімейства PDP-11 найбільше часто зустрічається команда передачі MOV(B), на її
частку приходиться приблизно 32% усіх команд у типових програмах. Систему
команд варто вибирати таким чином, щоб витрати на рідко використовувані команди
минулого мінімальними.
При наявності статистичних даних можна
розробити (вибрати) ЕОМ з ефективною системою команд. Одним з підходів до
досягнення даної мети є розробка команд довжиною в одне слово і кодування
їхнього таким чином, щоб розряди таких коротких команд використовувати
оптимально, що дозволить скоротити час реалізації програми і її довжину.
Іншим підходом до оптимізації системи команд є
використання мікроінструкцій. У цьому випадку окремі біти або групи біт команди
використовуються для кодування декількох елементарних операцій, що виконуються
в одному командному циклі. Ці елементарні операції не вимагають звертання до
пам'яті, а послідовність їхньої реалізації визначається апаратною логікою.
Скорочення часу виконання програм і ємності
пам'яті досягається за рахунок збільшення складності логіки керування.
Класифікація команд по основних ознаках
представлена на Найважливішим структурним елементом формату будь-якої команди є
код операції (КОП), що визначає дію, що повинне бути виконано. Велике число КОП
у процесорі дуже важливо, тому що апаратна реалізація команд заощаджує пам'ять
і час. Але при виборі ЕОМ необхідно концентрувати увагу на повноті операцій з
конкретними типами даних, а не тільки на числі команд, на доступних режимах
адресації. Число біт, що відводиться під КОП, є функцією повного набору
реалізованих команд.
Формат
команд процесорів СМ: а) двохадресна команда; б) одноадресна команда.
Приклади
кодування двохадресних команд у процесорах СМ
КОП
|
Мнемоніка
команди |
Коментар
|
0001
0010 0110 1110 |
MOV
CMP ADD SUB |
Передача
даних Порівняння Додавання Вирахування |
0000
1000 |
-
- |
Кодування
групи одноадресних команд |
Чотирьохбітний КОП (біти 15-12) кодує ряд
двохоперандних операцій, приведених у таблиці 1. Біти (11-6) і (5-0) для команд
даного типу визначають адреси джерела і приймача даних. Як видно з таблиці,
комбінації 0000 і 1000 полючи КОП визначають групи одноадресних команд (рис
1,б). КОП 1 (біти 15-12), що відповідає кодам 0000 і 1000, визначає групу
одноадресних команд, а КОП 2 (біти 11-6) кодує конкретну операцію команд даної
групи. Таким чином, команди, що використовують один операнд, кодуються
10-бітним КОП (біти 15-6).
Найбільш гнучка команда вимагає до чотирьох
операндів. Наприклад, команда додавання може вказувати адреси що складаються,
адреса результату й адреса наступної команди. Якщо для завдання адреси потрібно
16 біт, то чотирьохоперандна команда займе 8 байт пам'яті, не з огляду на код
операції. Отже, вийде повільнодіюча ЕОМ з величезною пам'яттю. Тому в більшості
мікро ЭВМ будь-яких команд потрібно не більш двох операндів. Це досягається
наступними прийомами: 1. Адреса наступної команди вказується тільки в командах
переходів; в інших випадках чергова команда вибирається з комірок пам'яті, що
випливають за виконаною командою. 2. Використання осередку, у якій знаходиться
один з операндів, для запам'ятовування результату (наприклад, сума
запам'ятовується в осередки першого операнда).
2. Практична частина
Налаштування осцилографа
проводиться за допомогою його панелі, де містяться характеристики каналів А та В, синхронізації та розгортки. Слід зазначити, що графіки можна
бачити у трьох проекціях: Y/Т
(розгортка в часі), А/В та В/А ( один сигнал
в залежності від іншого).
2.1.
Програма роботи та завдання.
2.1.1. Дослідити роботу
програми для 6-канального лічильника.
2.1.2. Спробувати написати
самостійно програму для 8-канального лічильника.
2.1.3. Відмітити результати
роботи програми.
2.1.4. Зробити висновки про
відмінність між МП і8080 та МП і8086.
2.1.5. У звіт занести усі
схеми, вихідні дані та вимірювані дані. Відповісти письмово на контрольні
питання.