Робота МПС у режимі переривань

При готовності до роботи асинхронний зовнішній пристрій, підключений до контролера переривань, надсилає у МПС сигнал запиту переривання програми ЗПР (INT). Цей запит може бути задовільнено лише при дозволі переривань, який задається в основній програмі командою ЕІ (ENABLE INTERRUPT) – дозволити переривання. Вона задає у своєму четвертому такті Т4 внутрішній тригер МП дозволу переривань І (INTERRUPT). Команда DI (DESABLE INTERRUPT) забороняє переривання; у цьому разі запит ЗПР ігнорується. За наявності дозволу переривань МП установлює керувальний сигнал дозволу переривань ДПР (INTE). За запитом переривання поточна команда основної програми повністю завершується, після чого починається виконання машинного циклу оброблення переривань МІ:

МІ1

Т1 – на ША через РА установлюється вміст лічильника команд РС – адреси наступної команди основної програми, а на ШД видається ССПЦ дозволу переривань.

Т2 – ССПЦ фіксується в СКФ, після чого на ШК посилається сигнал підтвердження переривань Робота МПС у режимі переривань - student2.ru ( Робота МПС у режимі переривань - student2.ru ), який скидає в нуль тригер дозволу переривань І у МП, і знімається сигнал дозволу переривань ДПР (INTE). У результаті блокуються всі подальші запити переривань до установлення тригера І командою ЕІ в основній програмі або підпрограмі обробки переривань. У цьому такті вміст лічильника команд не інкрементується.

Т3 – з шини даних у РКОП МП завантажується спеціальна однобайтова команда RSTV (RESTАRТ), сформована апаратним способом з кодом 11ААА111, де ААА – будь-яка комбінація одиниць та нулів, забезпечуючи перехід МПС до одної з восьми підпрограм обслуговування переривань, кожна з яких займає по вісім комірок ППЗП.

Т4, Т5 – у цих тактах команда RSTV дешифрується і формуються два наступних тритактних машинних цикли МІ2 та МІ3.

Після декодування команди RSTV визначаються початкові адреси одної з восьми підпрограм, які обслуговують переривання.

У машинних циклах оброблення переривань МІ2 та МІ3 вміст РС для забезпечення можливості повернення до основної програми після завершення підпрограми обслуговування переривань запам’ятовується у стековій пам’яті, після чого у РС завантажується адреса першої команди одної з підпрограм, які обслуговують переривання. Останньою командою підпрограми завжди є команда повернення RЕT (RETURN), при виконанні якої у РС повертається зі стека адреса повернення на чергову команду основної програми для її продовження.

На рис. 7.9 та 7.10 показані спрощені часові діаграми циклу переривань відповідно МІ1 та МІ2 та МІ3.

 
  Робота МПС у режимі переривань - student2.ru

Рисунок 7.9 – Часові діаграми циклу переривань МI1

Можливості режиму переривань можуть бути розширені, якщо замість коду команди RSTV зовнішній пристрій буде формувати код стандартної команди виклику процедур CALL ADDR, де ADDR – початкова адреса підпрограми оброблення переривань.

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

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

 
  Робота МПС у режимі переривань - student2.ru

Рисунок 7.10 – Часові діаграми циклу переривань МI2 та МI3

Контрольні питання:

1 В яких засобах обчислювальної техніки використовуються 8-розрядні МП?

2 Яку розрядність має інтерфейс обміну даними з зовнішніми пристроями 8-розрядний МП?

3 Як інтерпретуються дані у 8-розрядних МП фірми Intel?

4 Які є програмно доступні елементи архітектури МПС на МП К580ВМ80А (І8080)?

5 З яких підсистем складається МПС КР580?

6 На прикладі виконання команди пересилання MOV B, C покажіть функціонування МПС.

7 Використовуючи часові діаграми циклів вибірки (читання пам’яті), покажіть реакцію МПС на сигнал неготовності ГОТ = 0.

Контрольні питання підвищеної складності:

1 Поясніть, як можна за допомогою пріоритетного шифратора підключити до МП зовнішній пристрій з максимальним пріоритетом?

2 В якому режимі працює клавіатура у складі ПК?

3 В якому режимі працює жорсткий диск у складі ПК?

Наши рекомендации