мікропроцесори
I Класифікація мікропроцесорів
II Архітектура мікропроцесорів
III Організація введення / виведення в мікропроцесорної системі
IV Пам'ять мікропроцесорної системи
V Проектування мікропроцесорних систем
архітектура мікропроцесора
система команд
Проектування системи команд впливає на структуру ЕОМ. Оптимальну систему команд іноді визначають як сукупність команд, яка задовольняє вимогам проблемно-орієнтованих застосувань таким чином, що надмірність апаратних та апаратно-програмних засобів на реалізацію рідко використовуваних команд виявляється мінімальною. У різних програмах ЕОМ частота появи команд різна; наприклад, за даними фірми DEC в програмах для ЕОМ сімейства PDP-11 найбільш часто зустрічається команда передачі MOV (B), на її частку припадає приблизно 32% всіх команд в типових програмах. Систему команд слід вибирати таким чином, щоб витрати на рідко використовувані команди були мінімальними.
При наявності статистичних даних можна розробити (вибрати) ЕОМ з ефективною системою команд. Одним з підходів до досягнення даної мети є розробка команд довжиною в одне слово і кодування їх таким чином, щоб розряди таких коротких команд використовувати оптимально, що дозволить скоротити час реалізації програми і її довжину.
Іншим підходом до оптимізації системи команд є використання мікроінструкцій. У цьому випадку окремі біти або групи біт команди використовуються для кодування декількох елементарних операцій, які виконуються в одному командному циклі. Ці елементарні операції не вимагають звернення до пам'яті, а послідовність їх реалізації визначається апаратної логікою.
Скорочення часу виконання програм і ємності пам'яті досягається за рахунок збільшення складності логіки управління.
Важливою характеристикою команди є її формат, який визначає структурні елементи команди, кожен з яких інтерпретується певні чином при її виконанні. Серед таких елементів (полів) команди виділяють наступні: код операції, що визначає виконувану дію; адреса комірки пам'яті, регістру процесора, зовнішнього пристрою; режим адресації; операнд при використанні безпосередньої адресації; код аналізованих ознак для команд умовного переходу.
Класифікація команд за основними ознаками представлена на рис. 2.4. Найважливішим структурним елементом формату будь-якої команди є код операції (КОП), що визначає дію, яке повинно бути виконано. Велике число КОП в процесорі дуже важливо, так як апаратна реалізація команд заощаджує пам'ять і час. Але при виборі ЕОМ необхідно концентрувати увагу на повноті операцій з конкретними типами даних, а не тільки на числі команд, на доступних режимах адресації. Число біт, що відводиться під КОП, є функцією повного набору реалізованих команд.
Мал. 2.4. Класифікація команд.
При використанні фіксованого числа біт під КОП для кодування всіх m команд необхідно в поле КОП виділити двійкових розрядів. Однак, з огляду на обмежену довжину слова міні- і мікроЕОМ, різне функціональне призначення команд, джерела і приймачі результатів операцій, а також те, що не всі команди містять адресну частину для звернення до пам'яті і периферійних пристроїв, в малих ЕОМ для кодування команд широко використовується принцип кодування зі змінним числом біт під поле КОП для різних груп команд.
У деяких командах необхідний тільки один операнд і вони називаються однооперанднимі (або одноадресних) командами на відміну від двохоперандних (або двоадресного), в яких потрібні два операнда. При наявності двох операндів командою зазвичай змінюється тільки один з них. Так як інформація береться тільки з одного осередку, цей осередок називаються джерелом; осередок, вміст якої змінюється, називається приймачем.
Нижче наведено формат двоадресний (двохоперандних) команди процесорів СМ.
Формат команд процесорів СМ:
а) двохадресна команда;
б) одноадресная команда.
Приклади кодування двоадресного команд в процесорах СМ
КОП Мнемоніка команди Коментар 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. Використання осередку, в якій знаходиться один з операндів, для запам'ятовування результату (наприклад, сума запам'ятовується в осередки першого операнда).
Локалізацію і звернення до операндам забезпечують режими адресації. При введенні декількох режимів адресації необхідно відвести в команді біти, що вказують режими адресації для кожного операнда. Якщо передбачено вісім режимів адресації, то для завдання кожного з них потрібно три біта.
Майже у всіх форматах команд перші біти відводяться для коду операції, але далі формати команд різних ЕОМ сильно відрізняються один від одного. Решта біти повинні визначати операнди або їх адреси, і тому вони використовуються для комбінації режимів, адрес регістрів, адрес пам'яті, відносних адрес і безпосередніх операндів. Зазвичай довжина команди варіюється від 1 до 3 і навіть 6 байт.
За форматами команд можна судити про можливості ЕОМ.
<<< зміст >>>