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

3 Організація роботи мп

3.1 Способи адресації типового мп

Для виконання математичних дій з числами в мікропроцесорній техніці прийнято, що одне з чисел знаходиться в акумуляторі, а інше може знаходитись і в комірці пам’яті, і в регістрі, і бути заданим явно.

Різні способи розміщення операнда називаються способами адресації.

Існує 5 способів адресації типових мікропроцесорів (МП):

1) неявний,

2) регістровий,

3) безпосередній,

4) прямий,

5) непрямий регістровий.

При неявній адресації команди мають 1 байт, тому, що всі дії по них відбуваються всередині МП. При виконанні команд з неявною адресацією немає змісту шукати дані чи адреси в інших регістрах МП, пам’яті, або портах введення-виведення. Це є внутрипроцесорні команди.

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

При виконанні команд з безпосередньою адресацією операнд поступає в програмну пам’ять з наступного байта (двох байтів). Операнд слідує в команді безпосередньо за КОП.

У випадку прямої адресації 2-й і 3-й байт пам’яті прямо вказують на адресу операнда. Вони є адресами в прямому способі адресації, тоді як при безпосередній адресації ці ж байти були операндами. Формат команди 2 - 3 байти.

У випадку непрямих регістрових команд пара регістрів HL вказує на адресу операнда в пам’яті. В цьому випадку пара HL відіграє роль регістра адреси.

3.2 Система команд типового мп

Коли програміст починає програмування нового МП, він повинен вияснити наступні питання:

  1. архітектура МП;

  2. система команд;

  3. найпростіші системи, що використовують даний МП;

  4. сигнали керування;

  5. призначення виводів.

Система команд – це список операцій, які МП має змогу виконувати. Вона містить передачу даних, арифметичні та логічні операції, команди, тестування даних і розгалужень, операції вводу-виводу. В цей же час команди можуть мати різні способи адресації [7, 11].

Ні один МП не може працювати без пристроїв пам’яті. У МП використовується два види пам’яті – постійна та оперативна.

Постійні запам’ятовуючі пристрої (ПЗП) МП містять програму-монітор системи. До складу ПЗП належать: адресні входи, входи активації тільки читання і вибору кристалу, тристабільні виходи, які під’єднуються на шини.

Оперативні запам’ятовуючі пристрої (ОЗП) – це пристрої для тимчасового зберігання даних. До них входять адресні входи, входи вибору кристалу і активації читання-запису.

Для вводу даних в МП використовується спеціальна МС – інтерфейс вводу. Його задачею є розміщення даних і керування їх введенням з клавіатури.

У необхідний момент для введення даних інтерфейс перериває МП по спеціальній лінії переривання. Сигнал переривання заставляє МП:

1) закінчити виконання поточної команди;

2) підтримувати свою нормальну працездатність;

3) перейти до виконання спеціальної групи команд у своїй програмі-монітор, по яких здійснюється керування вводом даних, що надходять з клавішного пристрою.

Система інтерфейсу з клавіатурою має адресні входи, лінії вибору кристалу і команди активації пристрою. Активований один раз інтерфейс передає дані, що надходять з клавішного пристрою на шину даних, які приймаються МП. Якщо тристабільні виходи інтерфейсу не активовані, то вони повертаються у свій стан високого опору.

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

Склад команд типового 8-ми розрядного МП

Група команд, яку може виконати даний МП, називається його складом команд. Склад команд може мати від 8 до 200 основних команд. Існують такі основні класи команд: - арифметичні, логічні, передачі даних, виклику підпрограм, повернення з підпрограм, інші.

Елементарні МП мають наступний склад арифметичних команд: додавання, віднімання, інкрементування, порівняння, заперечення. Деякі конкретні типи МП можуть мати інші арифметичні команди, такі як: додавання з переносом, віднімання з займом, множення і ділення.

Логічні команди типового МП такі: І, АБО, АБО ВИКЛЮЧАЮЧЕ, НЕ, ЗСУВ ВПРАВО, ЗСУВ ВЛІВО.

Деякі МП, крім того, мають команди: АРИФМЕТИЧНИЙ ЗСУВ ВПРАВО, ЦИКЛІЧНІ ЗСУВИ ВПРАВО І ВЛІВО, ЦИКЛІЧНІ ЗСУВИ ВПРАВО І ВЛІВО З ПЕРЕНОСОМ і ТЕСТУВАННЯ .

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

Команди розгалуження типового МП: безумовний перехід; перехід, якщо 0; перехід, якщо не 0; перехід, коли рівно, перехід, коли не рівно; перехід, коли результат (+), перехід, коли результат (-).

Для складніших МП команди переходу можуть залежати від таких умов: більше або менше; зсув чи ні; переповнення або ні.

Команди розгалуження є командами прийняття рішень.

Типовий 8-ми розрядний МП має команду виклику підпрограми (CALL - виклик), щоб програма могла перейти до спеціальної групи команд, які вирішують поставлене завдання.

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

Іншими командами типового МП є такі: немає операції, помістити в стек, вийти із стеку, очікування, зупинка (останов).

Користувачі працюють, як правило, із скороченими формами вираження операції МП, так званими мнемонічними (табл. 3.1).

Таблиця 3.1 – Представлення команди (операції) додавання типового МП

Операція

Мнемоніка

КОП

Символіка

Додати

ADD A

Н

А+М А

Мнемоніки команд завжди записуються великими літерами.

Код операції (КОП) є шістнадцятковим представленням 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

} Команда 2 (ADD)

0003

05

0004

В7

} Команда 3 (STORE)

0005

0006

На рис. 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 - зупинити МП.

Контрольні запитання до теми «організація роботи МП»

  1. Що таке МП загального призначення?

  2. Які бувають МПС?

  3. Які бувають способи адресації типового МП?

  4. Що таке система команд типового МП?

  5. Навіщо в МП використовуються інтерфейси вводу-виводу?

  6. Які з команд арифметичних дій виконує 8-ми розрядний МП?

  7. Які з логічних команд виконує 8-ми розрядний МП?

  8. Які з команд зсуву виконує 8-ми розрядний МП?

  9. Які з команд розгалужень виконує 8-ми розрядний МП?

  10. Які з команд роботи з підпрограмами виконує 8-ми розрядний МП?

  11. Пояснити послідовність виконання програми додавання однобайтних чисел.

  12. Яким чином побудована структура програми для МП на асемблері?