загрузка...
загрузка...
На головну

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

  1. III. Обробка списків за допомогою форми
  2. Введення і обробка даних в Excel
  3. Глава 8. статічтіческая обробка радіометричних вимірювань
  4. ДАНІ І ЇХ ОБРОБКА
  5. Будівельне устаткування, РІЗАННЯМ
  6. Винятки та їх об'єктна обробка
  7. Камеральна обробка польових вимірювань

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

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

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

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

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

Переривання від зовнішніх пристроїв детально розглядаються в наступному пункті.

Відзначимо, що термін «переривання» часто використовується ще в одному значенні. Йдеться про, так званих, програмних переривання. Наприклад, для IBM-сумісних комп'ютерів існують численні команди переривання 1NT з найрізноманітнішими номерами. Слід розуміти, що 1NT - це одна з інструкцій процесора; щоб вона запрацювала, її код повинен міститися в програмі. На противагу цьому, «справжні» переривання виникають апаратно і не вимагають наявності якихось спеціальних команд в тексті переривається програми. Більш того, апаратне переривання може статися між двома будь-якими командами програми.

До програмних відносяться і межмашинного переривання, що виникають в локальній мережі при обміні інформацією між комп'ютерами.

Заборона нефатального переривання називається маскуванням; маскування задається програмістом або системною програмою. Робиться це або за допомогою встановлення виду бітового поля в спеціальному регістрі маски переривань, в якому значення розрядів (0 чи 1) пов'язані відповідно з відсутністю або наявністю маскування закріпленого за цим розрядом переривання, або з аналогічним використанням розрядів регістра стану процесора.

Після отримання сигналу про незамаскованими перериванні процесор робить наступне:

- Запам'ятовує стан перерваної програми;

- Розпізнає джерело переривання;

- Викликає і виконує спеціальну системну програму обробки переривань;

- Відновлює стан перерваної Інтерфейсу, при можливості, продовжує її виконання.

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

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

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

 




І НЕ ТІЛЬКИ ПЕРСОНАЛЬНІ КОМП'ЮТЕРИ ... | ЩО ПОПЕРЕДУ? | АРХІТЕКТУРА ЕОМ | КЛАСИЧНА АРХІТЕКТУРА ЕОМ II ПРИНЦИПИ фон Неймана | ВДОСКОНАЛЕННЯ І РОЗВИТОК ВНУТРІШНЬОЇ СТРУКТУРИ ЕОМ | ОСНОВНИЙ ЦИКЛ РОБОТИ ЕОМ | СИСТЕМА КОМАНД ЕОМ І СПОСОБИ ЗВЕРНЕННЯ ДО ДАНИХ | ІСТОРІЯ РОЗВИТКУ МІКРОПРОЦЕСОРІВ | ВНУТРІШНЯ ОРГАНІЗАЦІЯ МІКРОПРОЦЕСОРА | РОБОТА МІКРОПРОЦЕСОРА З ПАМ'ЯТТЮ. МЕТОДИ аДРЕСАЦІЇ |

загрузка...
© um.co.ua - учбові матеріали та реферати