Навігація
Головна
 
Головна arrow Інформатика arrow Архітектура ЕОМ і систем
< Попередня   ЗМІСТ   Наступна >

УПРАВЛІННЯ ВХОДАМИ І СПОСОБИ ПРИЙОМУ СИГНАЛІВ ЗАПИТУ НА ПЕРЕРИВАННЯ

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

Для управління входами запиту використовуються команди, що дозволяють:

  • • сформувати маску, біти якої індивідуально дозволяють або забороняють (маскують) запити переривання. Маска зберігається в спеціальному реєстрі. Команди забезпечують установку нового стану маски;
  • • зчитувати поточний стан маски в акумулятор або інший регістр;
  • • управляти загальним прапором дозволу / заборони переривань. Відомо три способи прийому сигналів запитів:
  • статичний спосіб, при якому сигнал фіксується при появі високого рівня і залишається активним протягом всього часу його дії. Остання обставина може призвести до повторної фіксації вже прийнятого до обслуговування запиту. Зазначений недолік може бути усунутий блокуванням входу за допомогою додаткового тригера;
  • динамічний спосіб, при якому запит на переривання фіксується при кожному переході сигналу з 0 в 1. Запит зберігається до тих пір, поки не буде обслужений або скинутий командою. Недолік - низька стійкість: будь-яка перешкода на вході може викликати переривання. Фіксація відбувається навіть при маскуванні переривань;
  • комбінований спосіб, при якому для фіксації запиту використовується дві умови:
  • • зміна сигналу з 0 в 1;
  • • збереження протягом деякого часу високого рівня сигналу, щоб усунути вплив перешкод.

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

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

  • • вмістом лічильника команд і всіх регістрів процесора;
  • • станом всіх сигналів управління.

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

  • блокування основних регістрів і виконання підпрограми в іншому наборі (банку) регістрів. Цей спосіб має найбільшу швидкодією, однак його реалізація можлива тільки при наявності в процесорі подвійного набору регістрів;
  • пересилання на зберігання з подальшим поверненням вмісту лічильника команд і програмно-доступних регістрів в зовнішнє оперативну пам'ять зі звичайним способом запису і зчитування інформації;
  • пересилання на зберігання з подальшим поверненням вмісту лічильника команд і програмно-доступних регістрів в зовнішнє (внутрішню) оперативну пам'ять, організовану як стек. Цей спосіб знаходить найбільш широке застосування.

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

Контекстні перемикання виконуються за допомогою пар команд типу PUSH, POP або PUSHA, Рорау (дозволяють зберегти в стеці, а потім відновити вміст всіх регістрів).

Більшість процесорів автоматично зберігає деяку інформацію про стан процесора. Наприклад, всі процесори зберігають поточне значення лічильника команд; Motorola 6800 - вміст всіх своїх регістрів в стек.

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук