Windows 7 настройка прерываний

Обновлено: 02.07.2024

Как избежать зависаний компьютера или О прерываниях. Маленький ликбез

Редко какой компьютер, особенно домашний, проживет всю свою жизнь, ни разу не подвергшись или модернизации, или добавлению новых устройств. В большинстве случаев, естественно, при соблюдении самых элементарных правил, такая операция проходит безболезненно, не вызывая никаких особых проблем. Но примерно каждый десятый (или даже двадцатый - не суть важно) компьютер доводится до нерабочего состояния: начинает часто зависать, отказывается выполнять какие-либо функции, а то и просто вываливается в столь любимый всеми нами синий экран смерти. Как правило, наиболее вероятная причина таких неполадок кроется в конфликтах оборудования (нового и старого), не поделивших какие-либо аппаратные ресурсы. Хорошо, если Ваша квалификация позволяет решить возникшие проблемы, или поблизости есть кто-то, который может Вам помочь, а если ничего подобного нет? Однако не боги, как известно, горшки обжигают, посидим, подумаем - глядишь, и прорвемся, ведь не так уж все и сложно, хотя проблема совместимости самого различного оборудования, с момента своего возникновения в середине 80-х годов, до сих пор ни сколько не уменьшилась. Предлагаемая статья поможет пользователю разобраться с одним из видов аппаратных ресурсов, требующихся для оборудования, и чаще всего являющихся первопричиной всевозможных конфликтов - с аппаратными прерываниями (IRQ).

Аппаратные ресурсы системы

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

Гораздо реже используются каналы прямого доступа к памяти (DMA - Direct Memory Access). Данный тип взаимодействия предназначен для устройств, обменивающихся большими блоками данных с оперативной памятью, например, дисковые накопители или принтеры. Весь обмен идет в обход центрального процессора, который лишь инициирует операцию обмена и сразу же приступает к выполнению другой работы. Такой подход способен значительно увеличить производительность всей системы.

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

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

Распределение прерываний

  • IRQ 0 - прерывание системного таймера. Генерируется 18,2 раза в секунду. Применяется в данном качестве с момента создания первого компьютера IBM PC (для другого использования этот номер недоступен);
  • IRQ 1 - прерывание клавиатуры. Генерируется контроллером клавиатуры при каждом нажатии на клавишу (для другого использования номер недоступен);
  • IRQ 2 в компьютерах класса XT, использовавших только 8 линий прерываний, был зарезервирован для дальнейшего расширения системы и, начиная с машин класса AT, стал использоваться для подключения второго контроллера. Сегодня IRQ 2 используется системой для совместимости со старым программным обеспечением, для другого использования номер недоступен;
  • IRQ 3 - прерывание асинхронного порта COM 2. Этим же прерыванием пользуются еще и устройства, работающие через порт COM 4. При желании их можно отключить, но присвоить IRQ 3 все равно больше никому не удастся;
  • IRQ 4 по аналогии с предыдущим, это прерывание используется устройствами, занимающими порты СОМ 1/COM 3;
  • IRQ 5 изначально предназначалось для использования вторым параллельным портом LPT2, но потом, когда от второго параллельного порта отказались, IRQ 5 перешло в разряд свободных. Позже активно использовалось большинством звуковых карт ISA. современные PCI-звуковые карты используют это прерывание исключительно для совместимости со старыми играми, подавляющее большинство которых поддерживают SB Pro. IRQ 5 можно использовать для других целей и привязать к слоту PCI;
  • IRQ 6, начиная с первых PC, используется флоппи-контроллером (для другого использования номер недоступен);
  • IRQ 7 - по умолчанию прерывание первого параллельного порта LPT 1. При отключенном порте (если принтер отсутствует или рассчитан на USB) может использоваться различными устройствами. IRQ 7 можно привязать к слоту PCI;
  • IRQ 8 - прерывание часов реального времени, впервые появившихся в IBM AT. Другое использование невозможно;
  • IRQ 9 и IRQ 10 свободны;
  • IRQ 11 обычно резервируется для шины USB, однако может применяться и в других целях (для этого следует отключить поддержку USB в BIOS);
  • IRQ 12 используется для мыши типа PS/2, однако может применяться в других целях (если мышь PS/2 отсутствует или отключена);
  • IRQ 13 изначально применялось арифметическим сопроцессором, и теперь оно зарезервировано для совместимости со старым программным обеспечением (для другого использования номер недоступен);
  • IRQ 14 и IRQ 15 применяются, соответственно, первичным и вторичным IDE-контроллерами.

