Запрос прерывания
![]() | Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Ноябрь 2011 г. ) |
В компьютере ( запрос прерывания или IRQ ) — это аппаратный сигнал, посылаемый процессору, который временно останавливает работающую программу и позволяет специальную программу — обработчик прерываний вместо нее запустить . Аппаратные прерывания используются для обработки таких событий, как получение данных от модема или сетевой карты , нажатия клавиш или движения мыши.
Строки прерываний часто обозначаются индексом, в формате IRQ за которым следует число . Например, в (PIC) Intel 8259 семействе программируемых контроллеров прерываний имеется восемь входов прерываний, обычно называемых от IRQ0 до IRQ7 . В x86 на базе компьютерных системах , использующих два из этих PIC , объединенный набор линий обозначается как IRQ0 – IRQ15 . Технически эти линии называются от IR0 до IR7 , а линии на шине ISA , к которым они исторически были подключены, называются от IRQ0 до IRQ15 (хотя исторически по мере увеличения количества аппаратных устройств общее возможное количество прерываний увеличивалось посредством каскадирования). запросы, путем каскадирования одного из номеров IRQ в другой набор или наборы пронумерованных IRQ, обрабатываемых одним или несколькими последующими контроллерами).
В более новых системах x86 интегрирован усовершенствованный программируемый контроллер прерываний (APIC), соответствующий архитектуре Intel APIC. Эти APIC поддерживают программный интерфейс до 255 физических аппаратных линий IRQ на каждый APIC, при этом типичная система реализует поддержку всего около 24 аппаратных линий.
В первые годы существования персональных компьютеров управление прерываниями часто вызывало беспокойство у пользователей. С появлением устройств Plug and Play эта проблема была решена за счет автоматической настройки. [1]
Обзор [ править ]
При работе с оборудованием персонального компьютера, установке и удалении устройств система полагается на запросы прерываний. Существуют настройки по умолчанию, которые настраиваются в BIOS системы и распознаются операционной системой. Эти настройки по умолчанию могут быть изменены опытными пользователями. Современная технология Plug and Play не только уменьшила необходимость беспокоиться об этих настройках, но и практически исключила ручную настройку.
IRQ x86 [ править ]
Ранние ПК, использующие процессоры Intel 8086/8088, имели только один PIC и, следовательно, ограничивались восемью прерываниями. С появлением ПК на базе 286 это было расширено до двух PIC.
Обычно в системах с процессором Intel 8259 PIC используется 16 прерываний. IRQ 0–7 управляются одним PIC Intel 8259, а IRQ 8–15 — вторым PIC Intel 8259. Первый PIC, ведущий, является единственным, который напрямую передает сигналы ЦП. Вместо этого второй PIC, ведомый, передает сигнал ведущему по своей линии IRQ 2, а ведущий передает сигнал ЦП. Таким образом, для аппаратного обеспечения доступно только 15 линий запроса прерывания.
В системах APIC с IOAPIC обычно доступно 24 IRQ, а дополнительные 8 IRQ используются для маршрутизации прерываний PCI, что позволяет избежать конфликта между динамически настроенными прерываниями PCI и статически настроенными прерываниями ISA. В ранних системах APIC только с 16 IRQ или только с контроллерами прерываний Intel 8259 линии прерываний PCI маршрутизировались к 16 IRQ с использованием таблицы PIR (маршрутизация прерываний PCI), интегрированной в BIOS. Операционные системы, такие как Windows 95 OSR2, могут использовать таблицу PIR для обработки управления PCI IRQ; [2] [3] позже таблица PIR была заменена ACPI . В APIC с системами MSI обычно доступно 224 прерывания. [4]
Самый простой способ просмотреть эту информацию в Windows — использовать диспетчер устройств или информацию о системе (msinfo32.exe). В Linux сопоставления IRQ можно просмотреть, выполнив cat /proc/interrupts
или с помощью procinfo
полезность.
Мастер ПОС [ править ]
- 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 – параллельный порт 3 или звуковая карта
- IRQ 6 – контроллер гибких дисков
- IRQ 7 – параллельный порт 1 (совместно с параллельным портом 2, если он имеется). Он используется для принтеров или для любого параллельного порта, если принтер отсутствует. Его также потенциально можно использовать совместно с дополнительной звуковой картой при тщательном управлении портом.
Ведомый PIC [ править ]
- IRQ 8 – часы реального времени (RTC)
- IRQ 9 — Advanced Configuration and Power Interface (ACPI) на чипсетах Intel. прерывание управления системой [5] Другие производители чипсетов могут использовать для этой цели другое прерывание или сделать его доступным для использования периферийными устройствами (любые устройства, настроенные на использование 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); [5] это означает, что карты ISA MPU-401 с жестко запрограммированным IRQ 2/9 и драйверы устройств MPU-401 с жестко запрограммированным IRQ 2/9 не могут использоваться в режиме управления прерываниями в системе с включенным ACPI.
В некоторых случаях два устройства ISA могут использовать один и тот же запрос прерывания, если они не используются одновременно. Чтобы решить эту проблему, более поздняя шина PCI позволяет совместно использовать IRQ. PCI Express не имеет физических линий прерываний и использует прерывания с сигналами сообщений (MSI) для операционных систем, если они доступны.
См. также [ править ]
Ссылки [ править ]
- ^ «ИРК» . Проверено 13 сентября 2019 г.
- ^ «1.3.1.2. Управление IRQ шины PCI — аппаратное обеспечение ПК в двух словах, 3-е издание [книга]» .
- ^ «Plug-and-Play-HOWTO: Прерывания PCI» .
- ^ Коулман, Джеймс (2009). «Результаты, платформа класса рабочих станций». Уменьшение задержки прерывания за счет использования прерываний, сигнализируемых сообщениями (PDF) . Корпорация Интел. п. 19.
- ↑ Перейти обратно: Перейти обратно: а б Ошинс, Джейк (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 . 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.
- Список прерываний Ральфа Брауна