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

1.3.2. Параметри ефективності системи переривання

Для порівняння різних СПП використовуються найчастіше наступні параметри їхнього функціонування:

  • час реакції – час між появою запиту на переривання і початком виконання першої команди програми, що перериває, (tр). Тому що tр залежить від пріоритету програми, то для характеристики системи використовують час реакції для програми з найвищим пріоритетом;

  • час обслуговування переривання – різниця між повним часом виконання програми, що перериває, (tпр) і часом виконання всіх корисних команд (tп), тобто tобс = tз + tв;

  • питома вага програм, що переривають ;

  • глибина переривання – максимальне число програм, що можуть переривати один одного. Можливі випадки:

  • тільки один запит сприймається системою;

  • глибина переривання фіксована (n0);

  • програми можуть скільки завгодно раз переривати один одного.

Схема переривання при виконанні програм, що переривають, зображена на рис. 6.2.

Ясно, чим більше глибина переривання, тим краще можна врахувати пріоритетне обслуговування. Так, якщо при глибині переривання n0 прийшла

n0+1-я програма, коли виконується n-і переривання, причому n0+1-я програма з найвищим пріоритетом, то вона буде прийнята до виконання тільки після виконання n0-й програми;

  • насичення системи переривання. Якщо tp чи tп запиту настільки великі, що запит виявиться необслугованим до моменту приходу нового запиту від того ж пристрою, то виникає явище, називане насиченням системи переривання. У цьому випадку факт посилки попереднього запиту від даного джерела буде втрачений. Параметри системи повинні бути так погоджені, щоб насичення системи не наступило.

Вхід у програму, що перериває

Система переривання програм повинна визначити припустимий момент переривання поточної програми і початкова адреса програми, що перериває. Найбільш простими є три наступних способи визначення припустимого моменту переривання.

Метод позначеного оператора (опорних крапок). Суть методу полягає в наступному. У спеціальні розряди команд, після яких допускається переривання, записується визначений знак, що дозволяє (наприклад, стан "1" спеціального біта команди) чи що забороняє (наприклад, стан "0") переривання. Тоді уздовж програми можна розставити всі опорні крапки. Тут бажано так розставити крапки переривання, щоб інформація, що знаходиться в регістрах процесора після виконання даної команди, далі не використовувалася. Це зменшує час обслуговування, але збільшує час реакції.

Покомандный спосіб. Тут переривання допускається після виконання будь-якої команди. Спосіб простий у реалізації. При цьому tр зменшується, а tобс збільшується.

Метод швидкого реагування. Переривання допускається під час виконання будь-якої команди, тобто після виконання чергового її такту. Тут tр mіn, а tобс max, тому що треба запам'ятовувати і потім відновлювати деякі звичайно програмно-недоступні елементи (наприклад, лічильник тактів і т.п. ).

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

Розпізнавання початкової адреси програми, що перериває, можна здійснювати як програмним, так і апаратним способом.

Суть програмного розпізнавання: усі лінії зв'язку, по яких приходять запити переривання, поєднуються в ЧИ схему, що формує на виході той самий сигнал, що у припустимий момент переривання надходить у програму, що перериває. Остання розпізнає запити і розгалужується для їхнього виконання.

Загальна схема роботи програми, що перериває, приведена на рис. 6.3.

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

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

Таким чином, система з апаратним розпізнаванням причин переривання може бути названа багаторівневою системою переривання.

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

Зручний компроміс досягається від сполучення апаратного і програмного методів розпізнавання причин переривання. Можна організувати систему, у якій кожен рівень використовується для обслуговування декількох джерел переривання, а фізично рівень реалізується у виді деякої кількості входів, що переривають, об'єднаною ЧИ схемою. Наприклад, що керує машина ІBM 1800, використовуючи подібний компроміс, має 24 рівня переривання, до кожного з який може приєднуватися до 16 входів, що переривають. У визначену для даного рівня переривання комірку пам'яті записується стан входів, що переривають, у момент переривання.