Irq в секунду что это: Страдания по IRQ — FAQHard.RU

Содержание

Страдания по IRQ — FAQHard.RU

Начнем с понятия «прерывание».
Прерывание — это событие, которое говорит системе, что что-то произошло, и требует вмешательства.

Такими событиями могут быть: нажатая клавиша на клавиатуре, сигнал от модема, всевозможные ошибки (вроде деления на нуль) и тому подобное.

Как вы наверняка уже слышали, существуют аппаратные и программные прерывания.

Аппаратные (IRQ — Interrupt ReQuest) — те, которые инициируются железом, а программные — софтом, причем механизмы вызова аппаратного или программного прерывания немного различаются, хотя для процессора это в принципе одно и то же.

С программными прерываниями (INT — Interrupt) просто — программа вызывает запрос на прерывание (на языке ассемблера это INT xx, где xx — номер прерывания), после чего процессор сохраняет адрес возврата в программу и флаги состояния процессора, и переходит к обработчику прерывания.

Найти адрес программы-обработчика процессору очень просто (даже думать не приходится) — первый килобайт оперативной памяти содержит адреса этих программ.

Адрес обработчика нулевого прерывания (прерывания нумеруются с нуля) расположен в самом начале, сразу за ним — адрес обработчика первого прерывания, и так далее до 255-го прерывания.
Выход из обработчика прерывания производится программой-обработчиком, причем управление передается команде, следующей за процедурой вызова прерывания.

Аппаратные прерывания организуются немного сложнее — у каждой шины (PCI, ISA и т. д.) существуют определенные линии (читай — контакты), которые отвечают за прерывания, вызываемые устройствами.

Номера аппаратных прерываний не прямо соответствуют адресам программных, то есть аппаратному IRQ 0 соответствует INT 8, и так далее по таблице.

Зачем, спрашивается, нужны эти IRQ?
Во-первых — постоянно опрашивать все устройства на предмет «а не желаете ли Вы нам что-нибудь этакое передать?» просто непозволительно с точки зрения производительности.

Процессор просто утомится это делать — гораздо легче дать устройству какие-то права, и пусть оно командует.
Во-вторых, сам механизм позволяет программам и процессору абсолютно наплевательски относиться ко всем выступлениям со стороны устройств.

То есть программа даже не замечает, что, пока она работала, произошло 843 IRQ от жестких дисков, клавиатуры, таймера и прочего неотъемлемого барахла из мира внутренностей компьютера.
К тому же, очень важен тот факт, что устройство теоретически может быть обслужено именно в тот момент, когда оно готово что-то сделать или что-то сообщить системе.

Представьте себе, что на двух разных прерываниях «висят» два устройства — радар слежения за ракетами дальнего действия и чайник.
И вдруг они одновременно вызывают свои прерывания.
Что важнее для вас — чайник или сноп ракет, который может через минуту опуститься вам на голову?
То-то же!

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

1 2 3 4… 7

Что такое IRQ? | KV.

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

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

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

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

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

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

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

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

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

Max irq per second что это – Тарифы на сотовую связь