Что такое IRQ?

- Да вы, молодёжь, небось, IRQ от IDDQD не отличаете!

- Обижаете! Мы еще и IDKFA помним.

(по мотивам bash.org.ru)

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

IRQ расшифровывается как "interrupt request", что по-русски звучит как "запрос на прерывание". Так принято называть специальный сигнал, который сообщает процессору о необходимости прервать выполнение текущей программы, сохранить её состояние в стеке, и перейти к заранее заданному адресу памяти. Сам этот процесс называется прерыванием, и нередко саму аббревиатуру IRQ для краткости расшифровывают просто как "прерывание". Поддержка прерывания обеспечивается специальным контроллером прерываний, давно уже ставшим частью чипсета. В настоящее время, конечно, информация о том, что такое прерывания, имеет даже для ИТ-специалистов больше познавательный, нежели практический характер, однако некоторое время назад всё было совершенно иначе.

Нужно отметить, что выделяют два принципиально различных типа прерываний: аппаратные и программные. Аппаратные прерывания вызываются, как несложно догадаться по их названию, различными устройствами и связаны с событиями, которые произошли с этими самыми устройствами. Это, например, прерывания, вызванные нажатиями клавиш на клавиатуре, - такие прерывания называются внешними. Внутренние прерывания вызваны действиями самого центрального процессора (скажем, делением на ноль). Программные прерывания, напротив, связаны не с какими-то событиями в аппаратной части компьютера, а вызываются явно специальными инструкциями в программном обеспечении.

Каждое прерывание имеет собственный специфический номер, который определяет адрес перехода. После того, как вызванная прерыванием процедура отработает, процессор восстанавливает работавшую до вызова прерывания программу из стека, после чего её выполнение продолжается так, будто никакого прерывания и в помине не было.

 

Прерывания, ко всему прочему, делятся ещё на маскируемые и немаскируемые. Что это значит? Маскируемые прерывания - это такие, которые можно запретить (с помощью установки специально определённых для этого случая битов в маске прерывания - отсюда и их название), немаскируемые же обрабатываются в любом случае.

Вадим СТАНКЕВИЧ

Версия для печатиВерсия для печати

Номер: 

29 за 2009 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!