Узнать, как в данный момент распределены номера прерываний в Вашем конкретном случае можно несколькими способами. При запуске компьютера, еще до начала загрузки Windows, появляется текстовая таблица конфигурации. Сразу после нее идет перечень PCI-устройств с указанием назначенного им номера IRQ.

Или, если Вы все еще работаете с Windows 9x, то в панели управления есть иконка Система, щелкните на ней - и выбирайте закладку "Устройства". В свойствах устройства "Компьютер" можно найти перечень всех устройств с указанием их IRQ. В Windows 2000/ХР у нас нет непосредственного доступа к управлению прерываниями, поэтому для просмотра списка IRQ нужно воспользоваться стандартной информационной утилитой (Панель управления/Администрирование/Управление компьютером/Сведения о системе/Ресурсы аппаратуры). Ну и, наконец, никто не отменял использование утилит, тестирующих аппаратные и программные возможности компьютера.

Среди них, без сомнения, самой популярной является SANDRA, способная предоставить пользователю исчерпывающую информацию, в том числе и о прерываниях.

Конфликты устройств

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

Как Вы знаете, персональные компьютеры начались с IBM PC ХТ. Его архитектура предусматривала всего восемь линий аппаратных прерываний, которыми управлял специальный контроллер. Каждой из них назначался свой уникальный номер, который определял приоритет прерывания и адрес его обработчика (так называемый вектор прерывания). Следующий вариант архитектуры, IBM PC AT, дополнил существующие линии еще восемью, для управления которыми использовался второй контроллер, подключаемый к одной из линий прерывания первого контроллера. К сожалению, на этом данная архитектура остановилась в своем развитии, поэтому все современные компьютеры, несмотря на значительно возросшее число используемых в них дополнительных устройств, по-прежнему имеют только шестнадцать линий прерываний, одно из которых резервируется для эмуляции второго контроллера.

Изначально у компьютера IBM PC AT была только одна шина, по которой устройства могли общаться с процессором и памятью - ISA. Большинство линий прерываний были закреплены за стандартными ISA-устройствами, поэтому, когда появилась новая универсальная шина PCI, выяснилось, что на ее долю осталось всего четыре свободные прерывания, обозначаемые как INT A, INT B, INT C, INT D, поэтому всего только четыре PCI устройства могут получить в системе независимые прерывания. Но при этом необходимо учитывать, что на особенном положении находится контроллер IDE, который не входит в число тех четырех устройств только потому, что, хотя по способу передачи данных он и является PCI-устойством, но за ним жестко закреплены свои прерывания IRQ 14 и IRQ 15, как для старых устройств ISA. Для шины AGP, которая является разновидностью шины PCI, "пожертвован" INT A, а шина USB, как один из системных компонентов, подключается к PCI, используя INT D, что уменьшает число "честных" PCI устройств всего до двух. Не следует забывать и о подсистеме управления питанием Power Management/System Management, которая так же требует своего прерывания. Таким образом, в реальной жизни, при наличии нескольких устройства PCI, использующих прерывания, невозможно обеспечить им уникальные аппаратные IRQ, и в таких случаях используются аппаратно-программный способ, основанный на базе технологии Plug & Play, что теоретически позволяет избежать возникновения конфликтов. Хотя в реальной жизни может случиться все, что угодно, да и оставшиеся до сих пор устройства ISA не умеют делиться линиями прерываний, потому являются основными провокаторами конфликтов. Таким образом, задача устранения конфликтов сводится к правильному распределению номеров прерываний в случае возникновения проблем с устройствами ISA или "глючными" драйверами.

  • Каждый PCI слот может активизировать до четырёх прерываний - INT A, INT B, INT C и INT D;
  • AGP слот может активизировать два прерывания - INT A и INT B;
  • Нормально когда каждый слот назначен как INT A. Остальные прерывания зарезервированы, если PCI/AGP устройство потребует больше, чем одно прерывание или если запрашиваемое прерывание занято;
  • AGP слот и PCI слот 1 распределяют одинаковые прерывания;
  • PCI слоты 4 и 5 так же распределяют одинаковые прерывания;
  • USB использует PIRQ_4.

