- •1. Функціональні вузли логічних пристроїв
- •Состояния d- триггера
- •2. Архітектура мікропроцессора та запам'ятовувальних пристроїв.
- •4. Б.Я. Ліхтціндер «Мікропроцесори і обчислювальні пристрої в
- •4.Типова структура мп систем.
- •6. Поняття і основні функції операційної системи (ос) та програмне забезпечення.
- •Структура команд мп систем.
- •8. Прикладне програмне забезпечення
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.
Пример выполнения команды прямой адресации
Після виконання команди копія вмісту комірки по указан¬ному адресою передається в акумулятор. При цьому вміст комірки пам'яті залишається незмінним. Це дозволяє програмі багаторазово звертатися за даними до однієї і тієї ж осередку пам'яті.
Будучи найбільш природною і простий для розуміння, пряма адресація має істотний недолік: довжина команд з прямою адресацією містить три байта; тому для свого виконання команда вимагає три машинних цикли, т. е, великих витрат часу.
