мікропроцесори

  1. архітектура мікропроцесора система команд

I Класифікація мікропроцесорів

II Архітектура мікропроцесорів

III Організація введення / виведення в мікропроцесорної системі

IV Пам'ять мікропроцесорної системи

V Проектування мікропроцесорних систем



архітектура мікропроцесора
система команд

Проектування системи команд впливає на структуру ЕОМ. Оптимальну систему команд іноді визначають як сукупність команд, яка задовольняє вимогам проблемно-орієнтованих застосувань таким чином, що надмірність апаратних та апаратно-програмних засобів на реалізацію рідко використовуваних команд виявляється мінімальною. У різних програмах ЕОМ частота появи команд різна; наприклад, за даними фірми DEC в програмах для ЕОМ сімейства PDP-11 найбільш часто зустрічається команда передачі MOV (B), на її частку припадає приблизно 32% всіх команд в типових програмах. Систему команд слід вибирати таким чином, щоб витрати на рідко використовувані команди були мінімальними.

При наявності статистичних даних можна розробити (вибрати) ЕОМ з ефективною системою команд. Одним з підходів до досягнення даної мети є розробка команд довжиною в одне слово і кодування їх таким чином, щоб розряди таких коротких команд використовувати оптимально, що дозволить скоротити час реалізації програми і її довжину.

Іншим підходом до оптимізації системи команд є використання мікроінструкцій. У цьому випадку окремі біти або групи біт команди використовуються для кодування декількох елементарних операцій, які виконуються в одному командному циклі. Ці елементарні операції не вимагають звернення до пам'яті, а послідовність їх реалізації визначається апаратної логікою.

Скорочення часу виконання програм і ємності пам'яті досягається за рахунок збільшення складності логіки управління.

Важливою характеристикою команди є її формат, який визначає структурні елементи команди, кожен з яких інтерпретується певні чином при її виконанні. Серед таких елементів (полів) команди виділяють наступні: код операції, що визначає виконувану дію; адреса комірки пам'яті, регістру процесора, зовнішнього пристрою; режим адресації; операнд при використанні безпосередньої адресації; код аналізованих ознак для команд умовного переходу.

Класифікація команд за основними ознаками представлена ​​на рис. 2.4. Найважливішим структурним елементом формату будь-якої команди є код операції (КОП), що визначає дію, яке повинно бути виконано. Велике число КОП в процесорі дуже важливо, так як апаратна реалізація команд заощаджує пам'ять і час. Але при виборі ЕОМ необхідно концентрувати увагу на повноті операцій з конкретними типами даних, а не тільки на числі команд, на доступних режимах адресації. Число біт, що відводиться під КОП, є функцією повного набору реалізованих команд.

I Класифікація мікропроцесорів   II Архітектура мікропроцесорів   III Організація введення / виведення в мікропроцесорної системі   IV Пам'ять мікропроцесорної системи   V Проектування мікропроцесорних систем   архітектура мікропроцесора   система команд   Проектування системи команд впливає на структуру ЕОМ

Мал. 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 байт.

За форматами команд можна судити про можливості ЕОМ.

<<< зміст >>>