Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
spz / шпори.doc
Скачиваний:
100
Добавлен:
23.02.2016
Размер:
1.56 Mб
Скачать

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

Переривання це примусова передача керування від виконуваної програми до системи, а через неї до відповідної програми обробки переривань, що відбувається при виникненні визначеної події. Переривання виникли в початку 50-их років. Основною метою є асинхронною роботою обчислювального комплексу.

Механізм обробки переривань.

Механізм обробки переривань реалізується … він може бути різним, але завжди включає наступні етапи:

  • Установлення факту поривання і ідентифікація переривання

  • Запам’ятовування процесу, що перервався

  • Керування апаратно передається програмі обробки переривань.

  • Збереження інформації про перервану програму на кроці 2 якої не вдалося виконання.

  • Обробка переривання

  • Відновлення інформації про перервану програму. Процес зворотній до 6 процесу.

  • Повернення до перерваної програми.

Пункти 1-3 апаратно, а 4-7 програмно.

Функції механізму переривань.

  1. Розпізнавання або класифікація програм

  2. Передача керування відповідному оброблювачу переривань.

  3. Коректне повернення до перерваної програми.

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

При наявності в полі коду операції не задіяної двійкової операції

При діленні на нуль

При переповненні розрядної сітки

При виявленні помилок парності у роботі пристроїв засобами контролю апаратури.

Групи переривань.

Прерывания могут быть программными и аппаратными.

Аппаратные прерывания происходят по запросу периферийных устройств и называются IRQ (Interrupt Requests). Архитектура шины ISA ограничивает их число до 16 (IRQ0 — IRQ15).

К аппаратным прерываниям относятся также специальные прерывания, которые генерирует сам процессор. Такие прерывания используются для обработки «исключительных ситуаций» — неверный операнд, неизвестная команда, переполнение и другие непредвиденные операции, когда процессор сбит с толку и не знает, что делать. Эти прерывания имеют свои обозначения и никак не относятся к зарезервированным для периферии прерываниям IRQ0-IRQ15.

Все аппаратные прерывания можно разделить на две группы: прерывания, которые можно игнорировать («замаскировать») и те, которые игнорировать нельзя. Первые называются маскируемыми (maskable), а вторые — немаскируемыми (non-maskable). Аппаратные прерывания могут быть отключены путем установки флага IF регистра признаков в 0. Единственное прерывание, которое отключить нельзя — это NMI, немаскируемое прерывание, генерирующееся при сбое памяти, сбое в питании процессора и подобных форс- мажорных обстоятельствах.

Программные прерывания генерируются с помощью специальной команды в теле программы, то есть их порождает программист. Обычно программные прерывания используются для «общения» вашей программы с операционной системой.

Соседние файлы в папке spz