Ниже приведена таблица, показывающая связь между PIRQ (Programmable Interrupt Request - программируемый запрос прерывания) и INT (Interrupt - прерывание):

Сигнал AGP Slot
PCI Slot 1
PCI Slot 2 PCI Slot 3 PCI Slot 4
PCI Slot 5
PIRQ_0 INT A INT D INT C INT B
PIRQ_1 INT B INT A INT D INT C
PIRQ_2 INT C INT B INT A INT D
PIRQ_3 INT D INT C INT B INT A

Обычно следует оставить опцию в положении AUTO. Но, если возникла необходимость установить индивидуальное IRQ устройству на AGP или PCI шине, прежде всего, необходимо определить, в каком слоте установлено устройство. Потом, сверившись с таблицей, можно установить основной PIRQ. Например, если сетевая карта установлена в слот 3, то основной PIRQ будет PIRQ_2, потому как все слоты назначаются, по возможности, на INT A. После этого выбирается желаемое IRQ, присваивая ему соответствующее значение PIRQ. Только необходимо помнить, что BIOS будет пытаться назначить PIRQ в INT A для каждого слота. Так что, для AGP и PCI 1 слотов основной PIRQ это PIRQ_0, тогда как для PCI слота 2 основной PIRQ это PIRQ_1 и так далее. Второй раз номера прерываний распределяются операционной системой, хотя Windows 9х начинает вмешиваться в произведенные BIOS-ом действия только в крайних случаях. В Windows 98 управление системой распределения IRQ осуществляется с помощью стандартного менеджера устройств. В списке системных устройств нужно найти шину PCI.

В ее свойствах есть особая закладка. Если все настроено правильно, там будет упомянут минипорт ("успешно загружен"), а управление шиной PCI (Steering) будет включено. Таким образом, Windows'98 имеет средства для управления распределением номеров прерываний между физическими линиями. Но поскольку и BIOS чаще всего с этим хорошо справляется, этот механизм не задействуется. Но иногда он просто необходим. При использовании устаревших ISA-устройств, не поддерживающих технологию Plug & Play, BIOS может его и не заметить, отдав занятое им прерывание PCI-устройству - опять конфликт. Для его разрешения необходимо нужное прерывание зарезервировать в диспетчере устройств Windows'98.

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

А вот о Windows 2000 (а равно и ХР) - разговор отдельный. Если у Вас достаточно современный компьютер, то он наверняка поддерживает интерфейс конфигурирования ACPI. Windows 2000 в таком случае вообще проигнорирует действия BIOS и "повесит" все PCI-устройства на одно логическое прерывание. В общем случае это будет отлично работать (когда нет устройств ISA), но иногда могут возникнуть проблемы. Чтобы получить возможность изменять номера прерываний, нужно либо поменять HAL-ядро, либо переустановить Windows 2000 с отключенным в BIOS ACPI. Замена ядра производится так: в диспетчере устройств выбирается "Компьютер/Компьютер с ACPI", после этого необходимо изменить драйвер на "Стандартный компьютер" и перезагрузиться. Если это не поможет, придется переустановить Windows 2000 заново.

Заключительные советы

Установив новую операционную систему со всеми драйверами устройств и, убедившись в том, что она работает без проблем, стоит записать все настройки компьютера, особенно если осуществлялись какие-либо изменения установок по умолчанию. Надежнее всего такую информацию записать на обычном листке бумаги. Такая информация может быть очень полезна при внесении каких-либо изменений в настроенную систему, а так же поможет решить проблемы, которые могут возникнуть, если при установке нового оборудования все настройки "съедут" (такое иногда тоже бывает). И, самое главное, помните: большинство возникающих проблем связано с низким уровнем компьютерной грамотности хозяина компьютера. Поэтому нужно всегда стремиться к самообразованию, тогда и проблем будет поменьше, а те, что все-таки возникнут - не будут казаться неразрешимыми.

Думаю, многие любознательные пользователи, наверняка не раз встречали такое сокращение, как IRQ. Его можно встретить, например, если вы любите заглядывать в программу «Менеджер устройств» в Windows. Если вы выберете любое устройство, к примеру, клавиатуру, выберете при помощи правой кнопки мыши пункт меню «Свойства», и в появившемся окне сделаете активной закладку «Ресурсы», то в списке ресурсов вы увидите надпись IRQ 01.

IRQ прерывания

Для чего нужны IRQ

Что же такое IRQ и для чего оно нужно?

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

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

Для этого и существует система аппаратных прерываний (IRQ). Каждое прерывание имеет определенный номер (нумерация начинается с 0) и закреплено за определенным устройством. Так, за клавиатурой закреплено прерывание под номером 1, отсюда и обозначение IRQ 01.

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

Обслуживает обработку IRQ специальный чип, который носит название контроллера прерываний. Как правило, эта микросхема является частью центрального процессора, а иногда выделяется в отдельный чип на материнской плате. Для обработки каждого прерывания в BIOS существует специальная микропрограмма, называемая обработчиком прерывания. Адреса всех обработчиков хранятся в так называемой таблице векторов прерываний.

Настройка Interrupt ReQuest

Надо сказать, что прерывания, закрепленные за некоторыми устройствами, не является фиксированными и их можно изменить программно. Например, IRQ стандартно использующееся последовательным портом Com 2, может использовать и устанавливаемый в слот расширения модем. В современных компьютерах и операционных системах, поддерживающих стандарт PnP и работающих под управлением ОС Windows, значения IRQ для устройств, подключаемых в слоты шины, подбираются автоматически.

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

Во многих BIOS имеется возможность поменять стандартные значения IRQ в программе Setup. Обычно эта опция располагается в разделах IRQ Resources или PCI/PNP Configuration.

Установка для устройства значения IRQ, равного значению IRQ, уже занятого каким-либо устройством в большинстве случаев приводит к неработоспособности одного из этих устройств или сразу обоих, а иногда чревато и зависанием компьютера.

В более современной шине PCI система управления прерываниями была кардинально изменена, а возможности управления прерываниями были расширены. Благодаря технологии IRQ Sharing, а также технологии ACPI стало возможным размещение нескольких устройств на одном канале прерывания, а у внешних устройств, подключаемых в слоты PCI, появилась возможность автоматического распределения ресурсов между собой.

Кроме того, в современных компьютерах обычно используется расширенный программируемый контроллер прерываний (APIC, Advanced Programmable Interrupt Controller), поддерживающий 24 канала Interrupt ReQuest. Расширенный контроллер прерываний выполнен в виде двух микросхем, одна из которых расположена в самом процессоре, а другая на материнской плате. Этот контроллер прерываний впервые появился в системах на основе процессоров Pentium. Однако при этом была оставлена поддержка старой системы прерываний в целях совместимости. Очередным шагом в развитии принципов обработки прерываний является технология Message Signaled Interrupts, поддержка которой появилась в линейке ОС Windows, начиная с Windows Vista.

Не следует путать аппаратные прерывания IRQ c программными прерываниями BIOS, о которых речь пойдет в отдельной статье. Программные прерывания BIOS, как правило, используются для организации работы программного обеспечения с устройствами ввода-вывода и обозначаются при помощи сокращения INT. Многие из них аналогичны по своим функциям аппаратным IRQ, но имеют при этом другие номера.

Список номеров Interrupt ReQuest в стандартной схеме для 16-битной шины ISA:

Список дополнительных номеров IRQ, которые использует расширенный контроллер прерываний APIC:

Соответствие номеров IRQ и прерываний BIOS:

Таблица IRQ и INT

Таблица соотношения аппаратных IRQ и программных INT BIOS

Заключение

Итак, в этой статье вы смогли узнать, что означает сокращение IRQ, и что представляют собой аппаратные прерывания. Они являются встроенным механизмом распределения ресурсов компьютера и предназначены для организации доступа устройств к центральному процессору. Правильное распределение и настройка IRQ позволяет избежать конфликтов между устройствами и обеспечить стабильную работу системы.

