|
BIOS и его настройки
Виталий ЯКУСЕВИЧ
|
N 36 (363) 05.09.2005
|
Продолжение.
6.2. Прерывания (продолжение)
PCI Interrupt Mapping INTx
Сопоставление PCI-прерываний
INTx#. Несмотря на столь внушающее уважение наименование, данные опции Phoenix BIOS, составляющие небольшое меню, решают одну простую задачу присвоение PCI-прерываниям INTx# (
INTA#,
INTB#,
INTC#,
INTD#) ISA-совместимых прерываний. Предлагаемые опции значения (
Auto,
Disabled,
IRQ03,
IRQ04,
IRQ05,
IRQ06,
IRQ07,
IRQ09,
IRQ10,
IRQ11,
IRQ12,
IRQ14,
IRQ15) уже рассматривались нами. Дополнительная информация изложена далее в других опциях. Укажем только, что при установке значения, отличающегося от Auto, возможности Plug&Play BIOS будут деактивированы.
В процессе установки и конфигурирования устройств в слотах расширения PCI-шины необходимо учитывать следующее обстоятельство. При наличии в системе четырех и более PCI-слотов расширения традиционно INTA# закрепляется за первым PCI-слотом, INTB# за вторым и т.д. Закрепление некоторого прерывания INTx# за пятым и шестым слотами связано с особенностями аппаратных компонентов и может варьироваться от системы к системе. Распределение «активных» прерываний в первых четырех слотах является традиционным, но не строго обязательным. Тем не менее, если речь идет об установке звуковой карты Creative SB Pro (простейший давний пример) в первый PCI-слот, то можно установить соответствие друг другу прерываний INTA# и IRQ5.
PCI Interrupt Polling Mode
Еще один термин из жизни компьютеров.
Polling mode это работа устройства без использования прерывания. Такой режим встречался раньше при работе с простыми SCSI-контроллерами на шине ISA. Правда, в опции указывается PCI-шина, но при этом задача вовсе не усложняется, тем более что установка опции в
Enabled не ведет к назначению polling-режима для всех устройств PCI-шины. Включение опции носит рекомендательный характер BIOS, а затем операционная система попытаются выяснить, насколько необходимо имеющимся устройствам обладать собственным IRQ. Нет полной уверенности в том, что распределение прерываний произойдет при включении опции без ошибок как при наличии такого устройства, так и в случае его отсутствия. Если же все имеющиеся устройства требовательны к выделению прерывания, то лучше опцию отключить (Disabled). Осталось выяснить, что же это за устройства такие могут работать на PCI-шине и не требовать прерывания. Это могут быть специализированные устройства ввода/вывода информации, устройства сопряжения и т.п.
PCI IRQ Activated by
«Прерывания активизируются по…» Данной опцией определяется выбор метода, с помощью которого контроллер прерываний будет распознавать запрос на прерывание от устройств на шине PCI. Для устройств на шине PCI предусмотрено, что контроллер прерываний реагирует на низкий уровень сигнала. Поэтому по умолчанию предлагается значение
Level, и менять его не следует, если только это не будет необходимо для конкретного случая, о чем должно быть написано в руководстве к устройству. Если же установить реакцию контроллера на положительный перепад сигнала (
Edge), то велика вероятность ошибочной обработки прерываний в соответствии с их приоритетом и в связи с этим возможных потерь некоторых запросов на прерывание. Возможно, на ошибочности работы контроллера прерываний дополнительно скажется насыщенность системы периферией. Параметр может принимать значения:
Level (уровень) контроллер прерываний реагирует только на низкий логический уровень сигнала;
Edge (перепад, или триггерный метод) контроллер прерываний реагирует только на перепад уровня сигнала (реакция на положительный скачок напряжения). Такой установки требовали ISA-карты и некоторые старые PCI-карты.
Аналогичная опция, но укороченная
IRQ Actived By. Также аналогичная опция, но с редко встречающимся наименованием
Edge/Level Select.
Некоторые старые системы предлагают значительно большие возможности по управлению прерываниями, в том числе и по управлению реакцией контроллера на них. Поэтому иногда можно встретить соответствующую аппаратную реализацию и возможность программного управления через BIOS Setup способом распознавания каждого из возможных запросов на прерывание. Например, в системе с Phoenix BIOS вер. 4.04 на давнем чипсете от SiS (199495 гг.) было замечено меню
PCI Item Selection с набором опций вида
IRQn Trigger и значениями
Edge/Level и
Level/Edge. Среди возможных прерываний присутствовало даже IRQ6. Подробнее о таких реализациях см. далее.
Дополнительно остановимся на некоторых технических особенностях. При внедрении PCI-интерфейса был дополнительно учтен весьма существенный фактор помехозащищенности передаваемых по интерфейсу сигналов. Нельзя сказать, что этот фактор не учитывался раньше. На той же ISA-шине значительная часть управляющих сигналов передавалась низким уровнем (на это указывает значок
# возле наименования сигнала). Хорошо известно, что такой способ передачи сигналов способствует повышению помехоустойчивости. Но про сигналы IRQ ISA-шины такого не скажешь они передавались с положительным перепадом. По некоторым данным, разработчики XT-систем сэкономили одну микросхему логики, отчего сейчас мы и обсуждаем данный вопрос. Для PCI-шины сигналы прерываний (INTA#, INTB#, INTC#, INTD#) стали передаваться с низким уровнем, что позволило, кроме вопросов помехоустойчивости, решить проблему разделяемости прерываний для PCI-слотов.
Еще один важный момент. Стандартные PIC-контроллеры могут иметь две основных реализации в виде отдельной микросхемы на системной плате и в качестве интегрированного в чипсет устройства. Для первого варианта основным является тот факт, что для стандартного контроллера прерываний выбор метода распознавания запроса, будь то Level или Edge, устанавливает определенную чувствительность одновременно для всех входов прерываний. И если установить метод определения как
Level, то функционирование ISA-устройств других системных устройств ставится под вопрос. При такой аппаратной реализации единственным выбором будет значение
Edge. К сожалению, не все, а лишь некоторые чипсеты реализуют функции контроллеров прерываний, совместимые с функциями стандартных контроллеров и весьма существенно их расширяющие. При этом могут быть реализованы функции индивидуального управления способом распознавания запроса на прерывание по каждому из входов контроллера. Это, конечно, находит свое отображение в опциях BIOS Setup, в некоторых случаях предлагающих выбор способа реагирования для конкретных устройств (клавиатура, жесткий диск и т.д.) наверное, для облегчения жизни пользователя. В этом случае значение
Edge имеет смысл установить для интерфейса PCI IDE.
Сейчас на примере одной аппаратной реализации мы рассмотрим текущие вопросы, а также многое из того, чему посвящены опции в данной главе. Рассмотрим мы случай применения чипсета
SiS 486VIP (VESA/ISA/PCI) и южного моста
SiS85C497. Собственно, о нем и будет идти речь. Несмотря на давность информации (1995 г.), полезность ее очевидна. Тем более, что при изучении такой документации могут выявиться такие нюансы, о которых в более поздних материалах просто ничего не удастся найти.
(Продолжение следует)
|