ЛАБОРАТОРНА РОБОТА № 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(розгортка в часі), А/В та В/А ( один сигнал в залежності від іншого).

16bit

2.1. Програма роботи та завдання.

2.1.1. Дослідити роботу програми для 6-канального лічильника.

2.1.2. Спробувати написати самостійно програму для 8-канального лічильника.

2.1.3. Відмітити результати роботи програми.

2.1.4. Зробити висновки про відмінність між МП і8080 та МП і8086.

2.1.5. У звіт занести усі схеми, вихідні дані та вимірювані дані. Відповісти письмово на контрольні питання.