В этой статье я хотел бы рассказать о том, что может никогда не напоминать о себе, а может и стоить нервов после сборки или апгрейда компьютера: зависания, самопроизвольные перезагрузки, упорное нежелание грузиться, постоянные "синие экраны смерти", невозможность обнаружения устройств, неверная работа… Список можно продолжать еще долго. Очень часто такие "глюки" происходят именно по вине прерываний, а если Вы интересуетесь компьютерами, то обязательно должны знать, откуда и почему появляются подобные проблемы и, самое, наверно, главное, как с этим бороться.

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

Так уж сложилось, что при разработке какой-нибудь технологии создаются некоторые ограничения, не специально, конечно, а из-за какой-нибудь особенности этого новшества или просто недочета. Так случилось и с прерываниями. Первоначально, когда IBM разрабатывала архитектуру IBM PC (аж в 1980-81 годах прошлого тысячелетия), их было заложено не так много (8), потом, правда, добавили еще столько же, забрав одно "старое" прерывание под контроллер новых, но я бы не сказал, что и этого оказалось достаточно. А потом фирма IBM перестала быть единственной, кто занимался платформой PC, и, во избежание несовместимости с другими, никто больше прерываний и не добавил.

Какие могут быть проблемы?

Когда архитектуру IBM PC только создавали, прерываний было создано немного, всего восемь, как я уже писал, и отдавали их на всякую "ерунду", вроде портов COM, хотя оправдывает инженеров IBM то, что выбора особого не было, его пришлось искать позже. Очевидно, никто не пророчил платформе такое будущее, поэтому для ее изюминки, то есть возможности расширения, было оставлено только одно прерывание, которое потом было занято контроллером второй "восьмерки" IRQ. Правда, стоит заметить, что дополнительные прерывания могли (и могут) быть высвобождены путем отключения различных занимающих их ISA-устройств: портов, флоппи-дисковода. Так вот, ошибки, или конфликты, возникают когда несколько устройств пытаются работать на одном прерывании. Это очень проблематично, потому что многие современные устройства, особенно звуковые карты и всевозможные мультимедийные комбайны несут на себе сразу несколько устройств. Даже самые простые "звуковухи" имеют на борту не менее четырех девайсов. Вот так выглядит карта прерываний в современном компьютере:

Так что же это получается? На современный компьютер можно установить только три дополнительных устройства? Судя по таблице, да, но не все так страшно. У Вас, например, есть порт LPT2? Очень сомневаюсь. Значит, если порта нет, то и прерывание свободно. Итак, теоретически можно освободить следующие прерывания:

IRQ Описание
3 Порт вполне можно освободить, отключив его в BIOS. Я думаю, в большинстве случаев он и так свободен.
4 Тоже можно отключить. Но он используется значительно чаще: мыши, модемы, сканеры.
5 Про это я уже писал. Почти всегда свободен.
6 Если будете собирать новый компьютер, тем более домой, польза от старого доброго флопика, значительно меньше, чем даже пару лет назад. Очень у многих уже есть дисководы CD-RW. Больше места, надежнее, быстрее, хотя, хоронить FDD еще рано… Флоп можно отключить и освободить IRQ.
7 Если у Вас принтер на USB, можете хоронить…
12 В большинстве современных компов мыши именно такие. Можете поставить грызуна на COM, но забьете другое прерывание, мышку можно купить и на USB, но это будет уже маниакальной борьбой за IRQ :)
14 Слабо без винта? Хотя, теоретически, можно…
15 Даже если у вас только два IDE-устройства, их лучше развести на два разных канала. Работать будет быстрее. Но прерывание можно и освободить.

Уже проще. Но хватает ли этого? Лезу в свойства системы (у меня Windows XP Professional). Пуск -> Все программы -> Стандартные -> Служебные -> Информация о системе. Дальше в окне программы: Ресурсы аппаратуры -> Прерывания (IRQ). Вот, что я там вижу:

IRQ Описание
0 Системный таймер
1 Стандартная (101/102 клавиши) или клавиатура PS/2 Microsoft Natural
3 Последовательный порт (COM2)
4 Последовательный порт (COM1)
5 Conexant SoftK56 Data Fax Voice Speakerphone
5 VIA Rev 5 USB универсальный хост-контроллер
5 VIA Rev 5 USB универсальный хост-контроллер
6 Стандартный контроллер гибких дисков
8 CMOS и часы
9 Microsoft ACPI-совместимая система
10 Avance AC'97 Audio for VIA (R) Audio Controller
11 ATI RADEON VE DDR
12 PS/2-совместимая мышь
13 Процессор числовых данных
14 Первичный канал IDE
15 Вторичный канал IDE

