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

8. Прикладне програмне забезпечення

Мікропроцесор працює за програмою, що зберігається в осередках па¬мяті. Вміст однієї або декількох таких осередків утворює команду МП.

Команда МП - це таке двійковечисло, яке, будучи сприйнято їм, змусить МП виконати певні дії. МП може виконувати лише ті дії, які передбачаються його командами.

Існують команди різного призначення. Більшість з них здійснює пересилку даних, розташованих в пам'яті або в од¬ном з внутрішніх регістрів МП. Є команди, осуществляю¬щіе взаємодія МП з пристроями введення-виведення; є і дру¬гіе команди, призначені для управління і виконання не¬которих допоміжних функцій МП.

Вся сукупність команд, які сприймаються МП, утворює його систему команд.

Раніше ми говорили про те, що команди МП .могут мати разліч¬ную довжину і складатися з 1, 2 або 3 байт. Однак код операції, ука¬зивающій на те, що повинен робити МП при виконанні даної команди, завжди міститься в її першому байті і при введенні в МП раз¬мещается в регістрі команд. Цей код дешифрується і управляє даль¬нейшімі діями МП. Команда повинна вказувати МП також адреса або місце розташування даних, що підлягають обробці. Наприклад, МП може отримати вказівки про пересилання вмісту комірки пам'яті по заданій адресі в один з внутрішніх регістрів або зсуві вмісту акумулятора.

З наведених прикладів випливає, що команда вказує МП не тільки, що йому необхідно зробити, але і де зберігаються і куди повинні бути спрямовані оброблювані дані.

Отже, будь-яка команда долж¬на складатися з двох частин: перша частина являє собою код опе¬раціі, друга частина називається адресною. Однак, зустрічаються так звані безадресні команди. До них відноситься, наприклад, коман¬да зупинки.

Код операції та адресна частина однобайтовим команд розміщуються в восьми двійкових розрядах, адресна частина багатобайтові команд - у другому і третьому байтах команди. У цих же байтах можуть непо¬средственно розміщуватися оброблювані дані, так що в завісімо¬сті від коду операції вміст другого і третього байтів може вос¬прініматься як адреса або як дані.

Число команд в системі команд МП значно більше, ніж число кодів операцій, оскільки при формуванні команди один і той же код операції може ісполь¬зоваться при різних способах адресації.

Залежно від призначення команди МП поділяються на п'ять груп:

1) Команди пересилки (виконують обмін даними між регістрами МП або між регістрами і пам'яттю);

2) Арифметичні команди (виробляють операції додавання, ви¬чітанія, инкрементирования або декрементірованія даних в ре¬гістрах і осередках пам'яті;

3) Логічні команди (виконують операції «І», «АБО», «АБО-НЕ», порівняння, зсуву або доповнення даних в регістрах і комірках пам'яті);

4) Команди розгалуження (виробляють операції умовного і безуслов¬ного переходів по програмі, викликупідпрограми і повернення до ос¬новной програмі);

5) Команди управління і операцій зі стеком, пристроями вво¬да - виведення (виконують операції введення-виведення, керують покажчиком стека і ознаками станів).

Всього система команд МП налічує 111 різних команд. Неко¬торие з них піддаються модифікації.

За функціональним призначенням коман¬ди кожної мікроЕОМ, в порівнянні з командами МП, можна розділити на наступні групи:

1) команди пересилання даних між оператів¬ной пам'яттю і регістрами мікропроцесора;

2) команди для виконання арифметичних і логічних операцій; 3) команди управління;

4) команди зв'язку з подпрограм¬мамі;

5) команди для зсуву даних в регістрах, очіст¬кі регістрів, формування додаткового коду і т. П .;

6) команди введення / виводу;

7) спеціальні системні команди.

Команди груп 1 і 2 цієї статті не вимагають особливого пояснення. До групи 3 входять команди для перевірки ознак ре¬зультата і здійснення умовного або безумовного розгалуження. Основне призначення команд цієї групи полягає в тому, щоб змінити нормальний хід виполне¬нія програми шляхом завантаження в лічильник команд такого значення, яке відповідало б бажаної точці програми. Команди групи 4 забезпечують передачу управління на підпрограму зі збереженням інформа¬ціі про те місце програми, з якого сталася пе¬редача, а також повернення управління з підпрограми в вихідну програму з відновленням контексту вихідної програми. Команди групи 5 призначені для виконання різноманітних унарних операцій, т. Е. Операцій з одним операндом по маніпулюванню дан¬нимі. За функціональним призначенням ці команди близькі до команд групи 2. Команди групи 6 обеспе¬чівают обмін даними між оперативною пам'яттю мікро-ЕОМ і зовнішніми пристроями. Для таких команд може бути відсутнім спеціальна мнемоніка, як це зроблено, наприклад, в мікро-ЕОМ «Електроніка-60». І нарешті, команди групи 7 призначені для виполне¬нія керуючих операцій над самим мікропроцессо¬ром. До таких командам відносять команди очікування, ос¬танова, пастки, управління перериванням, скидання пристроїв, а також особлива ко¬манда NOP (немає операції).

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

В системі команд кожної ЕОМ, в тому числі і мікроЕОМ, значне місце займають адресні команди.

Команда називається адресною, якщо один або декілька її операндів розташовуються в оперативній пам'яті.

Бу¬дем називати такий операнд адресним. Для іспользова¬нія адресного операнда необхідно сформувати його ефективний, або виконавчий, адреса. Таким обра¬зом, адресна команда вимагає додаткового обраще¬нія процесора до пам'яті для кожного з її адресних операндів, що подовжує інтервал її виконання в порівнянні, наприклад, з реєстровими командами, опе¬ранди яких знаходяться в заданих регістрах процес¬сора.

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

У МП використовується п'ять різних способів адресації. Рассмот¬рім кожен з них.

Пряма адресація. При цьому способі адресації молодша половина шестнадцатіразрядного адреси міститься у другому байті трехбай¬товой команди, а старша половина - в її третьому байті. Перший байт використовується для розміщення коду операції. Наприклад, на рис. 3 показана команда прямого завантаження акумулятора содержі¬мим осередки пам'яті, розташованої по шістнадцятиричним адресою 001А16.

Пример выполнения команды прямой адресации

Після виконання команди копія вмісту комірки по указан¬ному адресою передається в акумулятор. При цьому вміст комірки пам'яті залишається незмінним. Це дозволяє програмі багаторазово звертатися за даними до однієї і тієї ж осередку пам'яті.

Будучи найбільш природною і простий для розуміння, пряма адресація має істотний недолік: довжина команд з прямою адресацією містить три байта; тому для свого виконання команда вимагає три машинних цикли, т. е, великих витрат часу.

146