3.2.1. Типи і основні характеристики системи переривань
Роботу будь-якого комп’ютера можна представити як сукупність подій, які відбуваються усередині і поза процесором. Деякі події є програмно-залежними, інші - незалежними.
Внутрішні події можуть бути і тими, і іншими. Нормальна реалізація команди - програмно-залежна подія, програмний збій - незалежна. Події поза процесором зазвичай незалежні. До помилок в програмі відносяться переповнювання розрядної сітки, порушення захисту пам'яті, звернення до пристрою вводу/виводу з неіснуючою адресою, ділення на нуль.
Зовнішні події - запити від таймера, будильника, модема, пристроїв вводу/виводу. Кожний комп’ютер повинен своєчасно реагувати на всі події. Перше рішення: сканування незалежних подій. Сканування - включення в програму спеціальних команд, за допомогою яких можна визначати появу незалежних подій.
Недоліки: збільшення довжини програми, додаткова робота для програміста, великий час реакції на подію.
Був запропонований комплекс програмно-апаратних засобів, який був названий системою переривань(СП). Переривання - тимчасове припинення роботи програми при появі якоїсь події, передача управління іншій програмі - обробникові цієї події. Перервана програма - це програма, яка обслуговує переривання. Сигнали, які можуть викликати переривання, називаються запитами переривань(ЗП).
Основні завдання СП:
Пріоритетне обслуговування запитів переривань (ЗП). Окремі запити від джерел ЗП виникають у випадкові моменти часу, отже, може виникнути ситуація, коли буде більше одного ЗП. Для того, щоб вибрати з цих ЗП найважливіший, їм приписується пріоритет. Переривання схем контролю мають найвищий пріоритет, пристрої вводу/виводу - відповідно до швидкодії (більша швидкість - більший пріоритет). У сучасних комп’ютерах пріоритет встановлюється гнучким(програмно-керований).
Визначення допустимого моменту переривання. Об'єм інформації, що запам'ятовується, яка буде потрібна для продовження перерваної програми, істотно залежить від часу переривання. Початок переривання може бути визначеним після спеціально відмічених команд. Всі команди за часом реалізації діляться на короткі, середні та довгі. Якщо виконуються короткі, то переривання робиться після їх завершення. Якщо середні, то переривається на будь-якому такті, але програма буде продовжена з початкового такту, після довгих команд переривання робиться і продовжується з цього ж такту. Запам'ятовування інформації виконується в спеціальній стековій пам'яті.
Запам'ятовування стану перерваної програми і її відновлення після обслуговування переривання. Вся інформація формується в спеціальних словах PSW - ССП - слово стану програми.
Рис. 3.8. – Часові параметри СП
Основнами характеристиками СП є:
1. Часові (рис. 3.8)
tp = t2 - t1 - час реакції МП.
tзап = t3 - t2 - час запам'ятовування.
tвч = t4 - t3 - власна частина - корисний час роботи обслуговуючої програми.
tв = t5 - t4 - час відновлення перерваної програми.
2. Число входів в СП - загальне число джерел переривання (>1000). Число обслуговуючих програм значно менше числа джерел. Всі запити об'єднуються в класи. Для кожного класу може бути власна обслуговуюча програма. Така СП називається багаторівневою. Аналіз виникаючих запитів виконується за допомогою спеціальних схем. Можливе програмне розпізнавання причин переривання, тоді СП може бути однорівневим. Якщо разом з запитом видається адреса обслуговуючої програми, СП називається векторною. У мейнфреймах (МФ) СП - багаторівнева, у мікропроцесорних системах - векторна. У багаторівневих МФ існує 5 класів переривання:
Машинні переривання. Вид схем контролю.
Програмні. Вид помилок програм.
Звернення до супервізора.
Зовнішні. Поступають по каналах зв'язку.
Переривання вводу/виводу.
Чим вище номер класу, тим нижче пріоритет. Пріоритет для обслуговуючих програм - зворотний (окрім машинних).
3. Глибина переривання – кількість програм, які можуть переривати одна одну. Якщо після виконання програми, система не реагує на інші запити, то глибина дорівнює одиниці.
4. Насичення СП. Якщо до моменту вступу другого запиту не встигли обслужити перший запит від того ж джерела, то СП зветься насиченою. До складу будь-якої СП входить спеціальний регістр, який називається регістром переривань і який складається з декількох тригерів. Кожен тригер реєструє виникаючі запити певного класу, рівня або номера. Якщо обчислювальна система вибрала найбільш авторитетний з виниклих запитів, то відповідний тригер скидається в нуль. СП для аналізу стану тригерів регістра переривань використовує спеціальну схему аналізу запитів переривань. Кожен тригер відповідного рівня переривань жорстко підключається до одного з входів цієї схеми. Це рішення має такий недолік - пріоритет переривання виявляється жорстким, а в будь-якій обчислювальній машині відносна важливість виникаючих запитів і відповідних програм, обслуговуючих ці запити з часом міняються, тому в кожній системі переривань бажано мати пріоритети, що динамічно змінюються, як серед запитів, так і серед обслуговуючих програм.
Для здобуття пріоритету, що програмно-змінюється, з кожним тригером запиту переривань зв'язується ще один тригер, що входить в ще один регістр, який називається регістром маски. Якщо в певний момент часу запит відповідного рівня заборонений, у відповідному розряді регістра маски записується нуль (така ситуація називається «замаскованим запитом»). Якщо в якомусь розряді регістра маски записана одиниця, то запит демаскований. Для кожної програми задається власна маска - отримуємо програмно-керований пріоритет.
Схеми аналізу запитів переривань можуть бути наступних типів: схема з циклічним оглядом, схема огляду матричного типу, схема з регістром маски. Завдання кожної схеми огляду (СО) - знайти найстаршу одиницю в регістрі переривань, тобто визначити найбільший пріоритет з виниклих на даний час запитів і по номеру цього запиту обчислити початкову адресу переривання програми, яка обслуговуватиме даний запит.
Найбільш ефективною є схема з регістром маски. У схемі СО переривань з регістром маски схемі можна отримати програмно-керований пріоритет. Кожна поточна програма має власну маску, окремі розряди якої забороняють або дозволяють переривати цю програму запитом переривання відповідного рівня.
- Комп’ютерна схемотехніка. Архітектура комп’ютерів 2 зміст
- 2.1. Класифікація, призначення та основні характеристики пам'яті
- 2.2. Оперативна пам’ять (оп)
- 2.2.2. Статична пам'ять на біполярних транзисторах
- 2.3. Постійна пам'ять (пп)
- 2.9. Зовнішня оптична пам'ять
- 1. Представлення та обробка інформації
- Класифікація засобів обчислювальної техніки
- 1.2. Класифікація комп’ютерів
- 1.3. Структурна схема компю’терів, що використовують спільну шину
- 1.4. Системи числення
- 1.4.1. Базові параметри та класифікація систем числення
- 1.4.2.Загальні принципи побудови систем з послідовним обчисленням символів
- 1.4.3. Загальні принципи побудови систем числення з паралельним обчисленням символів
- 1.5. Кодування знакозмінної інформації. Коротка характеристика груп кодів, родинних прямому, зворотному, додатковому. Особливості застосування в комп'ютерах
- 1.6. Формати даних і команд сучасних комп’ютерів
- 1.7. Процесори
- 1.7.1. Склад і призначення пристроїв
- 1.7.2. Блок додавання чисел у формі з фіксованою крапкою
- 1.7.3. Особливості виконання складання чисел у формі з плаваючою крапкою
- 1.7.4. Реалізація процесора двійкового множення. Загальні положення
- 1.7.5. Реалізація множення в прямому коді
- I варіант.
- II варіант.
- III варіант.
- IV варіант
- 1.7.6. Реалізація в процесорі операції множення в додатковому коді
- 1.7.7. Реалізація методів прискореного множення в процесорах
- 1.7.8. Схемні методи прискореного множення
- 1.7.9. Особливості виконання множення чисел з плаваючою крапкою
- 1.8. Реалізація двійкового ділення в процесорі
- 1.8.1. Реалізація ділення чисел з фіксованою крапкою в прямому коді
- 1.8.2. Особливості ділення чисел у формі з плаваючою крапкою
- 1.9. Добування квадратного кореня
- Частина 2. Пам'ять комп'ютерів
- 2.1. Класифікація, призначення та основні характеристики пам'яті
- 2.2 Оперативна пам’ять (оп)
- 2.2.1 Внутрішня організація оп
- 2.2.2.Статична пам'ять на біполярних транзисторах
- 2.2.3. Статична пам'ять на езл-інтегральних схемах (іс)
- 2.2.4. Статична пам'ять на уніполярних транзисторах (на мон іс)
- 2.2.5. Динамічна пам’ять (дп) на моп транзисторах
- 2.2.6. Побудова пам’яті необхідної розмірності
- 2.3. Постійна пам'ять (пп)
- 2.3.1. Типи пп
- 2.3.2. Масочні пп (мпп)
- 2.3.3. Однократнопрограмована пам'ять
- 2.3.4. Репрограмована пам'ять
- 2.3.5. Flash-пам'ять
- 2.4. Зп с послідовним доступом(зппд)
- 2.4.1. Зппд на регістрах зсуву
- 2.4.2. Елемент зп з послідовним доступом на мон-транзисторах
- 2.4.3. Буферний зп типу "черга" (бп)
- 2.4.4. Пам'ять типу "список"/"стек"
- 2.5. Асоціативна пам'ять
- 2.6. Зовнішня пам'ять (зп)
- 2.6.1. Типи зп
- 2.6.2. Зовнішня магнітна пам'ять (змп)
- 2.6.3. Способи цифрового магнітного запису
- 2.7. Зовнішня пам'ять з прямим доступом(зпПрД)
- 2.7.1. Накопичувачі на гнучких магнітних дисках(нгмд)
- 2.7.2. Накопичувачі на жорстких магнітних дисках(нжмд)
- 2.7.3. Raid – дискові масиви
- 2.8. Зовнішні зп з послідовним доступом. Накопичувачі на магнітних стрічках(нмс). Стримери
- 2.9. Зовнішня оптична пам'ять
- 2.9.1. Оптичні диски типу cd
- 2.9.2. Оптичні диски типу dvd
- 2.10. Контроль роботи пристроїв пам’яті
- 3.1. Пристрій управління
- 3.1.1 Склад пристрою управління
- 3.1.2. Пу з жорсткою логікою
- 3.1.3. Мікропрограмний пристрій управління (пристрій управління з гнучкою логікою)
- 3.1.4. Мікропрограмний пристрій управління зі змінною тривалістю реалізації мікрокоманд.
- 3.2. Системи переривань
- 3.2.1. Типи і основні характеристики системи переривань
- 3.3. Система управління вводом/виводом
- 3.4. Організація мультипрограмного режиму роботи в сучасних комп’ютерах
- 3.4.1. Форми обслуговування користувачів і види мультипрограмування (мпр)
- 3.4.2. Динамічний розподіл пам'яті
- 3.4.3. Система захисту пам’яті (сзп)
- 0 1 2 3 4 5 6 7
- 3.5. Системи автоматичного контролю
- 3.5.1. Види помилок і способи контролю
- 3.5.2. Контроль передачі кодів
- 3.5.3. Контроль роботи комбінаційних схем
- 3.5.4. Контроль виконання операцій в процесорах
- 3.5.5. Контроль роботи процесорів по модулю 3