Спрашивается: что делает мой внутренний модем, который, кстати, несет на себе несколько устройств, на одном прерывании (из-под отсутствующего LPT2) со сразу двумя контроллерами USB? А вот что.

Выход был найден

Наступило начало девяностых. Системная шина (ISA - Industrial Standard Architecture), которая работала на частоте процессора, уже исчерпала себя. А все потому, что она могла нормально передавать данные только на частоте 8 МГц, чего вполне хватало для всяких там PC/XT/AT/286/386. А такой продвинутый процессор как 486 работал на значительно большей частоте. Пришлось эту шину замедлять, что отрицательно сказывалось на частоте. В 1989 году была разработана 32-битная шина EISA - Extended Industrial Standard Architecture, которая работала на частоте 10 МГц, но это была всего лишь попытка сделать из телеги велосипед, просто исправление ошибок ISA. Примерно в это время IBM создала шину MCA, которая не прижилась. Была создана и шина VESA (или VL-bus), но она могла работать только с Intel 486. И вот в 1991 году, в качестве своего внутреннего проекта, Intel приступила к разработке абсолютно новой локальной шины PCI - Personal Component Interconnect. Она разрабатывалась можно сказать с нуля, а не была очередной заплатой к ISA, что дало ей большие преимущества. Например, она работала на фиксированной частоте в 33 МГц, плюс у процессора была собственная быстродействующая шина, что позволяло ему обращаться к кэшу и оперативной памяти на той частоте, на которой ему надо, и не опираться на технические ограничения локальной шины. Новая шина PCI могла нести приличную нагрузку: до десяти слотов. Именно к PCI подключаются все видеоадаптеры, ведь шина AGP это всего лишь "прикрученная" PCI с большей тактовой частотой - 66 МГц. К ней же подключается (через контроллер) и системная шина ISA, которая присутствует на всех современных компах в виде портов COM и LPT, гибких дисков. Правда, необходимости в ней становится все меньше: флопики простаивают по вине CD-R/RW, COM/LPT - по вине USB… Так вот эта шина PCI, без которой не обходится ни одна современная материнская плата, стала решением проблемы прерываний.

Как известно, компьютеры могут оперировать только с "1" и "0" или "есть сигнал" и "нет сигнала". Если устройство ISA выставит на линию сигнал "1", то другому устройству на этой же линии свои единицы как не выставляй, контроллер на них не отреагирует. В случае с PCI контроллер проверяет источник сигнала и только потом обрабатывает его. Это и позволяет помещать несколько устройств на одно прерывание. Теоретически да, но имейте ввиду, что не стоит "вешать" устройства постарше и поновее на один канал IRQ. Есть также мнение, что не стоит ничего ставить на одно прерывание со звуковой картой, могут появляться ошибки. Это, конечно, происходит далеко не всегда, но лучше сообразить что-нибудь понадежнее.

Хороший Вы человек, для своего компа ничего не жалко. Вот купили Вы крутейшую видеокарту, принтер, сканер, профессиональный звук, усугубили это дело модемом, сетевухой, да еще и TV-тюнером. Вот "глюки" и пошли. Как ни меняй их местами в слотах, ничего не работает, хоть вон выкинь. Что делать?

Настройка прерываний из BIOS

Так по какому же принципу распределяются прерывания? При загрузке системы BIOS раздает прерывания следующим образом: линии IRQ всех устройств, которые поддерживают технологию Plug'n'Play, а это все современные устройства, получают по одному свободному прерыванию. Если прерывания кончились, а неохваченные девайсы еще есть, BIOS раздает их по второму кругу, потому и получается, что несколько устройств получили одно прерывание. Все будет чудесно работать, если одно прерывание получили два PCI устройства, а если PCI + ISA или ISA + ISA? Все, конфликт. Надо бы это процесс прибрать к рукам.

