русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Обработка прерываний

В процессе нормальной работы различные подключенные к ПК периферийные устройства ввода/вывода, такие как клавиатура и дисководы, требуют своего обслуживания со стороны микропроцессора. Хотя устройства ввода/вывода могут обслуживаться подобно ячейкам памяти, между ними существует одно большое различие: в общем случае устройства ввода/вывода способны прерывать работу микропроцессора во время выполнения им программы. Устройство ввода/вывода делает это, выдавая процессору сигнал запроса прерывания (interrupt request, IRQ). Каждому устройству в PC-совместимой системе, которое способно прерывать работу микропроцессора, должен быть присвоен собственный уникальный номер IRQ. Система использует этот номер для определения того, какое устройство нуждается в обслуживании. Если микропроцессор отвечает на сигналы INT и периферийное устройство выдает запрос на прерывание в линию IRQ, микропроцессор прекращает выполнение текущей инструкции и выдает в шину управления сигнал подтверждения прерывания (interrupt acknowledge, INTA). Микропроцессор приостанавливает свою обычную работу и сохраняет содержимое своих внутренних регистров в специальной области памяти, называемой стеком. Вызвавшее прерывание устройство отвечает, отправляя микропроцессору начальный адрес специальной программы, называемой подпрограммой обслуживания прерывания. Микропроцессор использует эту программу для обслуживания вызвавшего прерывание устройства. По завершении его обслуживания содержимое стека восстанавливается в исходных регистрах, и микропроцессор возвращается к выполнению исходной программы с того места, где она была прервана. Если одновременно поступают два сигнала прерывания, первым обслуживается прерывание с более высоким приоритетом.

Контроллер прерываний воспринимает наделенные приоритетом сигналы IRQ от одного до восьми периферийных устройств по линиям IRQ с номерами от 0 до 7. Когда одно из периферийных устройств собирается осуществить обмен данными с микропроцессором, оно посылает IRQ в контроллер прерываний. Контроллер отвечает, посылая микропроцессору сигнал INT. При получении одновременно двух запросов на прерывание вначале контроллер принимает и реагирует на тот из них, приоритет которого выше. Устройства, подключенные к линии IRQ-0 имеют наивысший приоритет, а подключенные к линии IRQ-7 — низший.

Из 16 доступных каналов прерываний (от IRQ0 до IRQ 15) 3 используются в основном внутри микропроцессорного набора системной платы, поэтому они не имеют внешних контактов IRQ. Входы остальных 13 каналов IRQ доступны для выполнения системой определяемых пользователем функций прерываний. Каждому входу IRQ присвоен уровень приоритета. IRQ0 имеет наивысший приоритет, IRQ 15 — низший. Внутренне подключенные каналы таковы:

  • Канал О (IRQ0) Прерывание таймера/счетчика — ОК.
  • Канал 1 (IRQ1) Буфер клавиатуры заполнен.
  • Канал 2 (IRQ2) Каскадно соединен с INTC2.
  • Канал 8 (IRQ8) Прерывание часов реального времени.
  • Канал 9 (IRQ9) Каскад между INTC1 и INTC2
  • Канал 13 (IRQ 13) Прерывание математического сопроцессора.

Просмотров: 3013

Оглавление: Аппаратное и программное обеспечение




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.