
- •Міністерство освіти і науки україни
- •Івано-Франківський національний технічний університет нафти і газу
- •Т е м а 1: мікропроцесорні засоби обробки інформації
- •1.1 Основні поняття та визначення мікропроцесорної техніки
- •Мпп має уніфіковані під’єднувальні характеристики і функціонує у складі певної технічної системи.
- •1.2 Архітектура мікропроцесора
- •1.3 Структура і призначення виводів реального мп
- •2 Структура пам’яті мп
- •2.1 Основні характеристики і класифікація запам’ятовуючих пристроїв
- •2.2 Надоперативні і оперативні запам’ятовуючі пристрої
- •2.3 Постійні запам’ятовуючі пристрої
- •Запам’ятовуючі пристрої з послідовним доступом
- •2.4 Організація модулів пам'яті мпс
- •2.5 Інтерфейси мп систем
- •3 Організація роботи мп
- •3.1 Способи адресації типового мп
- •3.2 Система команд типового мп
- •4 Загальні засади створення мпс
- •4.1 Структура мпс
- •4.2 Основні етапи проектування мпс
- •Перелік використаних джерел
3 Організація роботи мп
3.1 Способи адресації типового мп
Для виконання математичних дій з числами в мікропроцесорній техніці прийнято, що одне з чисел знаходиться в акумуляторі, а інше може знаходитись і в комірці пам’яті, і в регістрі, і бути заданим явно.
Різні способи розміщення операнда називаються способами адресації.
Існує 5 способів адресації типових мікропроцесорів (МП):
1) неявний,
2) регістровий,
3) безпосередній,
4) прямий,
5) непрямий регістровий.
При неявній адресації команди мають 1 байт, тому, що всі дії по них відбуваються всередині МП. При виконанні команд з неявною адресацією немає змісту шукати дані чи адреси в інших регістрах МП, пам’яті, або портах введення-виведення. Це є внутрипроцесорні команди.
У випадку регістрової адресації операнд знаходиться у внутрішньому регістрі МП. Регістрові операції завжди є однобайтовими, тому що вони не вимагають даних і адрес поза МП. Всі дії по цих командах відбуваються всередині МП.
При виконанні команд з безпосередньою адресацією операнд поступає в програмну пам’ять з наступного байта (двох байтів). Операнд слідує в команді безпосередньо за КОП.
У випадку прямої адресації 2-й і 3-й байт пам’яті прямо вказують на адресу операнда. Вони є адресами в прямому способі адресації, тоді як при безпосередній адресації ці ж байти були операндами. Формат команди 2 - 3 байти.
У випадку непрямих регістрових команд пара регістрів HL вказує на адресу операнда в пам’яті. В цьому випадку пара HL відіграє роль регістра адреси.
3.2 Система команд типового мп
Коли програміст починає програмування нового МП, він повинен вияснити наступні питання:
архітектура МП;
система команд;
найпростіші системи, що використовують даний МП;
сигнали керування;
призначення виводів.
Система команд – це список операцій, які МП має змогу виконувати. Вона містить передачу даних, арифметичні та логічні операції, команди, тестування даних і розгалужень, операції вводу-виводу. В цей же час команди можуть мати різні способи адресації [7, 11].
Ні один МП не може працювати без пристроїв пам’яті. У МП використовується два види пам’яті – постійна та оперативна.
Постійні запам’ятовуючі пристрої (ПЗП) МП містять програму-монітор системи. До складу ПЗП належать: адресні входи, входи активації тільки читання і вибору кристалу, тристабільні виходи, які під’єднуються на шини.
Оперативні запам’ятовуючі пристрої (ОЗП) – це пристрої для тимчасового зберігання даних. До них входять адресні входи, входи вибору кристалу і активації читання-запису.
Для вводу даних в МП використовується спеціальна МС – інтерфейс вводу. Його задачею є розміщення даних і керування їх введенням з клавіатури.
У необхідний момент для введення даних інтерфейс перериває МП по спеціальній лінії переривання. Сигнал переривання заставляє МП:
1) закінчити виконання поточної команди;
2) підтримувати свою нормальну працездатність;
3) перейти до виконання спеціальної групи команд у своїй програмі-монітор, по яких здійснюється керування вводом даних, що надходять з клавішного пристрою.
Система інтерфейсу з клавіатурою має адресні входи, лінії вибору кристалу і команди активації пристрою. Активований один раз інтерфейс передає дані, що надходять з клавішного пристрою на шину даних, які приймаються МП. Якщо тристабільні виходи інтерфейсу не активовані, то вони повертаються у свій стан високого опору.
Для виводу даних з МП використовується інтерфейс виводу. При активізації цього інтерфейсу по адресній шині, лініях вибору кристалу і активізації він приймає дані, що надходять з шини даних і розміщає їх у відповідних периферійних пристроях.
Склад команд типового 8-ми розрядного МП
Група команд, яку може виконати даний МП, називається його складом команд. Склад команд може мати від 8 до 200 основних команд. Існують такі основні класи команд: - арифметичні, логічні, передачі даних, виклику підпрограм, повернення з підпрограм, інші.
Елементарні МП мають наступний склад арифметичних команд: додавання, віднімання, інкрементування, порівняння, заперечення. Деякі конкретні типи МП можуть мати інші арифметичні команди, такі як: додавання з переносом, віднімання з займом, множення і ділення.
Логічні команди типового МП такі: І, АБО, АБО ВИКЛЮЧАЮЧЕ, НЕ, ЗСУВ ВПРАВО, ЗСУВ ВЛІВО.
Деякі МП, крім того, мають команди: АРИФМЕТИЧНИЙ ЗСУВ ВПРАВО, ЦИКЛІЧНІ ЗСУВИ ВПРАВО І ВЛІВО, ЦИКЛІЧНІ ЗСУВИ ВПРАВО І ВЛІВО З ПЕРЕНОСОМ і ТЕСТУВАННЯ .
Команди передачі даних типового МП: завантаження, розміщення, переміщення, ввід, вивід. Деякі МП мають додатково команди обміну, скидання та ініціалізації.
Команди розгалуження типового МП: безумовний перехід; перехід, якщо 0; перехід, якщо не 0; перехід, коли рівно, перехід, коли не рівно; перехід, коли результат (+), перехід, коли результат (-).
Для складніших МП команди переходу можуть залежати від таких умов: більше або менше; зсув чи ні; переповнення або ні.
Команди розгалуження є командами прийняття рішень.
Типовий 8-ми розрядний МП має команду виклику підпрограми (CALL - виклик), щоб програма могла перейти до спеціальної групи команд, які вирішують поставлене завдання.
В кінці виконання підпрограми МП повинен мати можливість повернутись на місце відправлення з початкової програми. Ця операція виконується програмою повертання. Для простих МП команди виклику і повертання є безумовними, для інших же ж можуть бути умови.
Іншими командами типового МП є такі: немає операції, помістити в стек, вийти із стеку, очікування, зупинка (останов).
Користувачі працюють, як правило, із скороченими формами вираження операції МП, так званими мнемонічними (табл. 3.1).
Таблиця 3.1 – Представлення команди (операції) додавання типового МП
Операція |
Мнемоніка |
КОП |
Символіка |
Додати |
ADD A |
8ВН |
А+М А |
Мнемоніки команд завжди записуються великими літерами.
Код операції (КОП) є шістнадцятковим представленням 8 розрядного двійкового коду, який заставляє МП виконати цю команду.
Приклад виконання операції додавання типового МП наведено на рис. 3.1.
Як видно з рис. 3.1 після операції вміст комірки пам’яті не змінився, в той час, як вміст акумулятора став іншим (результат операції).
Розглянемо детально операцію додавання 2-х додатніх чисел (3 та 5).
Запишемо послідовність дій програми додавання:
3Н+5Н=8Н
Команда 1 - завантажити число 1 в МП (LOAD)
Команда 2 - додати число 2 до числа 1 (ADD)
Команда 3 - помістити суму в комірку пам’яті за адресою 1А2C (STORE).
Рисунок 3.1 – приклад виконання операції додавання МП двох однобайтних чисел
Команда LOAD використовує 2 байти пам’яті.
Перший байт пам’яті - це оперативна частина команди, другий – операнд.
1 байт + 1 байт
КОП 86H LOAD
КОП 8ВH ADD
КОП В7H STORE
Адреса |
Вміст |
} Команда 1 (LOAD) |
0000 |
86 |
|
0001 |
03 |
|
0002 |
8В |
} Команда 2 (ADD) |
0003 |
05 |
|
0004 |
В7 |
} Команда 3 (STORE) |
0005 |
1А |
|
0006 |
2С |
На рис. 3.2 наведена циклічна программа МП для розміщення чисел від 0 до 8 послідовно в комірках пам’яті за адресами від 2040 до 2048.
Рисунок 3.2 - Циклічна программа послідовного завантаження 8-ми комірок пам’яті
Текст програми на мові асемблер:
LXI H, 2040h - завантаження вказівника адресою, вказаною в парі регістрів HL
XPA A - cкидання А в (А= )
M1: MOV M, A - (мітка 1) помістити вміст А у комірку пам’яті М за адресою, вказаною у парі регістрів HL
INX H - інкремент регістрової пари HL
INR A - інкремент А
CPI 9 - порівняти А =9 -?, якщо А=9,
індикатор встановл. в 1
JNZ M1 - якщо Z=0 перейти до М1, якщо Z≠0, продовжити програму
HLT - зупинити МП.
Контрольні запитання до теми «організація роботи МП»
Що таке МП загального призначення?
Які бувають МПС?
Які бувають способи адресації типового МП?
Що таке система команд типового МП?
Навіщо в МП використовуються інтерфейси вводу-виводу?
Які з команд арифметичних дій виконує 8-ми розрядний МП?
Які з логічних команд виконує 8-ми розрядний МП?
Які з команд зсуву виконує 8-ми розрядний МП?
Які з команд розгалужень виконує 8-ми розрядний МП?
Які з команд роботи з підпрограмами виконує 8-ми розрядний МП?
Пояснити послідовність виконання програми додавання однобайтних чисел.
Яким чином побудована структура програми для МП на асемблері?