Далее стоит заметить, что я использую материнскую плату Epox 8K3AP с Award BIOS 6.00PG. Наиболее удобный и логичный способ настройки IRQ - назначить их "ручками". Заходим в PCI/PnP Configurations. Там есть настройки INT Pin n Assignment (это у меня, а у Вас может быть и это, и такие названия как Slot n Use IRQ (точно помню, так было в Award BIOS v. 4.51 PG); PCI Slot n Priority или что-нибудь подобное). Каждый пункт этого меню соответствует одной из четырех линий IRQ, так что вы можете назначить каждой линии свое прерывание.

Есть еще один способ переназначения IRQ. Заходите в тот же PCI/PnP Configurations, там есть пункт IRQ resources (чтобы туда зайти надо поставить значение параметра Resources controlled by равным Manual), а именно он и нужен нам сейчас. Там будут настройки каждого возможного прерывания. Я почти уверен, что на всех номерах будет стоять вариант, связанный с шиной PCI, например, PCI/ISA или PCI device, это зависит от вашей версии BIOS. А нам ведь надо, чтоб одно или несколько прерываний оставались пропущенными, то есть резервировались для ISA устройств. Так вот, на том прерывании, которое хотите оставить, просто выставляете значение вроде Legacy ISA. В более современных компьютерах все стало значительно проще из-за отсутствия слотов ISA, а это значит, что вы не можете добавить свои ISA устройства, а уж с системными, вроде флопика или последовательных/параллельных портов система сама разберется сносно. В таких системах вместо значения Legacy ISA появляется значение Reserved, то есть можно просто оставить прерывание свободным. Это может понадобиться в скорее теоретическом случае, если к Вам попало устройство не поддерживающее Plug'n'Play, тогда BIOS его просто не увидит.

В том же меню есть еще один полезный пункт. Информация об установленном оборудовании хранится в ESCD (Extended System Configuration Data). Эта информация проверяется каждый раз перед обращением к жесткому диску для запуска операционной системы. Естественно, при изменении конфигурации ESCD обновляется, а когда происходит обновление, изменяются и IRQ. Установив значение опции Reset Configuration Data в Enabled, Вы сбросите ESCD при следующем перезапуске.

В Award 6.00, а именно это BIOS установлен на большинстве материнских плат, есть еще одна интересная "фича". Если зайти в Power Management Setup ' IRQ/Event Activity Detect ' IRQs Activity Monitoring, то там можно настраивать, от устройств на каких прерываниях компьютер будет просыпаться. Там же можно посмотреть и текущее распределение номеров IRQ, но не всегда на это можно положиться, а вот почему:

Настройка прерываний из Windows

После BIOS в процесс распределения номеров IRQ сует свой нос Windows. Для того чтобы она правильно все сделала, хоть вмешивается винда в оный процесс далеко не всегда, надо ВСЕГДА иметь самые свежие драйверы материнской платы. Это очень важно, особенно, если вы собрали/купили современный компьютер, с материнской платой на новом или относительно новом чипсете и поставили на все это какой-нибудь Windows 98… Лично я знаю много таких людей, которые считают примерно так: у меня на материнской плате никаких наворотов нет, все там по стандарту, никаких "дров" не надо… Это совсем неправильно. Для нормальной работы системы, особенно когда прерывания используются совместно, нужно, чтобы Windows распознала чипсет и загрузила IRQ Miniport. Не забывайте также поставить свежие или хотя бы "родные" драйверы всех устройств, это поможет системе правильно работать.

Если Вы используете более новые Win 2000 или XP, что, на мой взгляд, является более оправданным выбором, то Вы можете столкнуться с некоторыми проблемами. Вы знаете, что такое ACPI (Advanced Configuration and Power Interface)? Это специальный интерфейс конфигурирования. Он несет в себе массу полезностей, но в Win 2K/XP может Вам здорово насолить. Особенно, если в системе есть ISA платы. Из-за него винда распределяет все PCI устройства, которые сидят в одноименных разъемах, на одно прерывание (вот почему у меня USB с модемом на IRQ 5, а остальное - на других), хорошо, хоть содержимое AGP слота и AC'97-кодек туда не спихнули ;). Из-за этого, если не выключать ACPI в BIOS перед установкой Windows, переназначить IRQ не удастся. Как посмотреть их распределение, я уже писал выше. А чтобы изменить ситуацию, придется выключать ACPI в BIOS (пункт ACPI Functions в разделе Power Management Setup) и изменять драйвер устройства Компьютер в диспетчере устройств с Компьютер с ACPI на Стандартный Компьютер. Хотя, лично мне бы не особо хотелось терять такие функции, напрямую связанные с ACPI, как автоматическое выключение компьютера или включение с клавиатуры. Кстати говоря, иногда и этот прием отмены ACPI не срабатывает, потому приходится выключать в BIOS и переставлять Windows.

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

