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

1.3. Організація системи переривання.

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

1.3.1. Основні визначення і характеристики

Роботу обчислювальної системи можна представити як послідовність программно-определяемых (породжуваною програмою і можливі моменти появи яких відомі) і програмно-незалежних (викликаних сторонніми від програми чи джерелами моменти виникнення яких невідомі) подій.

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

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

Припустимо, що ми ввели команду переходу по якій-небудь програмно-незалежній події, тоді

  • неясно, коли ця подія відбудеться;

  • неясно, як часто варто вставляти в програму команду переходу по даній події.

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

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

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

У системі з перериванням кожна програмно-незалежна подія (джерело переривання) повинне, якщо воно може вплинути на хід обробки, супроводжуватися сигналом, що говорить про його виникнення. Назвемо ці сигнали запитами переривання. Програми, викликані запитами переривання, назвемо програмами, що переривають, на відміну від перерваних програм, що виконувалися комп'ютером до появи запитів переривання. Тимчасову діаграму процесу переривання можна спрощено зобразити так (рис. 6.1).

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

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

Тому що всілякі запити на переривання виробляються незалежно й асинхронно, те можливі такі ситуації:

  • прихід запитів послідовний;

  • одночасний прихід декількох запитів;

  • прихід запиту під час виконання програми, що перериває.

Отже, повинний бути організований порядок, у якому запити, що надійшли, задовольняються. Якщо у ВР маються засоби для обслуговування запитів у порядку привласненого їм пріоритету, то такі системи переривання називаються пріоритетними.

СПП, як правило, виконують наступні основні функції:

  • організують вхід у програму, що перериває;

  • здійснюють пріоритетний вибір між запитами переривання;

  • забезпечують повернення до перерваної програми і програмна зміна пріоритетів програм.