"Хитрые" настройки BIOS
Макс Курмаз
Думаю, большинству читателей
известно, что BIOS – это базовая система
ввода-вывода, включающая в себя набор
подпрограмм, записанных в ПЗУ
компьютера. Кроме обслуживания
обращений к различным устройствам и
проведения начальной диагностики (процедура
POST), BIOS также занимается инициализацией
всех устройств компьютера, занося в их
регистры определенные значения.
Очевидно, что от того, как именно
настроит BIOS то или иное устройство,
зависит быстродействие и стабильность
всей системы в целом. Программа Setup,
доступ к которой можно получить, нажав
“DEL” (или “F2”) при загрузке, как раз и
позволяет изменять те значения, которые
загружаются в регистры различных
устройств, прежде всего чипсета
материнской платы. Кстати, хранятся они
в памяти, питаемой от батарейки, а память
эту называют CMOS (Complimentary Metal-Oxide-Semiconductor,
потребляющая небольшую мощность в
статическом режиме логика).
Раз BIOS Setup позволяет
настраивать систему, интерес к его
опциям неизменно проявляется у многих
владельцев компьютеров. Конечно, можно
спокойно применить к ним «метод тыка» и
добиться при этом хорошего результата.
Но гораздо лучше знать, что именно
затрагивает та или иная опция и
производить «твикинг» целенаправленно.
Данный цикл статей, построенный на базе
нескольких хорошо известных в интернете
«BIOS Guides» (см. конец статьи), и будет
посвящен самым «хитрым» опциям
современных BIOS.
Настраиваем память
Прежде чем начинать описание
опций BIOS, затрагивающих работу памяти (обычно
они находятся в Advanced Chipset Setup), нужно хотя
бы приблизительно разобраться, как
именно происходит к ней доступ.
Как известно, у современного
компьютера память подключена к
системному контроллеру (точнее, к
контроллеру памяти) с помощью 64-разрядной
шины. По этой шине передаются как адреса,
так и данные. Физический адрес
определенной ячейки памяти содержит в
себе адреса строки (Row) и столбца (Column) в
запоминающем массиве. Сигнал RAS (Row Access
Strobe) сигнализирует о том, что в данном
такте выбирается определенная строка,
сигнал CAS (Column Access Strobe) – столбец, а
точнее, элемент (слово) из строки. После
этого данные в виде пакета (нескольких
последовательных слов) выдаются на шину.
Кроме того, современные
микросхемы памяти содержат в себе
несколько независимых банков. Работа с
банком начинается с его активации (открытия)
и заканчивается закрытием, после чего
данные в нем обновляются (перезаряжаются
ячейки динамической памяти, содержимое
которых имеет свойство быстро
обнуляться).
Итак, работа с памятью
происходит по следующему алгоритму:
-
активируется банк подачей
сигнала RAS;
-
происходит задержка, пока
данные поступают из выбранной строки
банка в усилитель (задержка RAS-to-CAS);
-
подается сигнал CAS на выборку
первого слова из строки;
-
данные поступают на шину, при
этом происходит задержка (CAS Latency);
-
следующее слово выдается уже
без задержки, так как оно содержится в
подготовленной строке;
-
когда цикл выборки пакета из
четырех слов завершен и больше нет
обращений к этой строке, происходит
закрытие банка; данные возвращаются в
ячейки (задержка RAS Precharge).
Важно понимать, что уже
открытый банк не требует задержек на
активацию, а доступ к данным в нем
требует только одну задержку – CAS Latency.
Поэтому именно она оказывает наибольшее
влияние на производительность
подсистемы памяти. Также стоит обратить
внимание на тот факт, что банки памяти
могут открываться и закрываться
независимо друг от друга, что позволяет
работать с одним из них тогда, когда
другой занят перезарядкой.
SDRAM Cycle Length (CAS Latency, CAS Delay)
Число тактов, требуемых для
выдачи данных на шину после поступления
сигнала CAS. Самый важный параметр,
влияющий на производительность. Если
память позволяет, нужно выставлять
значение 2.
RAS-to-CAS Delay (Trcd)
Число тактов, необходимых для
поступления строки данных в усилитель.
Тоже оказывает влияние на
производительность. Значение 2
предпочтительнее и подходит в
большинстве случаев.
SDRAM RAS Precharge Time (TRP)
Время перезарядки ячеек памяти
после закрытия банка. Обычно
используется значение 2, хотя чипсеты VIA
позволяют установить 3 (см. ниже).
SDRAM RAS Time (TRAS)
Время, в течение которого банк
остается открытым и не требует
обновления (перезарядки). Как правило,
такой отдельной опции нет, она
комбинируется с последующей.
SDRAM Cycle Time (TRC, TRAS/TRC)
Время (в тактах), требуемое на
полный такт доступа к банку, начиная с
открытия и заканчивая закрытием. Обычно
задается вместе с параметром TRAS. TRC=TRAS+TRP.
Чипсет i815 позволяет устанавливать TRAS/TRC
в значения 5/7 и 7/9, чипсеты VIA Apollo и KT – 5/7,
5/8, 6/8, 6/9, изменяя при этом время TRP.
Современная память со временем цикла 50
нс и частотой 133 МГц (маркировка 7.5 нс)
позволяет работать в режиме 5/7.
SDRAM Idle Cycle
Иногда встречается и такая
опция. Она устанавливает время
простаивания банка памяти, не занятого
обменом данными. Изменять значение по
умолчанию не имеет смысла.
RAS Precharge Control (Page Closing Policy)
Управляет процедурой закрытия
банков памяти. Если установлено
значение Disabled ( Precharge All), то контроллер
памяти закрывает сразу все открытые
банки памяти при попытке доступа за
пределы текущего банка. При
необходимости доступа к следующему
банку нужно его открыть. Если же
поставить Enabled (Precharge Bank), то все банки
остаются открытыми до тех пор, пока не
потребуется перезарядка их ячеек. Тем
самым можно выполнять доступ к
нескольким банкам без ожидания их
закрытия и последующей активации, что
существенно ускоряет работу при чтении
больших блоков данных, но замедляет –
при активном использовании
процессорного кэша (банк приходится
закрывать в самый неподходящий момент).
Bank Interleaving
То же самое, но с другой стороны.
Включение этого режима позволяет
работать с банками по очереди, то есть
получать данные из одного в то время,
когда другие заняты. Причем выбор
значения 2-Way позволяет чередовать пару
банков, а 4-Way – четыре банка (они есть у
большинства микросхем DIMM-модулей), а это,
конечно, выгоднее.
Bank X/Y DRAM Timing
Очень «хитрая» опция, часто
встречающаяся в BIOS Setup материнских плат
на чипсетах VIA. Список значений этой
опции – 8/10/Normal/Fast/Turbo. Какой именно смысл
скрывается за всем этим? Какие именно
параметры работы контроллера памяти
изменяет эта опция? Этот вопрос был
прояснен с помощью утилиты WPCREDIT, которая
получает доступ к регистрам чипсета.
После обследования нескольких
материнских плат была составлена такая
таблица:
Очевидно, что наибольшая
производительность будет достигнута
при значении Normal; Turbo отключает
чередование банков и устанавливает
меньшие значения задержек RCD и Precharge, а
все остальные вообще ничем не
отличаются. Впрочем, известно, что на
платах ASUS эта опция переделана – там Turbo
дает минимальные задержки, а Normal –
максимальные. Выяснить, изменил ли
производитель материнской платы эти
опции AwardBIOS, можно либо с помощью тестов (хорошо
подойдет Sandra Memory Bandwidth test), либо с помощью
уже упомянутой утилиты WPCREDIT.
DRAM Clock
Чипсеты VIA, а также Intel i810/i815 и
модификации допускают
псевдоасинхронную работу шины памяти и
процессорной шины (FSB – Front Side Bus). Данная
опция у чипсетов VIA имеет значения Host CLK,
CLK+33 и CLK-33 (не все присутствуют), что
подается как возможность повышать или
понижать частоту памяти относительно
процессорной шины на 33 МГц. На самом деле
частота не суммируется, просто
используется другой множитель
относительно частоты шины PCI, которая
всегда равна 33 МГц. Например, при FSB=100
(PCIx3) память может работать на частоте 66
(PCIx2) или 133 (PCIx4). Если память позволяет,
частоту нужно увеличивать – ставить
CLK+33.
Для чипсетов Intel есть
возможность выбрать либо частоту 100,
либо – 133 МГц. Последняя возможна только
в том случае, если и процессор работает
на шине 133 МГц. И кроме того, i810/i815 не
позволяет использовать три модуля
памяти на частоте 133 МГц.
Memory Timing by SPD
Как известно, SPD (Serial Presence Detection)
– механизм получения информации о
характеристиках модуля DIMM. В небольшой
EEPROM-микросхеме хранятся CAS Latency, RAS-to-CAS и
множество других параметров. Если эту
опцию включить, то BIOS при загрузке
автоматически сконфигурирует
контроллер памяти, установив наилучший
допустимый режим работы, поставит и CAS
Latency, и Bank Interleaving, и даже частоту работы
памяти. Пользователю уже не нужно
беспокоиться о выборе правильных
настроек.
Однако не во всех случаях SPD
дает положительный эффект. Во-первых,
недобросовестные производители памяти
могут «зашить» в ППЗУ завышенные
значения, и память будет сбоить. Во-вторых,
при проблемах с чтением SPD все настройки
памяти будут выставлены по минимуму.
Поэтому включать данную опцию нужно с
осторожностью, будучи уверенным, что
микросхемы SPD всех модулей памяти
исправны.
Memory Hole at 15-16М
Эта опция изначально
предназначена для устранения проблемы
несовместимости со старыми ISA-устройствами.
Некоторые из них требовали монопольного
выделения диапазона адресов в пределах
16-го мегабайта. Сейчас такие устройства
найти нелегко, поэтому Memory Hole можно было
бы смело считать анахронизмом. Если бы
не один непонятный побочный эффект:
часто включение этой опции помогает
решить проблему нестабильной работы
чипсетов VIA со звуковыми картами Creative (SB
Live!) и Aureal. Видимо, при этом происходит
перераспределение выделяемых
устройствам адресов. Правда, можно
потерять доступ к памяти за пределами 16
Мб, особенно в Linux, если не принять
специальных мер. Но если у вас никаких
проблем не наблюдается, то и не
включайте эту опцию.
In Order Queue
Эта опция затрагивает только
некоторые чипсеты VIA. У них имеется
четырехступенчатый конвейерный буфер,
предназначенный для обслуживания
операций чтения данных из памяти.
Конечно, лучше включить все ступени (4 level)
и получить дополнительные 5-10%
производительности.
PCI-to-DRAM Prefetch
Когда PCI-устройство, работая в
режиме захвата шины (Bus Mastering), выполняет
обращение к памяти, во внутренний буфер
контроллера поступает один байт с
заданным адресом. Но если включить эту
опцию, в буфер будут считаны несколько
последующих байтов, поэтому следующий
запрос PCI-устройства будет выполнен без
обращения к памяти. Для звуковых карт и
FireWire-контроллеров она особенно важна.
Read Around Write
Как известно, большинство (до 90%)
запросов к памяти связаны с чтением
данных, а не с записью. Тем не менее,
запись в память необходима, однако шина
не позволяет производить обе операции
одновременно. Поэтому при необходимости
записи хотя бы одного байта любой
процесс чтения будет прерван. Чтобы
этого не случалось, существует “Read Around
Write”-буфер, в который поступают данные,
требующие последующего помещения в
память. Таким образом, операция записи
производится только тогда, когда в
буфере накоплено достаточно данных.
Если же данные еще не успели записаться,
то вообще можно обойтись без чтения из
памяти, используя буфер как кэш.
Очевидно, что эту опцию лучше включать.
Правда, есть сведения, что при этом не
будет работать видеокарта на чипе i740.
Fast R-W Turn Around
Данная опция позволяет
уменьшить задержки при смене режимов
обращения к памяти – когда за записью
следует чтение и наоборот. Очевидно, что
нагрузка на память при этом возрастает,
что может приводить к нестабильности и
появлению ошибок. Включайте и
проверяйте.
System ROM Cacheable
Эта опция включает в число
кэшируемых диапазон адресов, в которых
хранится копия системного BIOS. Нет
никакой необходимости кэшировать BIOS,
поскольку имеющиеся в его составе
подпрограммы во время работы приложений
не используются. То же самое можно
сказать и об опции Video BIOS Cacheable –
отключайте не задумываясь.
Video RAM Cacheable
Видеопамять для текстовых и
простых графических режимов
располагается в диапазоне адресов
0A000h-0BFFFh. Когда вы работаете в Windows или
любой другой графической оболочке,
буфер кадра отображается на
определенные линейные адреса далеко за
пределами первого мегабайта. Значит –
отключаем.
Контроллер PCI
Вторая часть моего обзора
настроек BIOS связана с работой
контроллера шины PCI и совместимых с ней
устройств. Нелишне будет немного
пояснить механизм работы этой шины.
Каждое устройство может выступать в
качестве «хозяина» шины на время обмена
с памятью (пресловутый режим DMA), забирая
ее для своих нужд. Перед этим оно,
конечно, должно подать запрос арбитру.
Когда обмен закончен, устройство
сообщает об этом путем выдачи
прерывания (IRQ). На нужды шины выделяется
четыре линии прерываний INT#A-INT#D, причем
каждый слот имеет разный порядок
подключения этих линий. Другими словами,
первая линией прерывания на разных
слотах будет разной, например, у слота 1
это будет INT#A, у слота 2 – INT#B и т.д., но не
обязательно в таком порядке. Тем самым
PCI-устройства, использующие обычно
первую линию, в разных слотах не всегда
работают на одном и том же прерывании.
Хотя по теории не должно быть никаких
проблем при использовании одной линии
прерывания несколькими устройства, на
самом деле некоторые звуковые и
видеокарты отказываются работать в паре.
Тут уж ничего не поделаешь. А вот для
того, чтобы не пересечь PCI-устройства с
клавиатурой, COM- и LPT-портами и т.д., есть
опция присваивания линиям IRQ (еще их
называют INT PIN) разных номеров–входов на
контроллере прерываний.
Переходим к другим опциям.
CPU to PCI Write Buffer
Когда процессор работает с PCI-устройством
(т.е. режим DMA не используется), он
производит запись в порты. Данные при
этом поступают в контроллер шины и далее
в регистры устройства. Если мы включаем
эту опцию, задействуется буфер записи,
который накапливает данные до того, как
PCI-устройство будет готово. И процессор
не должен его ждать – он может выпустить
данные и продолжить выполнение
программы. Я не вижу каких-либо причин
выключать эту опцию.
PCI Dynamic Bursting (Byte Merge, PCI Pipeline)
Эта опция тоже связана с
буфером записи. Она включает режим
накопления данных, при котором операция
записи (транзакция шины) производится
только тогда, когда в буфере собран
целый пакет из 32 бит. Эффект сугубо
положительный – пропускная способность
32-битной шины используется на полную
мощность, без холостых операций.
Включать обязательно.
PCI#2 Access #1 Retry
Тоже опция, управляющая работой
буфера записи. Она определяет, что нужно
делать в том случае, если буфер уже
заполнен, а устройство так и не
подготовилось к получению данных и не
смогло принять их. Enabled – операция
записи будет повторяться, Disabled –
генерируется ошибка и процессор (точнее,
программа, выполняющая запись в порт)
решает, как поступать дальше.
PCI Master 0 WS Write
Данная опция в положении Disabled
позволяет добавлять один
дополнительный такт перед операцией
записи, проходящей по шине. В случае
разгона процессора с помощью увеличения
частоты шины FSB увеличиваются также
частоты всех остальных шин, в том числе и
PCI. Тут-то дополнительный такт и спасает.
Если с PCI все нормально - частота 33 МГц и «глюков»
не наблюдается, то опцию нужно включать.
PCI Latency Timer
С помощью этой опции можно
установить количество тактов, отводимых
каждому PCI-устройству на осуществление
транзакции (операции обмена). Чем больше
тактов, тем выше эффективность работы
устройств, так как не требуется заново
запрашивать разрешение, захватывать и
освобождать время и т.д., то есть
выполнять операции, требующие
определенного времени, но не дающие
реального эффекта. Однако при наличии ISA-устройств
PCI Latency нельзя увеличить до 128 тактов.
Также можно серьезно нарушить работу
системы, поэтому аккуратно подходите к
этому вопросу.
Delayed Transaction
Эта опция регулирует
взаимоотношения ISA- и PCI-устройств в
момент, когда им обоим требуется
получить доступ к памяти. Как известно,
шина ISA тактируется в четыре раза
медленнее, чем шина PCI – 8 МГц против 33
МГц. Скорость обмена тоже гораздо ниже.
Если PCI-устройство потребует обмена в то
время, как работает ISA-устройство, оно
просто не получит такой возможности и
будет ждать своей очереди. Однако выход
есть – задержанная транзакция. При ней
данные не поступают на шину, а
накапливаются в 32-битном буфере. Когда
шина освобождается, происходит
транзакция. Но не все ISA-устройства
позволяют так обманывать себя, поэтому в
случае проблем отложенную транзакцию
нужно отключать.
Passive Release
Это – на ту же тему. Пассивное
освобождение шины PCI происходит при
активности одного из ISA-устройств.
Процессор получает возможность не
дожидаться окончания транзакции и
начинать запись данных. Если с ISA-устройствами
возникают проблемы, эту опцию нужно
отключать.
PCI 2.1 Compliance
По сути это – включение двух
предыдущих опций, так как любое
устройство, удовлетворяющее
спецификации PCI 2.1, должно поддерживать и
отложенную транзакцию, и пассивное
освобождение шины.
Вот, собственно, и все, что в BIOS
Setup касается шины PCI. Корректность
сделанных настроек можно проверить,
нагрузив по очереди все PCI-устройства.
Особенное внимание следует обращать в
том случае, если частота шины PCI
вследствие разгона оказалась выше
номинала. Следующий раз поговорим о
другой шине – AGP.
Контроллер AGP
Теперь речь пойдет о
контроллере шины AGP. Сначала нелишне
будет в очередной раз вспомнить, что же
это за шина. AGP (Accelerated Graphics Port) была
создана компанией Intel специально для
поддержки видеокарт нового поколения.
За основу была взята универсальная шина
PCI. По сравнению с ней AGP допускает работу
только одного устройства. При
неизменной ширине шины (32 бита) частота
возросла вдвое и составила 66 МГц. В
дальнейшем были предложены режимы AGP 2x и
AGP 4x, в которых вдвое и вчетверо
соответственно увеличена скорость
обмена, а также введено пониженное
напряжение (1.5 В). Еще одно отличие AGP –
ориентация на новый режим обмена,
названный DiME (Direct In-Memory Execution). Это значит,
что AGP-контроллер видеокарты может не
просто получать большие объемы данных
из системной памяти (режим DMA), но и
задействовать ее в качестве расширения
памяти видеокарты. Тем самым
планировалось полностью избавиться от
необходимости оснащать видеокарты
памятью. Идея не нашла поддержки со
стороны разработчиков графических
чипов. Объем видеопамять постоянно
растет, уже вовсю применяются алгоритмы
сжатия текстур и Z-буфера, а AGP-память
используется только в редких случаях,
так как это приводит к падению
производительности.
Initial Display
Эта опция, чаще всего
находящаяся в разделе «Peripheral Setup»,
совершенно ни на что не влияет в том
случае, если у вас только одна
видеокарта. Если же их две, то BIOS
предоставляет возможность выбрать,
которую из них назначить первой (Primary).
AGP Aperture Size
Эта опция устанавливает размер
апертуры, то есть максимального объема
системной памяти, выделяемой для работы
в режиме AGP DiME. Заполняться блоками
памяти апертура будет только в случае
использования больших текстур. Поэтому
выбор очень больших значений никак не
повлияет на общую производительность
видеокарты. Однако если выбрать слишком
маленькое значение, то режим AGP DiME, а
иногда и DMA, будет полностью отключен,
что может помочь в решении проблемы с
несовместимостью видеокарты и
материнской платы.
Какое все-таки значение лучше
устанавливать? Обычно советуют брать за
основу половину объема системной памяти.
Или еще одна формула: основная_память * 2 /
видеопамять. На самом деле во всех
случаях нужно устанавливать либо 64, либо
128 Мб.
AGP Driving Control
Эта опция есть у материнских
плат с чипсетами VIA. Она позволяет
включить режим управления мощностью
сигнала, подаваемого на слот AGP.
Необходимость в этом возникает в том
случае, когда графический контроллер
потребляет слишком много энергии. Если
материнская плата не способна
обеспечивать необходимые параметры,
начнутся сбои и зависания при работе 3D-игр.
Также эта опция может быть
полезной при разгоне процессора шиной,
когда вместе с FSB поднимаются частоты
всех шин, в том числе и AGP.
AGP Driving Value
Это и есть та опция, которая
задает мощность сигнала. Для устранения
проблем обычно советуется поставить
значение DA. Если не помогает, стоит
попробовать E7, EA и выше. Однако
экспериментировать с этой опцией очень
опасно, поэтому трогайте ее только в
случае крайней необходимости.
AGP Master 1WS Read
Эта опция отвечает за установку
задержек при работе AGP-контроллера
видеокарты в режиме DMA. Обычно начало
обращения к памяти происходит по
истечении двух холостых тактов. Для
увеличения производительности можно
включить эту опцию и тем самым вдвое
сократить задержки.
AGP Master 1WS Write
Аналогично предыдущей опции, но
касательно операций записи в память.
Что еще почитать?