Системные прерывания грузят процессор

Что за процесс «Системные прерывания»

Процесс под названием «Системные прерывания» сам по себе ничего не делает. Он только отражает возникшие проблемы: системе не хватает мощности, необходимой для работы одной из программ, вот она и берет много ресурсов из ЦП, чтобы компенсировать дефицит. В этом случае все другие процессы откладываются, и система концентрируется только на проблемной программе. Понятно, что такое положение вещей мешает нормальной работе, поэтому любому пользователю хочется поскорее избавиться от «Системных прерываний». Однако, если просто воспользоваться опцией «Снять задачу», то ничего не поменяется – ресурсы не высвободятся, и процесс вскоре вновь отобразится в общем списке.

Системные прерывания в Windows

Что делать, если системные прерывания грузят процессор

Когда «Системные прерывания» непомерно грузят процессор Windows (а такое может случиться в любой версии от 7 до 10), это свидетельствует:

  • о том, что подключенное к ПК устройство работает неверно;
  • либо о том, что какие-то драйвера функционируют со сбоями.
  • не обновлялись ли Windows или драйвера до того, как возник сбой в работе системы – можно вернуться к старой версии;
  • правильно ли работают новые компоненты: мышка, клавиатура, принтер, сканер, USB-модем и прочее.

Поиск драйверов, вызывающих нагрузку от «Системные прерывания»

  1. Нажмите Win+R, в появившееся окошко впишите: «devmgmt.msc» и нажмите «ОК».
  2. Откроется «Диспетчер устройств» со списком всего оборудования, которое подключено к вашему ПК или ноутбуку.
  3. Напротив каждого заголовка есть стрелочка вниз – кликните её, чтобы увидеть конкретный девайс.
  4. Отыщите тот самый, с проблемным драйвером, нажмите на него правой кнопкой мыши и выберите пункт «Отключить».
ВАЖНО. Нельзя отключать устройства, без которых ПК не сможет полноценно работать: встроенную клавиатуру, видеокарту, мышку (исключение составляют ноутбуки, где роль мыши может успешно выполнить тачпад), внутренние микрофоны и звуковые выходы, системные устройства, процессоры, компьютер.

Объектом вашего внимания должны стать девайсы, подключенные извне: принтеры, сканеры, съемная клавиатура, графический планшет, внешние колонки и дополнительные звуковые карты, веб-камеры, Wi-Fi и прочее. Если после их отключения «Системные прерывания» перестали грузить ЦП, значит, вы на верном пути – нужно что-то делать с драйверами этих устройств: обновите их или, наоборот, установите старую версию. Не скачивайте пакетом, наподобие «100 драйверов в одном архиве», да ещё с неизвестных сайтов – зайдите на ресурс фирмы-производителя.

Обновление драйверов проблемных устройств

Проблемы с работой USB-устройств и контроллеров

Попробуйте избавиться от «Системных прерываний», физически убирая устройства: выньте шнур мыши и проверьте, нет ли изменений, не падает ли показатель расхода ресурсов. Если нет, переходите к Wi-Fi, колонкам, флешкам, планшету и далее по списку. Попробуйте также подключить проблемный девайс к другому ПК и удостовериться, что с ним действительно происходит что-то неладное. Поменяйте шнур и сверьте показатели еще раз: может быть, с самим устройством все в порядке.

Команда perfmon /report

Изредка срабатывает опция распознавания неисправного оборудования. Чтобы добраться до нее нажмите Win+R, впишите без кавычек: «perfmon /report», щелкните «ОК», и перед вами появится список.

Другие причины высокой нагрузки от «Системных прерываний» в Windows 7,8 и 10

Изредка провоцировать сбой в работе могут другие причины.

Читайте также: