
- •Передмова
- •Intel 430lx
- •Intel 430nx
- •Intel 430fx
- •Intel 430hx
- •Intel 430vx
- •Intel 430tx
- •Intel 450gx/kx
- •Intel 440fx
- •Intel 440lx agPset
- •Intel 440ex
- •Intel 440bx agPset
- •Заняття 1. Поняття про систему переривання пеом
- •Принципи організації системи переривання програм
- •Слово стану процесора (програми)
- •Характеристики системи переривання
- •Організація переходу до перериваючої програми та пріоритетне обслуговування запитів переривання
- •Процедура переривання з опитуванням джерел (прапорців) переривання
- •Програмно-керований пріоритет перериваючих програм
- •Методи використання механізму переривань
- •Класи переривань пеом
- •Призначення контролера апаратних переривань пеом
- •Опис основних елементів і8259а
- •Стани програмованого контролера переривань
- •Заняття 5. Керування режимами роботи пкп
- •Void main (void){
- •Int mask;
- •Заняття 6. Керування пріоритетами переривань
- •Install proc near
- •Заняття 8. Особливості практичного використання апаратних та програмних переривань
- •Volatile long ticks;
- •Void main(void) {
- •Void _interrupt _far timer(void) {
- •Int8 proc near cli
- •Int09 proc near
- •Розділ 3. Підсистема таймера та годинника реального часу
- •Заняття 3. Системні засоби програмного доступу до ресурсів таймера
- •Void tm_delay(int ticks) {
- •Void main (void){
- •Void main(void){
- •Заняття 4. Приклади використання функціональних можливостей таймера в прикладних задачах
- •Void main(void){ int Frac; char k;
- •Void tm_sound(int freq, int time) {
- •Void tm_delay(int ticks) {
- •Void tm_sound(int freq, int time){
- •Void main(){
- •Void main() { int I,j; clrscr();
- •Заняття 5. Архітектура та принципи функціонування годинника реального часу
Заняття 1. Поняття про систему переривання пеом
Тема заняття
Концепції побудови системи переривання ПЕОМ.
Мета заняття
Вивчити поняття: система переривання ПЕОМ, слово стану процесора або програми.
Отримати уявлення про побудову системи переривання ПЕОМ.
Вивчити характеристики системи переривання.
Засвоїти основні особливості та принципи організації системи переривання програм.
Вивчити класи переривань ПЕОМ.
Вивчити всі аспекти організації переходу до перериваючої програми та механізм пріоритетного обслуговування запитів переривання.
Засвоїти методи використання механізму переривань.
Вивчити призначення векторів переривання ПЕОМ.
Принципи організації системи переривання програм
Під час виконання ЕОМ поточної програми всередині машини та у зв'язаному з нею зовнішньому середовищі (наприклад, у технологічному процесі, яким керує ЕОМ) можуть виникати події, що вимагають негайної реакції на них з боку машини. Реакція полягає в тому, що машина перериває обробку поточної програми та переходить до виконання деякої іншої програми, спеціально призначеної для даної події. Завершивши цю програму, ЕОМ повертається до виконання перерваної програми. Процес, що розглядається, називається перериванням програм. Принципово важливим є те, що моменти появи подій, що вимагають переривання програм, заздалегідь невідомі і тому не можуть бути враховані при програмуванні. Кожна подія, що вимагає переривання, супроводжується сигналом, що сповіщає процесор. Назвемо ці сигнали запитами переривання. Програму, викликану запитом переривання, назвемо перериваючою програмою, протиставляючи її програмі, що переривається і виконується машиною до появи запиту.
Запити на переривання можуть виникати всередині самої ЕОМ та в її зовнішньому середовищі. До перших належать, наприклад, запити при виникненні в ЕОМ таких подій, як поява помилки в роботі її апаратури, переповнення розрядної сітки, спроба ділення на 0, вихід із встановленої для даної програми області пам'яті, вимога периферійним пристроєм операції вводу/виводу, завершення операції вводу/ виводу периферійним пристроєм або виникнення під час цієї операції особливої ситуації та ін. Хоча деякі із вказаних подій породжуються самою програмою, моменти їх появи, як правило, неможливо передбачити. Запити в зовнішньому середовищі можуть виникати від інших ЕОМ, від аварійних та деяких інших датчиків технологічного процесу і т. п.
По суті, запити переривання генеруються кількома процесами, що розвиваються паралельно в часі, та в деякі моменти вимагають втручання процесора. До цих процесів, зокрема, належить процес виконання самої програми, процес контролю правильності роботи ЕОМ, операції вводу/виводу, технологічний процес у керованому машиною об'єкті та ін. Можливість переривання програм — важлива архітектурна властивість ЕОМ, що дозволяє ефективно використовувати продуктивність процесора при наявності кількох процесів, що протікають паралельно в часі, та вимагають у довільні моменти часу керування та обслуговування з боку процесора. В першу чергу це відноситься до організації паралельної в часі роботи процесора та периферійних пристроїв машини, а також до використання ЕОМ для керування в реальному часі технологічними процесами.
У деяких машинах разом або замість переривання з перемиканням керування на іншу програму використовується примітивне переривання, так зване припинення, коли за відповідним запитом припиняється виконання програми та виконується апаратурними засобами деяка процедура без зміни вмісту лічильника команд, а по її закінченні продовжується виконання припиненої програми.
Щоб ЕОМ могла, не вимагаючи великих зусиль від програміста, реалізувати з високою швидкодією переривання програм, машині необхідно надати відповідні апаратурні та програмні засоби, сукупність яких отримала назву системи переривання програм або контролера переривання. Основними функціями системи переривання є:
запам'ятовування стану програми, що переривається, та здійснення переходу до перериваючої програми;
відновлення стану програми, яка переривається, та повернення до неї.
При наявності кількох джерел запитів переривання має бути встановлений певний порядок (дисципліна) в обслуговуванні поступаючих запитів. Іншими словами, між запитами (та відповідними перериваючими програмами) повинні бути встановлені пріоритетні відношення, що визначають, який з кількох запитів, що поступили, підлягає обробці в першу чергу, та встановлюють, має чи не має право даний запит (перериваюча програма) переривати ту чи іншу програму. Пріоритетний вибір запиту для виконання входить до процедури переходу до перериваючої програми.
При виконанні процесором програми після кожного робочого такту, а тим більше в результаті завершення виконання чергової команди, змінюється вміст регістрів, лічильників, стану окремих керуючих тригерів. Можна говорити, що змінюється стан процесора, або, вживаючи іншу термінологію, стан програми.
Поняття стану процесора (стану програми) займає важливе місце в організації обчислювального процесу в ЕОМ. Інформація про стан процесора (програми) лежить в основі багатьох процедур керування обчислювальним процесом, наприклад при аналізі ситуацій при відмові та збоях, при поновленні програми після перерв, викликаних відмовами, збоями, перериваннями, для фіксації стану процесора (програми) в момент переходу в мультипрограмному режимі від обробки даної програми до іншої і т. п.