Распределение системных ресурсов — один из важнейших моментов при загрузке компьютера. От того, как система распределит прерывания и доступ к динамической памяти, сконфигурирует взаимодействие устройств (карт расширений) с шинами и т. д., может в значительной мере зависеть как производительность всей системы в целом, так и работоспособность отдельный устройств.
Как правило, все распределение ресурсов происходит автоматически. Это, однако, не гарантирует совместимость всех устройств и их настройку на оптимальную работу. Особенно ярко это может проявляться в старых компьютерах, использующих устаревшее оборудование. Поэтому очень часто для достижения гармоничной работы всех устройств системы и получения от них максимально возможной производительности часть автоматически настроенных значений приходится перенастраивать вручную.
КАК ЭТО СДЕЛАТЬ?
Для установки способа распределения ресурсов системы используется параметр Resources Controlled By, который находится в разделе PnP/PCI Configuration Setup. Этот параметр имеет два значения: Auto — автоматическая настройка, Manual — ручная настройка. При автоматической настройке BIOS сам назначит прерывания IRQ и каналы DMA всем устройствам, подключенным к шине PCI. При ручном управлении становятся доступными параметры х IRQ-л assigned to и х DMA-л assigned to, где в первом случае л — это номер аппаратного прерывания, а во втором — номер канала прямого доступа к памяти. Ручное распределение ресурсов требуется, когда вы используете устройства, не поддерживающие механизм Plug and Play (см. также соответствующие пункты этого раздела).
В разных версиях BIOS используются разные параметры для указания способа конфигурирования системы: Configuration Mode, PnP OS Installed, PnP BIOS Auto-Config, Plug & Play 0/S, PnP BIOS Auto-Config. Все эти параметры предлагают выполнить настройку устройств, поддерживающих механизм Plug and Play, с помощью средств BIOS. Значения, которые могут принимать эти параметры, разделяются на две части: Use BIOS Setup — использование возможностей BIOS; Use PnP OS— использование возможностей операционной системы. Следует отметить, что если вы используете операционную систему Windows 95 или более позднюю и не используете старых ISA-устройств, не имеющих механизма Plug and Play, то распределение системных ресурсов следует переложить на плечи операционной системы, так как механизм выполнения этой операции в BIOS не столь совершенен, как в Windows, и занимает гораздо больше времени.
При использовании ручного конфигурирования может оказаться очень полезным параметр Lock Setup Configuration (Secured Setup Configurations), который запрещает операционной системе изменять какие-либо установки, назначенные с помощью BIOS. Данный параметр имеет два значения: Yes — запрещение внесения изменений; No — разрешение. Этот параметр может помочь, если вы работаете в операционных системах Windows 2000/ХР, которые не только автоматически выполняют конфигурирование независимо от того, какое значение имеет параметр Resources Controlled By, но и по умолчанию блокируют возможность ручного распределения системных ресурсов.
После настройки конфигурации системы все данные о распределении ресурсов сохраняются в области памяти ESCD (Extended System Configuration Data — данные расширенной системной конфигурации). При каждой последующей загрузке они извлекаются, и если после анализа конфигурации оборудования никаких изменений обнаружено не было, устанавливается сохраненная конфигурация, что сокращает время загрузки компьютера.
В некоторых случаях требуется принудительно переопределить конфигурацию системы, например при установке нового оборудования или при необходимости перераспределения ресурсов. Для этого используется параметр Reset Configuration Data (Force Update ESCD, Reset Config Data, Clear NVRAM, Clear ESCD), который позволяет сбросить конфигурационные данные. Этот параметр имеет два значения: Enabled (Yes) — очистить память ESCD разрешено, Disabled (No) — запрещено. Если параметр имел значение Enabled, то после перезагрузки компьютера BIOS очистит область памяти ESCD, заново сконфигурирует устройства, поддерживающие механизм Plug and Play, запишет соответствующую информацию и автоматически присвоит параметру Reset Configuration Data значение Disable. В некоторых BIOS может встретиться параметр Clear NVRAM on Every Boot, значение Yes которого указывает на необходимость перераспределения ресурсов системы при каждой перезагрузке компьютера.
Шина PCI
Шина PCI (Peripheral Component Interconnect) — это 32- разрядная шина, которая может поддерживать до десяти периферийных устройств (PCI-карт). Для данной шины по умолчанию устанавливается передача данных с тактовой частотой 33 МГц, что соответствует пиковой пропускной способности 132 Мбайт/с, однако реально по ней можно осуществлять обмен данными со скоростью примерно 40- 50 Мбайт/с. Сейчас стали появляться PCI-шины, позволяющие работать с тактовой частотой 66 МГц и поддерживающие 64-разрядную передачу данных.
На заре появления стандарта PCI эта шина соединяла между собой все компоненты компьютера: чипсет, процессор, память, видеокарту. Поэтому, например, простое поднятие частоты этой шины автоматически приводило к увеличению быстродействия, что, однако, не всегда было целесообразно. В дальнейшем с постепенным развитием технологий сначала пришлось отказаться от шины PCI для связи чипсет-процессор — ее заменила более «быстрая» шина FSB, работавшая на 66 МГц; затем появились шина AGP для связи чипсет- видеокарта и шина памяти.
В результате, получив относительную независимость от влияния процессора, шина PCI и устройства, которые используют ее интерфейс, только выиграли. В этом пункте будут рассмотрены параметры BIOS, которые позволяют оптимизировать взаимодействие различных устройств, связанных шиной PCI.
Все описанные далее параметры BIOS находятся в разделах Chipset Features Setup, Advanced Chipset Features или Advanced.
Режим bus master
Все устройства, связанные шиной, подчиняются определенному режиму работы, который называется bus master (мастер шины или задатчик). То есть устройство, в данный момент управляющее работой шины, является ее хозяином или задатчиком циклов.
При необходимости передать данные каждое устройство посылает запрос и, получив на него ответ, либо продолжает ожидать, либо занимает шину под свои нужды. Распределение ресурсов шины зависит от приоритета и/или очередности запроса для данного устройства. После окончания работы устройство посылает сигнал о завершении работы и освобождает шину. Через эту стандартную процедуру проходят все устройства, работающие с данной шиной, даже процессор.
КАК ЭТО СДЕЛАТЬ?
Проверку возможности контроля шины данным устройством, то есть его работы в статусе мастер-устройства, можно осуществить с помощью параметра Enabled Master. Этот параметр имеет два значения: Enabled — разрешено (позволяет системе придать выбранному устройству статус мастер- устройства), Disabled — запрещено.
Как правило, все устройства, размешенные на РС1-шине, обладают равным приоритетом, что позволяет при распределении доступа руководствоваться принципом: «кто первым пришел, тот первым и работает». Фактически же это не так. Существуют две схемы доступа к шине. Первая — режим ротации, при котором периодически происходит изменение приоритета устройств. В этом режиме устройству, получившему контроль над шиной, присваивается самый низкий приоритет, и любое другое устройство перемещается на шаг вверх в очереди приоритетов. Вторая схема — это фиксированный режим работы, при котором появляются устройства с доминирующим приоритетом, то есть устройства, допускающиеся к шине «без очереди».
В современных системах большинство функций управления и распределения доступа к шине являются зашитыми и в соответствующих параметрах BIOS не отображены. Более старые версии BIOS вполне могут содержать некоторые из описанных ниже параметров.
Основным параметром, управляющим распределением приоритетов доступа к шине PCI, является PCI Bus Arbitration (Arbitration Priority, PCI Arbiter Mode, PCI Arbitration Mode, PCI Arbit. Rotate Priority). Каждый из вышеперечисленных параметров может иметь два значения. Например, для параметра PCI Bus Arbitration это значения Rotating (ротация) и Fixed (фиксированный), определяющие режим работы устройств с шиной PCI, или Favor CPU (первичен процессор) и Favor PCI (первичная шина), также указывающие на то, какие устройства и в каком режиме будут получать приоритет доступа к шине. Конечно, для оптимизации работы компьютера необходимо именно процессору установить приоритетность доступа к шине, однако в некоторых случаях, например когда вы работаете с потоковым видео, выбор значения Rotating (пли Favor PCI) позволяет ускорить работу. Для установки приоритетов доступа к шине могут использоваться и отдельные параметры, например параметр CPU Priority, который позволяет установить ранг центрального процессора в иерархии приоритетов доступа всех возможных устройств, имеющих функцию мастер-устройств в системе. Этот параметр может иметь следующие значения: Always Last — доступ процессора к шине сразу после завершения работы с ней текущим устройством; CPU 2nd — пропуск процессором текущего и следующего устройства; CPU 3rd — пропуск трех устройств; CPU 4th — пропуск четырех устройств. В данном случае рекомендации прежние: если вы выполняете обычную работу, то оптимально установить как можно меньшие задержки для доступа процессора к шине, но если вы выполняете работу, связанную с прямым взаимодействием двух устройств (карт расширения), для которого не требуется прямого участия процессора, то задержки можно установить.
Другой способ установки очередности доступа к шине — это прямое указание устройства, имеющего высший приоритет, которое выполняется с помощью параметра PCI Bus Parking, позволяющего включать-выключать режим «парковки» устройств на PCI-шине. Этот параметр может иметь значения Enabled (разрешено) и Disabled (запрещено). При установке разрешающего значения устройство, «запаркованное» на PCI-шине, будет иметь полный контроль над шиной в течение некоторого небольшого промежутка времени. Это повышает производительность работы данного устройства, однако приостанавливает работу остальных.
Для управления обменом данными, выполняемым по шине PCI, используется параметр Preempt PCI Master Option. Этот параметр может принимать значения Enabled (разрешено) и Disabled (запрещено). При разрешении операция чтения-записи на PCI-шине может быть прервана некоторыми системными операциями, например, такими, как регенерация памяти, даже в том случае, когда шиной управляет мастер- устройство. Значение Disabled позволяет вести параллельную работу, что несколько ускоряет работу системы, но может привести к ее сбоям.
При выполнении операций чтения-записи на PCI-шине так же, как и на других устройствах, можно использовать операцию буферизации. Это особенно актуально, когда параметр Preempt PCI Master Option имеет значение Enabled. Суть этой операции в следующем: при чтении данных вся записываемая информация накапливается и передается пакетом по окончании чтения, тем самым минимизируя временные затраты. Для включения возможности использования буфера отложенной записи используется параметр CPU Mstr Post-WR Buffer. Однако, в отличие от других устройств, для PCI-шины можно определить несколько буферов, поэтому этот параметр может принимать следующие значения: NA — буферизация отключена; 1, 2 или 4 — число используемых буферов. Понятно, что чем больше буферов используется, тем лучше.
Ускорить процесс отправки отложенных данных можно с помощью указания для параметра Master Prefetch And Posting значения Enabled (разрешено). Этот параметр позволяет одновременно использовать режим предвыборки и буфер отложенной записи для любого мастер-устройства.
Включение высокоскоростного пакетного режима передачи информации из буфера отложенной записи выполняется с помощью параметра CPU Mstr Post-WR Burst Mode. Этот параметр может принимать значения Enabled (разрешено) и Disabled (запрещено). При разрешении пакетирования для передачи информации каждому блоку данных указывается один адрес, что повышает производительность системы.
Еще одной возможностью сократить время, затрачиваемое мастер-устройствами на работу с шиной PCI, является уменьшение задержек ожидания ответа от устройства и времени, в течение которого процессор контролирует шину. В первом случае используется параметр CPU Mstr DEVSEL# Time-out, который может иметь следующие значения, определяющие ожидание как число тактов шины PCI: 3 PCICLK, 4 PCICLK, 5 PCICLK и 6 PCICLK. Чем меньше установленное значение, тем выше производительность системы. Однако уменьшение значения для этого параметра может привести к сбоям в работе системы. Время, в течение которого процессор может доминировать в работе шины, устанавливается с помощью параметра Master Retry Timer. Этот параметр имеет значения, указанные в тактах шины PCI: 10 PCICLK, 18 PCICLK, 34 PCICLK или 66 PCICLK.
Для указания времени, в течение которого работой шины будут управлять другие устройства, имеющие статус мастера, используется параметр PCI Latency Timer (PCI Clocks). Этот параметр позволяет указать (в тактах шины PCI), в течение какого времени поддерживающее режим bus master PCI-устройство может сохранять контроль над шиной, если к шине обращается другое устройство. По истечении времени, заданного этим параметром, арбитр шины принудительно отбирает шину у текущего хозяина шины и передает ее другому устройству. Этот параметр принимает значения от 16 тактов (16 CLK) до 128 тактов (128 CLK) с шагом, кратным 8 (16, 24, 32 …), а также значение Auto Configured, позволяющее системе автоматически выставить нужное время контроля. Понятно, что чем меньше устанавливаемая величина, тем быстрее другое PCI-устройство получит требующийся ему доступ к шине. Однако время контроля шины зависит от индивидуальных особенностей используемых устройств и определяется путем подбора оптимального значения.
Конфигурирование
Устройства, которые подключаются к шине PCI, конфигурируются автоматически — это соответствует концепции Plug and Play. Таким образом, любое устройство PCI автоматически определяется, получает прерывание, пространство адресов в памяти и т. д. Недостаток при этом один: для смены устройства, его удаления или добавления необходимо отключить питание компьютера. Сейчас, однако, уже разработан, а в некоторых чипсетах и реализован механизм, позволяющий менять устройства PCI без отключения питания компьютера так же, как это выполняется для USB-устройств.
Распределение прерываний так же, как и прямой доступ к памяти, осуществляется с помощью специальных сервисов, которые обеспечивают совместимость с режимами работы шины ISA. Обычный прямой доступ PCI-устройства к памяти невозможен, поскольку в устройстве уже реализован механизм bus master. Все это приводит к появлению в BIOS параметров, либо позволяющих включить или отключить устаревшие функции, сохраненные для совместимости со старыми устройствами, либо устанавливающих временные задержки.
Параметр PCI 2.1 Support (PCI 2.1 Compliance) позволяет включить (отключить) поддержку спецификации шины PCI 2.1. Этот параметр имеет значения Enabled (разрешено) и Disabled (запрещено). Спецификация 2.1 имеет два основных отличия от спецификации 2.0: максимальная тактовая частота шины увеличена до 66 МГц, а также вводится механизм моста PCI-PCI, позволяющий снять ограничение спецификации 2.0, согласно которой допускается установка не более четырех устройств на шине. Поскольку сейчас производители материнских плат все шире начинают использовать спецификацию 2.2, в которую добавлены многочисленные функции управления энергопотреблением, быстрого подключения периферийных устройств, поддержки 64-разрядной передачи данных на частоте 66 МГц и т. д., то этот параметр следует включить. Его отключение (значение Disabled) необходимо только при использовании устаревших РС1-уст- ройств. Однако не рекомендуется одновременно использовать новые и устаревшие платы, поскольку отключение поддержки спецификации 2.1 может сказаться на работоспособности нового устройства.
Шина PCI допускает параллельную работу нескольких устройств. В таком режиме работы в чипсете включается дополнительная буферизация циклов чтения-записи. Это позволяет повысить быстродействие системы, но не все PCI- устройства корректно поддерживают этот режим. Поэтому в BIOS предусмотрен параметр Peer Concurrency (PCI Concurrency), который указывает на возможность одновременной работы нескольких устройств. Этот параметр может принимать два значения: Enabled — совместная работа разрешена, и Disabled — запрет совместной работы. Особым случаем является возможность параллельной работы шин PCI и ISA. Для управления возможностью такой работы, также положительно влияющей на быстродействие системы, служит параметр Passive Release, для включения которого используется значение Enabled (разрешено), а для отключения — Disabled (запрещено).
При передаче данных с шины PCI на шину ISA происходит задержка, связанная с существенным различием в скорости работы этих шин. Для ускорения работы системы предусматривается параметр PCI to ISA Write Buffer, включение которого (значение Enabled) позволяет, не прерывая работы процессора, временно записывать данные в специальный буфер для последующей передачи данных на ISA-шину в наиболее подходящий момент. При отключении этого режима (значение Disabled) шина PCI будет ожидать окончания передачи данных на ISA-шину.
Шина ISA
В современных компьютерах ISA-устройства практически не используются, поэтому большинство производителей не устанавливают соответствующие слоты на своих материнских платах. Тем не менее некоторое время назад устройства ISA пользовались большой популярностью, вплоть до того, что выпускались специальные карты-прототипы, имеющие все необходимые микросхемы, обеспечивающие полноценное взаимодействие с ISA-шиной, но являющиеся заготовкой для разработки пользовательских карт расширения.
В отличие от PCI-шины, на которой могло размещаться несколько мастер-устройств, на шине ISA может быть только одно мастер-устройство. Для разрешения использования этого устройства в режиме bus master необходимо для параметра Bus Mastering установить значение Enabled (разрешено). Если установить значение Disabled (запрещено), то ни одно устройство, связанное с шиной ISA, не сможет работать с ней как задатчик.
Большинство параметров BIOS, связанных с настройкой ISA-шины, позволяют управлять различными задержками, возникающими за счет медлительности ISA-шины на фоне остальных составляющих, например шины PCI.
Так, параметр 16 Bit ISA I/O Command WS (ISA 16-bit I/O Wait States) позволяет компенсировать разницу между скоростью работы системных устройств компьютера и его периферийных устройств. Эта компенсация необходима, например, если в системе не определено дополнительное время ожидания или ответа от устройства. При отсутствии предустановленной задержки сигнал о работоспособности от устройства может не успеть, и система автоматически переведет его в разряд нерабочих устройств, блокировав таким образом запросы на ввод-вывод из этого устройства. Этот параметр может принимать два значения: Enabled — разрешена установка компенсации, и Disabled — компенсации нет. При разрешении использования задержки система устанавливает ее автоматически. Некоторые типы BIOS предлагают непосредственное указание количества тактов ожидания. Наилучшее быстродействие достигается при отсутствии задержек (значение Disabled или 0), однако это может привести к сбоям в работе ISA-устройств. При отсутствии в компьютере карт расширений ISA данный параметр должен быть отключен.
Доступ к шине ISA осуществляется следующим образом: если существует мастер-устройство, то оно является доминирующим, остальные устройства ожидают освобождения шины, и после него все поступающие запросы распределяются с помощью контролера шины. Для указания задержки при ожидании доступа к шине используется параметр Slave Wait States (ISA Wait States), который может принимать значения 4 WS (4 ISACLKs) и 5 WS (5 ISACLKs), указывающие соответственно на четыре и пять тактов ожидания в частотах шины ISA.
По умолчанию частота ISA-шины равна примерно 8,33 МГц. Однако с помощью параметра ISA Bus Clock (ISA Clock, ISA Bus Clock Frequency, ISA Clock Divisor, AT BUS Clock Selection, AT Bus Clock Source и т. д.) это значение можно изменить. Частота этой шины задается через южный мост чипсета и зависит от частоты PCI-шины, которая в свою очередь зависит от частоты шины FSB (процессор-чипсет). Поэтому данный параметр имеет значения, кратные частоте PCI-шины, например PCICLK/4 или PCICLK/3. При стандартной частоте PCI-шины, равной 33 МГц, значение PCICLK/4 обеспечивает стандартную частоту ISA-шины. Но поскольку большинство ISA-устройств может работать и на большей частоте, для этого параметра можно использовать значение PCICLK/3, устанавливающее для шины ISA частоту 11 МГц. Такой переход, как и любое увеличение частоты, приводит к увеличению теплоотдачи соответствующими устройствами, которое при плохом теп- лоотводе может привести к перегреву элементов ISA-устройства и выходу его из строя. Не рекомендуется повышать частоту при использовании в качестве ISA-устройств контролеров дисков. Понятно, что при изменении частоты шины PCI, например при разгоне процессора (см. также раздел «Процессоры» в главе «Разгон компьютера»), частота ISA-шины также изменяется.
Параметр ISA Bus Clock или подобные ему могут принимать значения: PCI/r, PCICLK/x, CLK/r, гдех — число в диапазоне от 2 до 12 (2, 3, 4, 5, 6, 8, 10 и 12). Также могут использоваться фиксированные значения, например 7.159 MHz, или значение Auto, которое указывает на автоматический выбор частоты системой.
Прерывания IRQ
Прерывание IRQ (Interrupt Request) — это запрос устройства на обработку данных процессором. При получении прерывания процессор приостанавливает свои операции, сохраняет текущее состояние и передает управление специальной программе (обработчику прерывания), содержащей команды для обработки ситуации, вызвавшей это прерывание. Каждому устройству, как периферийному, так и внутреннему, система присваивает определенное прерывание, используя которое устройство информирует процессор о необходимости обработки запроса от данного устройства. Некоторые прерывания жестко закреплены за определенными устройствами, в то время как другие могут перераспределяться в зависимости от текущих требований. Всего в системе используется 16 прерываний: от IRQ0 до IRQ15. При этом четыре прерывания IRQO, IRQ1, IRQ8 и IRQ13 зарезервированы системой (для системного таймера, клавиатуры, часов и математического сопроцессора) и не участвуют в распределении между остальными устройствами системы и картами расширения.
Как происходит распределение прерываний? После включения компьютера при его тестировании выполняется присваивание прерываний системным устройствам, размещенным на материнской плате, затем ISA-устройствам и в конце — PCI- устройствам. Первыми распределяются прерывания для ISA- устройств, поскольку не все из таких устройств поддерживают технологию Plug and Play и могут требовать ручного (например, с помощью переключателей на материнской плате) указания номера прерывания. После распределения прерываний их конфигурация сохраняется в энергонезависимой CMOS-памяти. При последующих загрузках эта конфигурация автоматически вызывается из памяти, сравнивается с текущим состоянием системы и, в том случае, если не произошло никаких изменений, загружается. Если в системе произошли изменения, например замена или удаление карт расширения, процедура распределения прерываний выполняется заново.
Картам расширения, поддерживающим технологию Plug and Play, выделяются все оставшиеся прерывания, которые распределяются между устройствами автоматически. В тех случаях, когда карт расширения больше, чем свободных прерываний, на одном прерывании может оказаться несколько устройств. В некоторых операционных системах, например Windows 2000/ХР, все прерывания перераспределяются еще раз после загрузки системы и может сложиться ситуация, когда без каких-либо видимых причин на одном прерывании одновременно окажутся несколько устройств, например звуковая плата, видекарта и модем. В результате, если задействовать такие устройства параллельно, в работе системы могут происходить весьма ощутимые задержки, например в нашем случае при работе модема (дозвоне) может «под- висать» звук. При этом если в Windows 98 можно было выполнить ручное конфигурирование и перераспределение прерываний, то в Windows 2000/ХР по умолчанию этого сделать нельзя — данная операция становится доступной только после отключения менеджера энергосберегающего режима.
От правильного распределения прерываний может в значительной мере зависеть работоспособность вашего компьютера. Поэтому при установке в слоты карт расширения необходимо помнить о следующем:
* слоту AGP и первому слоту PCI присваивается один и тот же номер прерывания;
* если PCI-слотов пять, то один номер прерывания разделяется между четвертым и пятым слотами;
* при установке сложного устройства, требующего сразу двух прерываний, следующий слот по возможности следует оставлять свободным.
В современных системах все большее развитие получают схемы, позволяющие подключать внешние периферийные устройства через USB-порты. Такие схемы удобны, поскольку шина USB занимает одно прерывание и позволяет подключать в систему без дальнейшего расходования ресурсов все периферийные устройства, оборудованные соответствующими разъемами: мышь, клавиатуру, сканер, видеокамеру и т. д. Поэтому переход на USB-устройства, кроме явного выигрыша в скорости обслуживания данного устройства (исключением, пожалуй, являются только высокоскоростные устройства, имеющие IDE-контроллер: жесткие диски и CD- ROM приводы), позволяет разгрузить системные прерывания, облегчив тем самым доступ к ним для других устройств.
Все параметры, позволяющие указать способ распределения аппаратных прерываний, находятся в разделе PNP/PCI Configuration BIOS.
Выделение прерывания видеокарте
Ручное выделение ресурсов необходимо в тех случаях, когда после автоматического распределения начинают возникать непонятные конфликты, не связанные с работоспособностью самого устройства. Самый простой пример — «под- тормаживание» одного устройства при включении другого. Очень часто после перераспределения прерываний и/или изменения местоположения устройства, то есть изменения слота, система начинает работать нормально.
Нередко проблемы возникают при работе видеокарты — при выполнении рутинной офисной работы все нормально, а при загрузке игрушек, требующих использования ЗБ-ускорите- ля (при условии его наличия, правильности настройки драйверов и программного окружения), картинка начинает мерцать, изображение «ползет» и т. д.
Это может быть связано с тем, что ваша видеокарта имеет общее прерывание с другими устройствами и, пока она работает в офисном режиме, система справляется с распределением запросов устройств. Но как только вы начинаете играть, начинается обработка больших массивов информации, которыми обмениваются центральный процессор, системная память и видеопроцессор. В такой ситуации разделяемое использование прерывания ведет к снижению производительности всех участвующих в работе устройств.
Для выхода из создавшегося положения можно использовать параметр Assign IRQ For VGA (IRQ to PCI VGA, Allocate IRQ to PCI VGA). Этот параметр имеет два значения: Enabled (Yes) — разрешено, Disabled (No) — запрещено. При разрешении система выделяет видеокарте отдельное прерывание, что положительно сказывается на производительности компьютера в играх или при работе с программами, обрабатывающими видеопотоки. При этом нужно помнить, что, отдавая отдельное прерывание видеокарте, вы уменьшаете число прерываний для остальных PCI-устройств и, соответственно, ухудшаете их взаимодействие с системой. Все это указывает на необходимость определить приоритеты при использовании компьютера: если первична офисная работа, то выделение отдельного прерывания видеокарте нецелесообразно.
При работе со старыми PCI-видеокартами также можно использовать выделение индивидуального аппаратного прерывания, которое выполняется с помощью параметра Slot гг IRQ for VGA, где п — это число имеющихся в компьютере РС1-сло- тов. Соответственно, тот слот, в котором находится видеокарта и которому необходимо выделить отдельное прерывание, должен получить значение Enabled (разрешено), а все остальные — Disabled (запрещено).
Ручное распределение прерываний
Аналогично выделению отдельного прерывания видеокарте в BIOS можно выделить отдельное прерывание USB-шине. Для этого существует параметр Assign IRQ For USB, который имеет значения Enabled (разрешено) и Disabled (запрещено). Этот параметр должен быть включен, если вы одновременно используете два или более USB-устройства, например мышь и сканер. При отсутствии USB-устройств или применении только одного такого устройства, например только сканера или только цифровой камеры, данный параметр нужно отключить (значение Disabled), освободив таким образом прерывание.
Другой возможностью получения дополнительного свободного прерывания является отключение флоппи-дисковода. Параметр FDD IRQ Can Be Free (Report No FDD For WIN 95), который имеет значения Enabled (Yes) — разрешено, или Disabled (No) — запрещено, позволяет освободить прерывание IRQ6. Однако если дисковод физически существует и подключен к системе, то для освобождения прерывания потребуется отключить его контролер. Для этого в разделе Integrated Peripherals для параметра Onboard FDC Controller (FDC Function) необходимо установить значение Disabled.
Для ручного распределения остальных ресурсов аппаратных прерываний можно использовать параметр IRQ п Assigned to (IRQ??), где п — номер прерывания. Данный параметр может принимать значения, описывающие тип устройства, которому это прерывание может быть назначено.
* Legacy ISA (ISA/EISA) — прерывание для устройств ISA, не поддерживающих технологию Plug and Play. Прерывания для таких устройств назначаются в соответствии с сопровождающей документацией.
* PCI/ISA PnP (PCI/PnP) — прерывание для устройств PCI или ISA, поддерживающих технологию Plug and Play.
Число доступных для распределения прерываний зависит от подключенных к системе устройств. Например, если в BIOS отключена поддержка мыши (параметр Mouse Support имеет значение Disable), то будет доступно прерывание IRQ12.
Для распределения прерываний также может использоваться параметр Slot п IRQ, где п — номер PCI-слота. Данный параметр позволяет назначить соответствующему слоту определенное прерывание, поэтому в качестве значений, доступных для этого параметра, используются номера соответствующих аппаратных прерываний: IRQ3, IRQ4, IRQ5, IRQ7, IRQ9, IRQ10, IRQ11. Помимо этого можно использовать значение Auto, которое позволяет установить номер прерывания автоматически. Нужно заметить, что данный параметр не имеет силы при использовании операционных систем Windows 2000/ХР.
Кроме упомянутых выше, в BIOS может использоваться параметр PIRQ_/2 Use IRQ, где п изменяется в диапазоне от 0 до 3. Данный параметр также позволяет устанавливать прерывания индивидуально для каждого устройства на шинах PCI и AGP. Причем, в отличие от параметра Slot п IRQ, этот параметр обладает более широкими функциональными возможностями. Так как параметр устанавливает прерывания, то его значения указывают на свободные или доступные номера IRQ. Здесь также имеется значение Auto, позволяющее выполнить автоконфигурацию устройств.
Еще одним инструментом перераспределения прерываний может быть параметр PCI Device Search Order, который позволяет изменить порядок следования PCI-слотов. То есть физически слоты остаются на месте, но изменяется порядок их обхода в процессе конфигурирования ресурсов. Параметр может иметь два значения: First-Last — от первого к последнему (стандартный обход); Last-First — от последнего к первому (обратный обход).
Прямой доступ к памяти
Прямой доступ к памяти DMA (Direct Memory Access) — это механизм обмена данными между внешним устройством и памятью без участия процессора. Этот механизм позволяет заметно снизить нагрузку на процессор и повысить общую производительность системы.
Использование прямого доступа к памяти осуществляется через специальный DMA-контроллер, который имеет восемь каналов для одновременной передачи массивов информации по четырем 8- или 16-битным шинам.
Пиковая пропускная способность по каналам DMA составляет примерно 2 Мбайт/с, поэтому сейчас основными потребителями каналов DMA являются звуковые карты, флоппи- дисководы и старые приводы CD-ROM. В старых компьютерах контроллер DMA также управлял работой жестких дисков, однако в современных системах эта функция реализуется через механизм программируемого ввода-вывода.
При возникновении ситуации, когда необходимо осуществить процедуру быстрого обмена данными, скорость которой превосходит возможности DMA, управление процессом переноса информации берет на себя процессор.
При ручном распределении ресурсов DMA следует учитывать, что, в отличие от распределения прерываний, на одном канале прямого доступа к памяти должно резервироваться одно устройство. Это не исключает возможности разделяемого подключения нескольких устройств на один канал, но следует помнить, что такое подключение может привести к конфликтам при совместной работе этих устройств.
Все параметры, позволяющие выполнить распределение каналов прямого доступа к памяти, находятся — так же, как и параметры распределения прерываний — в разделе PNP/PCI Configuration BIOS.
Для ручного распределения каналов DMA используется параметр DMA п Assigned to (DMA Resources, DMA Channel n), где n — это номер назначаемого канала (от 0 до 7 включительно). В качестве значений этого параметра используются описания типов устройств, которые должны быть подключены к определенным каналам.
Legacy ISA (ISA/EISA) — канал для ISA-устройств, не поддерживающих механизм Plug and Play. Канал для таких устройств указывается вручную с помощью переключателей.
* PCI/ISA РпР(РпР)- канал для устройств PCI и ISA, поддерживающих механизм Plug and Play.
Кроме приведенного выше параметра в BIOS может использоваться идентичный параметр DMA п Туре, где п — номер назначаемого канала (от 0 до 7 включительно). Этот параметр может принимать четыре значения: Normal ISA — ISA-устройство, поддерживающее механизм Plug and Play; PC/PCI — PCI- устройство, поддерживающее механизм Plug and Play; Distributed — устройство, не поддерживающее механизм Plug and Play; LPC DMA — устройство, подключаемое по шине LPC.
Прямой доступ к памяти активно использовали устройства, размещенные на шине ISA, поэтому для распределения ресурсов DMA среди ISA-устройств можно использовать параметр DMA п Used By ISA, где п — номер канала (от 0 до 7). Значения этого параметра могут иметь следующий вид:
* No/ICU — не используется. Это значение указывает, что данный канал свободен и может распределяться с помощью BIOS. Этот канал также можно настроить с помощью специальной DOS-программы ISA Configuration Utility (ICU).
* Yes — используется. Этот канал принудительно освобождается для ISA-устройства, не поддерживающего механизм Plug and Play. Использование этого значения позволяет предотвратить автоматическое назначение канала, жестко закрепленного за другим ISA-устройством, поддерживающим технологию Plug and Play, способное привести к сбоям в работе компьютера.
В современных компьютерах ISA-шина практически не используется, поэтому ручное распределение каналов и их настройка не требуются. Однако работу некоторых постоянно используемых устройств, например порта принтера LTP, осуществляющих прямой доступ к памяти, можно оптимизировать, минимизировав задержки.
Для этой цели служит параметр DMA Wait States, который позволяет установить количество тактов ожидания перед началом передачи данных по DMA-каналам. Этот параметр может принимать значения IT, 2Т, ЗТ, 4Т (в тактах). Понятно, что уменьшение значения ведет к повышению быстродействия, но в некоторых случаях может привести и к возникновению сбойных ситуаций. Кроме этого параметра аналогичные задачи могут выполнять параметры 8-Bit DMA Cycle Wait States и 16-Bit DMA Cycle Wait States, которые позволяют раздельно установить задержки для 8- и 16-битных каналов DMA. К 8-битным относятся первые четыре канала DMA (с нулевого по третий), а к 16-битным — четыре последних (с четвертого по седьмой).
Затенение памяти
Затенение памяти (shadow memory) — это перенос в оперативную память (ОЗУ) содержимого из постоянной памяти (ПЗУ). Затенение дает значительный прирост производительности за счет того, что обращение идет не к медленной постоянной памяти устройства, имеющего свой BIOS, а к ее образу, размещенному в быстрой оперативной памяти. Самый простой пример — параметры BIOS, которые хранятся в энергонезависимой постоянной памяти, а при включении компьютера переносятся в оперативную память, оптимизируя тем самым настройку системы для работы.
Затенение выполняется в области памяти от 640 Кбайт до 1 Мбайт, что соответствует физическому адресу aOOOOh- fffffh. В современных операционных системах механизм затенения не очень нужен — в 32-разрядных системах (Windows 95 и выше) работа ведется не с теневой памятью устройства, а непосредственно с драйверами, которые загружаются в оперативную память. Поэтому данный фрагмент системной памяти объемом 384 Кбайт может, например, переноситься целиком или частично в область расширенной памяти и в дальнейшем использоваться в соответствии с нуждами и запросами системы.
Тем не менее в старых компьютерах, использующих интеллектуальные устройства, такие как сетевые или видеокарты и т. п., в BIOS возможно указать на необходимость затенения тех или иных частей системной памяти. Особенно полезно проводить процедуру затенения для 16-разрядных систем — MS DOS, Windows Зх.
ПРИМЕЧАНИЕ
Все описанные далее параметры BIOS находятся в разделах Chipset Features Setup, Advanced Chipset Features или Advanced.
Процедура затенения оперативной памяти для системного BIOS выполняется с помощью параметра System BIOS Shadow (System Shadow, System ROM Shadow F000, 64K). Этот параметр может иметь два значения: Enabled — затенение разрешено, Disabled — затенение запрещено.
Для затенения отдельных областей памяти могут использоваться следующие параметры: С000Д6К Shadow, С400Д6К Shadow, С800Д6К Shadow, СС00Д6К Shadow, D000,16K Shadow, D400,16K Shadow, D800,16K Shadow, DC00,16K Shadow. В зависимости от версии BIOS названия параметров могут изменяться, например C8000-CBFFF Shadow или Adaptor ROM Shadow СС00Д6К, но тем не менее все они описывают определенный фрагмент памяти, объем которого равен 16 Кбайт. Эти параметры имеют два значения: Enabled — затенение разрешено, или Disabled — затенение запрещено. По умолчанию затенение запрещено, однако при использовании устройств, имеющих постоянную память, которая может быть «прописана» по данным адресам, для соответствующего параметра необходимо установить значение Enabled. При использовании операционных систем начиная с Windows 95 и выше для всех параметров нужно установить значения Disabled.
Особым случаем является затенение BIOS видеокарты (см. также раздел «Видеосистема» в главе «Разгон компьютера»). Здесь рекомендации те же: в 16-разрядных системах (MS DOS или Windows Зх) использование затенения в процессе работы и особенно игр позволяет значительно повысить производительность видеокарты. Более поздние операционные системы общаются с видеокартой напрямую, минуя ее BIOS.
Для затенения памяти, в которой размещается видео-BIOS, используется параметр Video Shadow (Video BIOS Shadowing, Video ROM BIOS Shadow, Video ROM Shadow C000, 32K). Этот параметр имеет два значения: Enabled — затенение разрешено, или Disabled — затенение запрещено. Однако некоторые видеокарты могут размещать свой BIOS в других областях, поэтому если вы не наблюдаете улучшения качества работы видеосистемы, вам необходимо обратиться к описанию вашей видеокарты и вручную с помощью параметров С000Д6К Shadow и т. п. затенить необходимые участки памяти.
Затенять память для видео-BIOS также рекомендуется, когда вы играете в DOS-игры или вызываете DOS-программы из более «продвинутых» операционных систем (Windows 95 и выше). Это связано с тем, что в таком случае ваша программа (игра) обращается напрямую к видео-BIOS, минуя функциональные возможности текущей операционной системы. Если же DOS-программы не используются, то параметр затенения видео-BIOS лучше отключить, так как если какое-либо приложение обратится к памяти по адресам, которые заняты BIOS видеокарты, могут возникнуть сбои в работе этого приложения.
Кроме параметра, предлагающего затенить область памяти целиком, в некоторых версиях BIOS используются параметры, позволяющие затенить отдельные фрагменты памяти. Эти параметры полностью аналогичны описанным ранее и выглядят, например, так: Video ROM Shadow С000, 16К и Video ROM Shadow C400,16K.
Для затенения памяти для устройств, подключаемых к шине ISA, может использоваться параметр Memory Hole At 15М-16М (Memory Hole). С помощью данного параметра в оперативной памяти выделяется область между 15 и 16 Мбайт, в которую переносится постоянная память соответствующих ISA-устройств. Этот параметр может принимать значения Enabled (разрешено) и Disabled (запрещено). Использование этого параметра позволяет повысить производительность соответствующих устройств ввода-вывода, но блокирует доступ к соответствующему адресному пространству для других программ. Включив данный параметр, вы фактически теряете один мегабайт оперативной памяти, поэтому если вы не используете ISA-устройств или их работоспособность для вас не очень важна, этот параметр нужно отключить (значение Disabled).
Кроме приведенных значений, для этого или аналогичных параметров могут использоваться следующие значения: None — запрещение затенения; at 512 kB (512КВ-640КВ, Conventional) — затенение системной памяти в области между 512 и 640 Кбайт; at 15 MB (15МВ-16МВ, Extended) - затенение в расширенной памяти между 15 и 16 .