Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга. Гуржій. 1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.53 Mб
Скачать

Заняття 1. Поняття про систему переривання пеом

Тема заняття

Концепції побудови системи переривання ПЕОМ.

Мета заняття

Вивчити поняття: система переривання ПЕОМ, слово стану процесора або програми.

Отримати уявлення про побудову системи перери­вання ПЕОМ.

Вивчити характеристики системи переривання.

Засвоїти основні особливості та принципи організації системи переривання програм.

Вивчити класи переривань ПЕОМ.

Вивчити всі аспекти організації переходу до перериваючої програми та механізм пріоритетного обслуговування запитів переривання.

Засвоїти методи використання механізму переривань.

Вивчити призначення векторів переривання ПЕОМ.

Принципи організації системи переривання програм

Під час виконання ЕОМ поточної програми всередині машини та у зв'язаному з нею зовнішньому середовищі (наприклад, у технологічному процесі, яким керує ЕОМ) можуть виникати події, що вимагають негайної реакції на них з боку машини. Реакція полягає в тому, що машина перериває обробку поточної програми та переходить до виконання деякої іншої програми, спеціально призначеної для даної події. Завершивши цю програму, ЕОМ повертається до виконання перерваної програми. Процес, що розглядається, називається перериванням програм. Принципово важливим є те, що моменти появи подій, що вимагають переривання програм, заздалегідь невідомі і тому не можуть бути враховані при програмуванні. Кожна подія, що вимагає переривання, супроводжується сигналом, що сповіщає процесор. Назвемо ці сигнали запитами переривання. Програму, викликану запитом переривання, назвемо перериваючою програмою, протиставляючи її програмі, що переривається і виконуєть­ся машиною до появи запиту.

Запити на переривання можуть виникати всередині самої ЕОМ та в її зовнішньому середовищі. До перших належать, наприклад, запити при виникненні в ЕОМ таких подій, як поява помилки в роботі її апаратури, переповнення розрядної сітки, спроба ділення на 0, вихід із встановленої для даної програми області пам'яті, вимога периферійним пристроєм операції вводу/виводу, завершення операції вводу/ виводу периферійним пристроєм або виникнення під час цієї операції особливої ситуації та ін. Хоча деякі із вказаних подій породжуються самою програмою, моменти їх появи, як правило, неможливо передбачити. Запити в зовнішньому середовищі можуть виникати від інших ЕОМ, від аварійних та деяких інших датчиків технологічного процесу і т. п.

По суті, запити переривання генеруються кількома процесами, що розвиваються паралельно в часі, та в деякі моменти вимагають втручання процесора. До цих процесів, зокрема, належить процес виконання самої програми, процес контролю правильності роботи ЕОМ, операції вводу/виводу, технологічний процес у керованому машиною об'єкті та ін. Можливість переривання програм — важлива архітек­турна властивість ЕОМ, що дозволяє ефективно використо­вувати продуктивність процесора при наявності кількох процесів, що протікають паралельно в часі, та вимагають у довільні моменти часу керування та обслуговування з боку процесора. В першу чергу це відноситься до організації паралельної в часі роботи процесора та периферійних пристроїв машини, а також до використання ЕОМ для керування в реальному часі технологічними процесами.

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

Щоб ЕОМ могла, не вимагаючи великих зусиль від програміста, реалізувати з високою швидкодією переривання програм, машині необхідно надати відповідні апаратурні та програмні засоби, сукупність яких отримала назву системи переривання програм або контролера переривання. Основ­ними функціями системи переривання є:

запам'ятовування стану програми, що перерива­ється, та здійснення переходу до перериваючої програми;

відновлення стану програми, яка переривається, та повернення до неї.

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

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

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