Из Википедии, бесплатной энциклопедии
  (Перенаправлено из запроса прерывания )
Перейти к навигации Перейти к поиску

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

Строки прерывания часто идентифицируются индексом с форматом IRQ, за которым следует номер. Например, в семействе программируемых контроллеров прерываний ( PIC ) Intel 8259 имеется восемь входов прерывания, обычно называемых от IRQ0 до IRQ7 . В x86 на основе компьютерных систем , использующих два этих ОСТО , комбинированный набор линий называют IRQ0 через IRQ15 . Технически эти линии называются от IR0 до IR7 , а линии на шине ISA, к которой они были подключены исторически, называютсяIRQ0 через IRQ15 (хотя исторически так как количество аппаратных устройств увеличилось, общее возможное количество прерываний было увеличено с помощью каскадных запросов, сделав один из номеров IRQ каскада на другой набор или наборы пронумерованных прерываний, обрабатывается одним или несколько последующие контроллеры).

Новые системы x86 включают усовершенствованный программируемый контроллер прерываний (APIC), который соответствует архитектуре Intel APIC. Эти APIC поддерживают интерфейс программирования для 255 физических аппаратных линий IRQ на APIC, при этом типичная система реализует поддержку всего около 24 аппаратных линий.

В первые годы развития персональных компьютеров управление IRQ часто вызывало озабоченность пользователей. С появлением устройств plug and play это было облегчено. [1]

Обзор [ править ]

При работе с аппаратным обеспечением персонального компьютера, установке и удалении устройств система полагается на запросы прерывания. Существуют настройки по умолчанию, которые настраиваются в BIOS системы и распознаются операционной системой. Эти настройки по умолчанию могут быть изменены опытными пользователями. Современная технология plug and play не только снизила необходимость беспокоиться об этих настройках, но также практически устранила ручную настройку.

x86 IRQs [ править ]

Ранние ПК, использующие процессоры Intel 8086/8088, имели только одну PIC и, следовательно, ограничены восемью прерываниями. Это было расширено до двух PIC с появлением ПК на базе 286.

Обычно в системах, использующих Intel 8259 PIC, используется 16 IRQ. IRQ от 0 до 7 управляются одним PIC Intel 8259, а IRQ с 8 по 15 - вторым Intel 8259 PIC. Первый PIC, мастер, является единственным, который напрямую сигнализирует CPU. Второй PIC, подчиненное устройство, вместо этого передает сигнал мастеру на своей линии IRQ 2, и мастер передает сигнал на CPU. Таким образом, для оборудования доступно только 15 строк запроса прерывания.

В APIC с системами IOAPIC обычно доступно 24 IRQ, а дополнительные 8 IRQ используются для маршрутизации прерываний PCI, избегая конфликта между динамически конфигурируемыми прерываниями PCI и статически сконфигурированными прерываниями ISA. В ранних системах APIC только с 16 IRQ или только с контроллерами прерываний Intel 8259 линии прерывания PCI направлялись на 16 IRQ с использованием PIR (маршрутизации прерываний PCI), интегрированного в южный мост. В APIC с системами MSI обычно доступно 224 прерывания. [2]

Самый простой способ просмотреть эту информацию в Windows - использовать Диспетчер устройств или Системную информацию (msinfo32.exe). В Linux сопоставления IRQ можно просмотреть, выполнив cat / proc / interrupts или используя утилиту procinfo .

Мастер PIC [ править ]

  • IRQ 0 - системный таймер (изменить нельзя)
  • IRQ 1 - клавиатура на порт PS / 2 (изменить нельзя)
  • IRQ 2 - каскадные сигналы от IRQ 8–15 (любые устройства, настроенные для использования IRQ 2, фактически будут использовать IRQ 9)
  • IRQ 3 - контроллер последовательного порта для последовательного порта 2 (совместно с последовательным портом 4, если присутствует)
  • IRQ 4 - контроллер последовательного порта для последовательного порта 1 (совместно с последовательным портом 3, если имеется)
  • IRQ 5 - параллельный порт 2 и 3 или  звуковая карта
  • IRQ 6 - контроллер гибких дисков
  • IRQ 7 - параллельный порт 1. Используется для принтеров или для любого параллельного порта, если принтер отсутствует. Его также можно использовать совместно с дополнительной звуковой картой при тщательном управлении портом.

