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.
Думаю, многие любознательные пользователи, наверняка не раз встречали такое сокращение, как IRQ. Его можно встретить, например, если вы любите заглядывать в программу «Менеджер устройств» в Windows. Если вы выберете любое устройство, к примеру, клавиатуру, выберете при помощи правой кнопки мыши пункт меню «Свойства», и в появившемся окне сделаете активной закладку «Ресурсы», то в списке ресурсов вы увидите надпись IRQ 01.
Для чего нужны 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, и что представляют собой аппаратные прерывания. Они являются встроенным механизмом распределения ресурсов компьютера и предназначены для организации доступа устройств к центральному процессору. Правильное распределение и настройка IRQ позволяет избежать конфликтов между устройствами и обеспечить стабильную работу системы.
Михаил Тычков aka Hard
Доброго времени суток.
Давайте рассмотрим такую вот ситуевину: процессор обрабатывает какие-то данные, не важно какие. В этот момент у какого-нить устройства тоже появились данные для обработки. Че делать? Надо просить процессор, что бы тот соизволил обратить на просьбу внимание и решил бы, сейчас обрабатывать эти данные или потом. Так вот эта просьба и есть IRQ или прерывания (вообще-то существуют два типа прерываний: аппаратные (внешние) и программные (внутренние), но поскольку мой раздел называется «Железо и сети», то разговор я буду вести только об аппаратных прерываниях). Строго говоря IRQ – это каналы запросов прерывания, которые используются всевозможными девайсами для того, что бы сообщить процессору о том, что необходимо обработать определенный запрос. Физически, IRQ представляют собой отдельно проложенные линии (проводники) и соответствующие этим линиям контакты в интерфейсах. Все это находится, ессесно на материнской плате. Линии IRQ предназначены только для передачи запросов прерывания.
А ну-ка разберемся, как вся эта фигня с IRQ происходит. Итак, после получения запроса прерывания, камень сохраняет в стеке содержимое регистров. Затем он обращается к таблице векторов прерываний, где есть список адресов памяти программ, соответствующих определенным номерам прерываний. От номера прерывания зависит, какая программа будет запущена. В основном этими программами являются драйвера, относящиеся к устройствам, пославшим запрос (а уж драйвера туго знают свое дело и разберутся, что дальше делать). После всего этого, процедура обработки возвращает из стека то, с чем работал камень, а проще говоря, отдается управление системой той программе, что работала до запроса прерывания. И так постоянно. Сама таблица находится в оперативной памяти и состоит из 256 элементов по 4 байта и начинается с адреса 0000:0000. Занимает она 1024 Кбайт. Надеюсь, что Вы усвоили простую истину: если необходимо обработать хотя бы один новый байт от какого-либо устройства, необходимо сначала обработать IRQ этого устройства.
Что бы не было путаницы у IRQ есть иерархия или говоря другим языком – приоритеты. Чем меньше номер прерывания, тем выше приоритет и наоборот, чем больше номер прерывания, тем ниже приоритет. IRQ всего 16. Самый высокий приоритет у IRQ 0, а самый низкий у IRQ 15. Приведу таблицу иерархии:
Стандартная функция
Программируемый контроллер прерываний
Последовательный порт COM 2
Последовательный порт COM 1
Звуковая или сетевая карты или свободен
Стандартный контроллер гибких дисков
Параллельный порт LPT
Звуковая или сетевая карты или свободен
USB или SCSI или свободен
PS/2 совместимый порт мыши
Основной контроллер IDE
Дополнительный контроллер IDE
А хотите посмотреть свои прерывания? Выберите «Пуск – Выполнить», наберите «msinfo32». В появившимся окне «Сведения о системе», слева, выберите вкладку «Ресурсы аппаратуры – Прерывания IRQ».
С прерываниями случаются и геморрои. Если произойдет генерация большого количества IRQ, то стек может переполниться и тогда…. тогда Вы потянитесь к кнопочке [Reset]. Ежели такая фигня будет происходить часто, то необходимо в файле Config.sys увеличить параметр Stacks. Кроме, этого двум различным устройствам PCI может быть назначено одно и то же прерывание. Теоретически такое не должно происходить, но вот на практике случается. В этом случае Вам придется самому назначить прерывание одному из заглючивших устройств. Как это сделать? Жмем [Win][Pause/Break]. Выскакивает окно «Свойства: Система». Выбираем вкладку «Устройства», ищем в списке то устройство, IRQ которого будем подправлять и жмем на него пару раз мышью. Выскочит окно его свойств, где выберем вкладку «Ресурсы» и снимем галку «Автоматическая настройка». Затем чуть ниже выбираем «Запрос на прерывания» и кликаем опять два раза мышью. Появится окно, где можно изменить номер IRQ. Ни фиг себе и сложно. Но… Назначать прерывания надо с умом. Сверьтесь с таблицей: какие IRQ для чего предназначены. Посмотрите у себя, какие свободны. Может так случится, что свободных прерываний у Вас и не будет. Думаете – все, жопа? Нет! Новых IRQ Вы конечно не добавите, но подумайте, все ли устройства Вам необходимы. Например, как часто Вы используете порты COM. Я ими последние года три не пользуюсь вообще. Ну и на фиг их из системы. Это можно сделать из BIOS. И вот Вам свободные IRQ. Короче, в решении подобной проблемы надо приложить голову и все у Вас получится. А всяких там кулых спецов хочу предупредить сразу - не пишите мне письма типа: «После твоей статьи клиенты пачками стали нести к нам в магазин компы с развороченными настройками!». Я не отвечаю за действия людей, у которых голова и руки растут из того же места, что и ноги. Когда-то я и сам в этом ни черта не смыслил, но ведь разобрался же. Причем мне никто ничего не объяснял. Дорогу осилит идущий!
Двигаемся дальше. Вообще, следует отметить, что каналы запросов прерывания относятся к системным ресурсам. Дам короткое но очень меткое определение: системными ресурсами называются коммуникационные каналы, адреса и сигналы, используемые узлами компьютера для обмена данными с помощью шин. Вот так вот просто и понятно. К системным ресурсам кроме IRQ относятся: адреса памяти, каналы прямого доступа к памяти и адреса портов ввода/вывода. Но об этом в других статьях. А на сегодня все. Удачи в Ваших начинаниях.
Прерывания подразделяются на аппаратные (маскируемые и немаскируемые) и программные. Программные прерывания, собственно, прерываниями не являются, это способ вызова определенных процедур. Но процессором программные прерывания обрабатываются как один из типов прерываний.
То, что в соответствии с PCI-спецификациями должны уметь все PCI-карты, но в действительности очень редко реализуется, называется “IRQ-Sharing”. Теоретически это означает, что несколько компонент должны довольствоваться одним и тем же IRQ. Но поскольку лишь немногие PCI-карты общаются друг с другом столь гармонично, “Windows 9x” ставит в соответствие каждой карте, насколько это возможно, собственный IRQ. Сложности конфигурирования системных ресурсов, их распределения между сетевыми и звуковыми картами, 3D-ускорителями, стандартными последовательными и параллельными устройствами, а ныне еще видео- и DVD-декодерами постепенно ослабляются с массовым внедрением USB-шины, точнее массовым распространением USB-периферии. Правда, шина USB сама занимает один IRQ. Но зато она обязана включить в систему без дальнейшего расходования ресурсов все периферийные устройства, будь то мышь, клавиатура, сканер или видеокамера.
Еще один термин. “Polling mode” – работа устройства без использования прерываний. Это встречается при работе с простыми SCSI-контроллерами на шине ISA.
IRQ | Устройство | Приор. | Комментарии |
0 | Системный таймер | * 15 | Системное прерывание. Генерируется 91 раз за 5 сек. В данном качестве применяется со времени первого PC. |
1 | Клавиатура | * 14 | Системное прерывание, генерируемое контроллером клавиатуры. |
2 | Контроллер прерываний | * 13 | Каскадировано (связано) с IRQ9. Могут возникнуть конфликты, когда одновременно на IRQ2 и IRQ9 должны работать различные устройства. Его использование системой сохраняется для совместимости. |
3 | COM 2 | 4 | Используется вторым коммуникационным адаптером (UART2). Какое же устройство будет его генерировать? Это может быть второй последовательный порт COM2 (интегрирован на материнской плате), внутренний модем, настроенный на COM2 или COM4, или инфракрасный адаптер. Можно отключить UART2, но присвоить IRQ3 ничему не удастся. Делит одно и то же IRQ3 с COM4 (при наличии последнего). Возможен конфликт при одновременном использовании. |
IRQ | Устройство | Приор. | Комментарии |
4 | COM 1 | 3 | Используется первым коммуникационным адаптером. Все практически идентично: генерируется первым последовательным портом COM1, модемом на COM1 или COM3 (за исключением инфрапорта). Делит одно и то же IRQ4 с COM3 (при наличии последнего). В системах с подключенной к COM1 мышью использовать COM3 не следует. |
5 | свободен | 2 | Прерывание изначально предназначалось для использования вторым параллельным портом LPT2. Практического применения такое решение не нашло, поэтому IRQ5 перешло в разряд свободных. В IBM XT на IRQ5 “висел” жесткий диск. Через некоторое время “Creative Labs”, создавая звуковую карту “Sound Blaster Pro”, нашла применение прерыванию. С тех пор IRQ5 стало излюбленным для большинства звуковых ISA-карт. Звуковые PCI-карты также иногда используют это прерывание для эмуляции “SB Pro”. IRQ5 можно привязать к слоту PCI. |
IRQ | Устройство | Приор. | Комментарии |
6 | Контроллер FDD-дисковода | * 1 | Прерывание используется контроллером флоппи-дисковода, начиная с первых ПК. Однако прерывание все равно не может быть использовано: ISA-карты на работу с ним не рассчитаны, и к слоту PCI привязать его нельзя. |
7 | LPT 1 | 0 | По умолчанию прерывание первого параллельного порта LPT1. При отключенном порте (если принтер отсутствует или рассчитан на USB) может использоваться различными устройствами: сетевыми, ISDN-картами. Это также “запасное” место для звуковых карт. |
8 | Часы реального времени (RTC) | * 12 | Системное прерывание со времени первых IBM AT. |
9 | свободен | 11 | Каскадировано с IRQ2. В остальном может использоваться по усмотрению. |
10 | свободен | 10 | Может быть использовано по усмотрению. Устаревшие IDE-контроллеры на старых звуковых картах иногда используют это IRQ. |
IRQ | Устройство | Приор. | Комментарии |
11 | свободен | 9 | Может быть использовано по усмотрению, часто используется видеокартами. В современных ПК обычно резервируется для шины USB. При отключении последней в BIOS может быть задействовано иначе. |
12 | свободен или PS/2-мышь | 8 | Если используется мышь, это IRQ в большинстве случаев выдается лишь по разрешению BIOS. Почти всегда прерывание свободно. |
13 | Сопроцессор | * 7 | Системное прерывание. Изначально применялось арифметическим сопроцессором, который в первых ПК являлся отдельной микросхемой. Ныне это прерывание зарезервировано для совместимости со старым ПО. |
14 | Первичный EIDE-контроллер | 6 | По разрешению BIOS может быть использовано в SCSI- системах. |
15 | Вторичный EIDE-контроллер | 5 | Также может использоваться SCSI-интерфейсом, хотя обычно на него “подгружают” дополнительные EIDE-диски. При отсутствии устройств может применяться в любых целях. |
15 – наивысший приоритет,
* – эти системные компоненты жестко зафиксированы и их конфигурация не может быть изменена.
При установке в слоты карт расширения необходимо
помнить о следующем:
слоту AGP и первому слоту PCI присваивается один и
тот же номер прерывания,
если слотов PCI пять, то один номер разделяют также
четвертый и пятый слоты,
IRQ n Assigned to
(прерывание с номером n назначено на…). Использование этой опции возможно, если установлен “ручной” режим конфигурации устройств. В данной опции каждому прерыванию системы может быть назначен один из следующих типов устройств:
“Legacy ISA” (классические ISA-карты) – обычные карты для ISA-шины, такие как модемы или звуковые карты, без поддержки технологии “Plug&Play”. Эти карты требуют назначения прерываний в соответствии с документацией на них.
“PCI/ISA PnP” (устройства для шин PCI или ISA с поддержкой “Plug&Play”) – этот параметр устанавливается только для карт расширения на PCI- или ISA-шинах с поддержкой “Plug&Play”.
Несколько устаревшая опция “AMI BIOS” может носить название “IRQn” , а ее значения следующие: “ISA/EISA” и “PCI/PnP”. При этом IRQ12 оказывается “в списке”, если предварительно опция “Mouse Support” (или ей подобная) отключена. Точно также IRQ14 и 15 будут доступны, если будет отключен IDE-интерфейс или один из каналов.
IRQ n Used By ISA
“No/ICU” (нет/конфигурационная утилита для ISA) – если установлено это значение, то BIOS может распоряжаться прерыванием по своему усмотрению. Для DOS настройка параметров в этом случае может также выполняться с помощью программы “ISA Configuration Utility” от “Intel”,
“Yes” (да) – означает принудительное освобождение прерывания для какой-либо карты на шине ISA, не поддерживающей “Plug&Play”. Рекомендуется всегда указывать “Yes” для таких карт и нужных им прерываний, так как в противном случае BIOS может назначить прерывание, жестко используемое какой-либо картой на ISA, другой карте, что может вызвать даже прекращение нормальной работы компьютера.
Для этой опции аналогичной может также оказаться опция “IRQ n” со значениями “Available” (по умолчанию) и “Used By ISA Card”. Стоит напомнить ряд возможных прерываний: 3, 4, 5, 7, 9, 10, 11, 12, 14, 15. Первое значение позволяет системе решать проблему распределения ресурсов через автоконфигурирование, второе же напрямую назначает прерывание ISA-карте. При этом также может быть использована утилита ICU.
Опция может носить название “Assign IRQ For VGA” или, как в “AMI BIOS”, “Allocate IRQ to PCI VGA” со значениями “Yes” и “No”.
PCI Device Search Order
PCI IRQ Activated by
“Level” (уровень) – контроллер прерываний реагирует только на логический уровень сигнала,
“Edge” (перепад) – контроллер прерываний реагирует только на перепад уровня сигнала.
Аналогичная опция, но укороченная – “PCI IRQ Actived By“. Также аналогичная опция, но с редко встречающимся наименованием – “Edge/Level Select“. Необходимо добавить, что в очень редких случаях может быть предоставлена возможность установки реакции на прерывание от конкретного устройства. Тогда значение “Edge” имеет смысл установить для интерфейса PCI IDE.
PCI/PNP ISA IRQ Resource Exclusion
IRQ 3: [Available]
IRQ 4: [Available]
IRQ 7: [Available]
IRQ 9: [Available]
IRQ 10: [Available]
IRQ 11: [Available]
Параметр “Available” (по умолчанию) означает, что прерывание может быть использовано PCI- и P&P ISA-картами. Значение “Reserved” означает, что прерывание не может быть использовано этими же устройствами.
Аналогичная опция и с теми же значениями может называться “IRQ Reservation“.
PCI Slot n IRQ Priority
Все это выглядит в виде небольшого меню с несколькими опциями, в которых n меняется, обычно, от 1 до 4. При этом значения могут иметь вид: “Auto”, “IRQ 3?, “IRQ 4?,”IRQ 5? и т.д. Понятно, что выбор “Auto” приводит ситуацию в режим автоконфигурирования.
Report No FDD For WIN 95
“Yes” (или “Enabled”) – освободить IRQ6,
“No” (или “Disabled”) – не освобождать (независимо от того, есть ли флоппи-дисковод или нет).
Значительно реже встречается аналогичная опция под названием “FDD IRQ Can Be Free“. Выбор значений параметра также аналогичен: “Yes” и “No”.
Slot n IRQ for VGA
Примечание! Если используемый в системе SCSI-контроллер с NCR-чипом не работает, то для этого контроллера необходимо установить прерывание IRQ15 и опцию “Level Trigger“.
USB IRQ
Опция может носить название “Assign IRQ For USB” или “Use An IRQ for USB“. Для последней опции параметрами были “No” и “Yes”.
Use IRQ12 For Mouse Port
Читайте также: