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

Цикли обміну по перериваннях

  1. IV.1. Одноразові ітераційні цикли
  2. Хвороби обміну речовин
  3. Великі цикли кон'юнктури
  4. Вплив обміну речовин на опірність
  5. Вплив різних факторів на процеси газообміну. Розвитку систем газообміну.
  6. Виявляє порушення ліпідного обміну.
  7. геокосмічні цикли

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

Переривання в мікропроцесорних системах бувають двох основних типів:

  • векторні переривання, які вимагають проведення циклу читання по магістралі;
  • радіальні переривання, які не вимагають ніякого циклу обміну по магістралі.

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

При векторному перериванні код номера переривання передається процесору тим пристроєм вводу / виводу, яке дане переривання запросило. Для цього процесор проводить цикл читання по магістралі, і по шині даних отримує код номера переривання. Шина адреси в даному циклі зазвичай не використовується, так як пристрій, запросила переривання, і так знає, що процесор буде звертатися саме до нього. У цьому випадку в магістралі достатньо всього однієї лінії запиту переривання для всіх пристроїв введення / виводу. Так організовані переривання, наприклад, в магістралі Q-bus.


Мал. 2.8. Сигнали запиту і надання переривання в магістралі Q-bus.

Схема поширення сигналів, що беруть участь в переривання на магістралі Q-bus, показана на рис. 2.8. Спрощена тимчасова діаграма циклу запиту і надання магістралі представлена ??на рис. 2.9.


Мал. 2.9. Цикл запиту / надання векторного переривання на магістралі Q-bus.

Запит переривання здійснюється негативним сигналом -VIRQ, який може формуватися кожним з пристроїв, які запитують переривання. Тип вихідного каскаду для цього сигналу - ОК, щоб уникнути конфліктів між запитувачами переривання пристроями. Отримавши сигнал -VIRQ, процесор надає переривання (закінчивши попередньо виконання поточної команди). Для цього він виставляє сигнал читання даних -DIN і сигнал надання переривання IAKO. Цей сигнал IAKO послідовно проходить через всі пристрої, які можуть запитувати переривання. Якщо пристрій запросило переривання, то воно не пропускає через себе цей сигнал. В результаті виходить, що якщо переривання одночасно запросили два або більше пристроїв, то сигнал надання переривання отримає тільки один пристрій, а саме те, що ближче до процесора. Такий механізм вирішення конфліктів називається іноді географічним пріоритетом (або цепочечную пріоритетом, Daisy Chain). Отримавши сигнал IAKO, пристрій, запросила переривання, має зняти свій сигнал -VIRQ.

Потім процесор проводить цикл безадресного читання номера переривання. У відповідь на отримані сигнали -DIN і IAKO пристрій, якому надано переривання, має видати на шину адреси / даних AD код номера переривання (адреса вектора переривання) і виставити сигнал підтвердження -RPLY. Процесор читає код номера переривання і закінчує цикл безадресного читання зняттям сигналів -DIN і IAKO.


Мал. 2.10. Структура зв'язків для організації радіальних переривань на магістралі ISA.

При радіальному перериванні в магістралі є стільки ліній запиту переривання, скільки всього може бути різних переривань. Тобто кожен пристрій введення / виведення, яка бажає використовувати переривання, подає сигнал запиту переривання по своїй окремій лінії. Процесор дізнається про номер переривання по номеру лінії, по якій прийшов сигнал запиту переривання. Ніяких циклів обміну по магістралі при цьому не потрібно. У разі радіальних переривань в систему зазвичай включається додаткова мікросхема контролера переривань, обробна сигнали запитів переривань. Саме так організовані переривання, наприклад, в магістралі ISA.

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

Який тип переривань краще - векторний або радіальний?

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

Радіальних переривань у системі зазвичай не дуже багато (від 1 до 16). При цьому типі переривань, як правило, потрібне введення в систему спеціального контролера переривань. Кожне радіальне переривання вимагає введення додаткової лінії в шину управління системної магістралі. Але працювати з радіальними перериваннями простіше, так як все зводиться тільки до вироблення єдиного сигналу IRQ, і ніяких циклів обміну по магістралі не потрібно.



Попередня   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   Наступна

Глава 1. Філософія мікропроцесорної техніки | Шинна структура зв'язків | Режими роботи мікропроцесорної системи | Архітектура мікропроцесорних систем | Типи мікропроцесорних систем | Глава 2. Організація обміну інформацією | Шини мікропроцесорної системи | Проходження сигналів по магістралі | функції процесора | функції пам'яті |

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