Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка.doc
Скачиваний:
18
Добавлен:
08.11.2018
Размер:
1.15 Mб
Скачать

2.8 Структура і типи команд.

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

Рисунок 2.6 – Структура команди

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

Рисунок 2.7 – Формат чотирьохадресної команди

Порядок вибірки команд при цьому називається примусовим. Коротку 4х адресну команду треба зберігати в 16 бітовому осередку пам'яті. Тоді під адресу приділяється 3 біти. (можна адресувати 23=8 осередків пам'яті). Сучасні мікроЕОМ адресують не менше 216 =65536 осередків. Тоді на всю команду потрібно 80 біт. Або прийдеться зберігати її в осередках пам'яті у вигляді окремих полів, або зменшувати число адресних полів команди. У сучасних ЕОМ чотирьохадресні команди практично не зустрічаються. Розвиток відбувався шляхом зменшення числа адресних полів команди. Можна установити, як це прийнято для більшості машин, що після виконання даної команди, яка розташована за адресою К і займає L осередків, виконується команда з (K+L) осередків. Такий порядок вибірки команд називається природним. Він порушується тільки спеціальними командами. У такому випадку відпадає необхідність вказувати в команді в явній формі адресу наступної команди.

Рисунок 2.8 – Формат трьохадресної команди

    Такі команди також використовуються мало. Можна умовитися, що результат операції завжди міститься на місці одного з операндів. Для двохадресної команди адреса, за якою повинний бути розміщений результат збігається з адресою одного з операндів (для IBM PC з адресою першого з операндів). Найбільше поширення отримали в мікроЭВМ одноадресні і безадресні команди.

Рисунок 2.9 – Формат одноадресної команди

   При цьому один з операндів вказується в команді адресою, а в якості іншого використовується зміст внутрішнього регістра процесора - регістра результату або акумулятора ( регістр - пристрій для проміжного збереження двійкової інформації). Це викликано тим, що часто результат виконання попередньої операції використовується в наступної як операнд. Використання одноадресних команд дозволяє збільшити швидкодію, тому що зменшується число звернень процесора до оперативної пам'яті. Приклад: Додавання A=B+C+D+E за допомогою одноадресних команд.

Рисунок 2.10 – Додавання за допомогою одноадресної команди

Остання команда ( останов ) - безадресна. Безадресні команди ( команди з неявною адресацією) використовуються при роботі зі стековою пам'яттю, з конкретними пристроями (акумулятором), тобто коли адреси обох операндів і результату припускаються.

Рисунок 2.11 – Формат безадресної команди

Висновки: 

1) трьохадресні команди забезпечують мінімальний час обчислень. 

2) одноадресні команди забезпечують мінімальні витрати пам'яті на представлення алгоритмів. 

3) двохадресні команди по показниках ефективності займають проміжне положення між відповідними показниками 3-х і 1-но адресних команд. Однак, ці показники ефективності ще багато в чому залежать від алгоритмів. Для науково-технічних розрахунків більш економічні одноадресні команди, а при обробці даних - 2х адресні.