Slave PIC [ править ]

  • IRQ 8 - часы реального времени (RTC)
  • IRQ 9 - прерывание управления системой Advanced Configuration and Power Interface (ACPI) на наборах микросхем Intel. [3] Другие производители наборов микросхем могут использовать для этой цели другое прерывание или сделать его доступным для использования периферийными устройствами (любые устройства, настроенные для использования IRQ 2, фактически будут использовать IRQ 9).
  • IRQ 10 - прерывание остается открытым для использования периферийными устройствами (открытое прерывание / доступно, SCSI или NIC )
  • IRQ 11 - прерывание остается открытым для использования периферийными устройствами (открытое прерывание / доступно, SCSI или NIC)
  • IRQ 12 - мышь на порт PS / 2
  • IRQ 13 - сопроцессор ЦП  или интегрированный модуль с плавающей запятой  или  межпроцессорное прерывание (использование зависит от ОС)
  • IRQ 14 - основной канал ATA (интерфейс ATA обычно обслуживает жесткие диски и приводы компакт-дисков )
  • IRQ 15 - вторичный канал ATA

Конфликты [ править ]

В начале IBM-совместимых персональных компьютеров , IRQ конфликт является когда - то общая ошибка аппаратных средств, полученных , когда два устройства пытаются использовать один и тот же запрос на прерывание (или IRQ) для сигнала прерывания на программируемый контроллер прерываний (PIC). PIC ожидает запросов прерывания только от одного устройства на линию, поэтому более одного устройства, отправляющего сигналы IRQ по одной и той же линии, обычно вызывают конфликт IRQ, который может привести к зависанию компьютера .

Например, если в систему добавляется плата расширения модема и ей назначается IRQ4, который традиционно назначается последовательному порту  1, это, скорее всего, вызовет конфликт IRQ. Первоначально IRQ 7 был обычным выбором для использования звуковой карты , но позже было использовано IRQ 5, когда было обнаружено, что IRQ 7 мешает работе порта принтера (LPT1). Последовательные порты часто отключаются, чтобы освободить линию IRQ для другого устройства. IRQ 2/9 - это традиционная линия прерывания для MIDI-порта MPU-401, но это конфликтует с прерыванием управления системой ACPI (SCI жестко привязан к IRQ9 на наборах микросхем Intel); [3] это означает ISA MPU-401 карты с аппаратным IRQ 2/9 и драйверы устройств MPU-401 с жестко запрограммированным IRQ 2/9 не могут использоваться в режиме управления прерываниями в системе с включенным ACPI.

В некоторых редких случаях два устройства ISA могут использовать один и тот же IRQ, если они не используются одновременно. Чтобы решить эту проблему, более поздняя шина PCI допускает совместное использование IRQ. PCI Express не имеет физических линий прерывания и использует прерывания с сигнализацией сообщений (MSI) для операционных систем, если они доступны.

См. Также [ править ]

  • Расширенный программируемый контроллер прерываний (APIC)
  • Программируемый контроллер прерываний (PIC)
  • Intel 8259
  • Обработчик прерывания
  • Базовый адрес ввода / вывода
  • Подключи и играй
  • Опрос
  • Прерывать

Ссылки [ править ]

  1. ^ "IRQ" . Проверено 13 сентября 2019 года .
  2. ^ Коулман, Джеймс (2009). «Результаты, платформа класса рабочих станций». Сокращение задержки прерывания за счет использования прерываний, сигнализируемых сообщением (PDF) . Корпорация Intel. п. 19.
  3. ^ a b Ошинс, Джейк (30 декабря 2001 г.). «RE: Машины ACPI и IRQ 9 [было: Общение с разработчиками NT]» . Проверено 17 апреля 2014 года .

Дальнейшее чтение [ править ]

  • Гиллуве, Фрэнк ван. Недокументированный ПК, второе издание , Addison-Wesley Developers Press, 1997. ISBN 0-201-47950-8 
  • Шенли, Том; Андерсон, Дон (1995). Мошенничество, Джон (ред.). Системная архитектура ISA (3-е изд.). Mindshare, Inc. / издательство Addison-Wesley Publishing Company . ISBN 0-201-40996-8. ISBN 978-0-201-40996-3 .  [1]
  • Солари, Эдвард. Архитектура и дизайн аппаратного и программного обеспечения PCI и PCI-X, шестое издание , Research Tech Inc., 2004. ISBN 0-9760865-0-6 

Внешние ссылки [ править ]

  • Руководство разработчика программного обеспечения для архитектур Intel® 64 и IA-32, том 3A: Руководство по системному программированию, часть 1, глава 6  - дополнительная информация об обработке прерываний Intel 64 и IA-32
  • Список прерываний Ральфа Брауна