4.5. DRAM, ...

Auto Configuration
- опция автоматического конфигурирования параметров доступа к основной памяти. Опция обычно находится в разделах "Advanced Chipset Setup" или "Chipset Features Setup" и позволяет настроить время доступа к модулям памяти в автоматическом режиме либо в "ручном" режиме и в соответствии со спецификациями применяемых модулей памяти. Чтобы выйти на режим пользовательской настройки, достаточно установить параметр в "Disabled". Значение "Auto" (автоматическая конфигурация) устанавливается по умолчанию. Среди возможных фиксированных значений обычно встречаются значения "60 ns" и "70 ns" для модулей памяти с соответствующим быстродействием в наносекундах.
Опция можетназываться также "DRAM Auto Configuration" или "Auto Configure EDO DRAM Tim" ("tim" - это timing). В последней опции параметр "Enabled" заменил "Auto", в остальном отличий нет.
Значительно большие различия оказываются в том случае, когда под опцией "Auto Configuration" "скрывается" настройка параметров доброй половины соответствующего раздела "BIOS Setup". Тогда автоматически конфигурируются параметры кэш-памяти, основной памяти, регенерации и даже скорость ISA-шины. Практически все они будут нами изучены.
CAS# Latency
- (задержка CAS - CL). Важнейшая характеристика чипа памяти, определяющая минимальное количество циклов тактового сигнала от момента запроса данных сигналом CAS (фактически - команда чтения) до их появления и устойчивого считывания с выводов модуля памяти. Возможные значения параметров: 2, 3 или в тактах - 2T, 3T (3 Clks). Значение в 3 такта устанавливается по умолчанию. Уменьшение параметра нужно осуществлять крайне осторожно.
Другое название опции - "CAS# Latency Clocks".
Столь важная характеристика памяти сохранила свою "важность" и с внедрением памяти типа SDRAM, а опция стала называться "SDRAM CAS# Latency" (или реже "SDRAM CAS Latency Time").
Отметим, что меньшее значение увеличивает производительность системы (установка в 2 такта в сравнении с 3-мя ускоряет систему на 1-2%). Рекомендуется устанавливать меньшее значение для SDRAM с быстродействием 10 нс или лучше.
CPU to DRAM Page Mode
- когда опция установлена в "Disabled", контроллер памяти закрывает страницу памяти после доступа к ней. Когда опция включена (по умолчанию), страница памяти остается открытой на случай повторного обращения к ней. Такой режим работы памяти более производителен.
Этот же смысл характерен для множества функций с подобными наименованиями: "DRAM Page Mode", "DRAM Paging", "DRAM Paging Mode", "SDRAM Page Control".
Так же широк и выбор возможных значений параметров. В различных версиях BIOS можно даже найти опции с одинаковыми названиями, но различными значениями параметров. Например, "CPU to DRAM Page Mode" может предоставить для выбора значения "Use Paging" и "No Paging". Возможны и следующие вариации:
"Always Open" и "Closes",
"Page Closes", "Stays Open" и "Closes If Idle",
"Normal" и "Disabled".
В некоторых случаях усовершенствованный (enhanced) механизм работы чипсета и контроллера памяти позволяет с помощью дополнительной информации об открытой странице памяти сохранять ее некоторое время открытой даже при отключенной опции: "DRAM Enhanced Paging", "Enhanced Page Mode", "Enhanced Paging".
DRAM Page Idle Timer
- (таймер пассивного состояния страницы памяти). С помощью этой функции устанавливается время (в системных тактах), в течение которого контроллер DRAM, после перехода процессора в режим ожидания, ждет закрытия всех открытых страниц памяти. Параметр сохранил свою актуальность со времен FPM. Для увеличения быстродействия устанавливается минимальное значение данного параметра, однако при этом возможна нестабильная работа системы. Оптимальный вариант устанавливается опытным путем. Опция может называться "Paging Delay", "DRAM Idle Timer", а возможные значения выбираются из ряда: 1T, 2T, 4T, 8T. Правда, иногда такой ряд может иметь следующий вид: 0, 2, 4, 8, 10, 12, 16, 32.
SDRAM Configuration
- (конфигурация SDRAM-памяти). Установкой параметров опции определяется, должен ли BIOS определять временные характеристики доступа к памяти на основании информации из SPD-модуля ("By SPD") или же пользователь проведет конфигурирование доступа самостоятельно (через установку "Disabled"). Нетрудно увидеть схожесть данной опции с "Auto Configuration". В качестве фиксированных значений могут быть предложены параметры: "7 ns (143 Mhz)" и "8 ns (125 Mhz)" как для памяти с временем доступа 7 нс/8 нс и соответственно частотой шины 143 МГц/125 МГц.

4.5.1. Video, ...

Из "карты" памяти первого мегабайта системного ОЗУ, что жестко "привязано" к архитектуре IBM PC-совместимых компьютеров, хорошо известно, что адресная область A0000-C7FFF традиционно принадлежит видеопамяти графического адаптера и видео BIOS системы. Собственно под видео BIOS (или, как иногда говорят, ПЗУ видеоадаптера) выделяется 32 кБ памяти в области C0000- C7FFF. Это 768-й - 799-й килобайты памяти. Эта адресная область, в зависимости от установок "BIOS Setup", может и не использоваться.
Для справки! Frame Buffer (буфер кадра) - область памяти видеосистемы, в которой временно хранятся данные, необходимые для отображения одного кадра (в простейшем случае).
Область в 128 кБ (A0000-BFFFF, или 640-й - 767-й килобайты) отведена под видеопамять графической карты расширения. В "древние" времена этого объема хватило бы на размещение в памяти одного графического кадра, пусть и с разрешением 320х200. По аналогии с 64-мя килобайтами верхней памяти область видеопамяти в 128 кБ стала тем "окошком" (или фрэйм-буфером), через которое стал возможным доступ ко всей адресуемой памяти. В свое время использование фрэйм-буферизации активно использовалось такими играми, как "DOOM". Нижеизложенные функции BIOS как раз и затрагивают механизмы работы с видеопамятью.
VGA 128k Range Attribute
- во включенном состоянии ("Enabled") к адресам VGA-памяти (A0000H-BFFFFH) чипсетом могут быть применены свойства, подобные функциям "CPU-TO-PCI Byte Merge" или "CPU-TO-PCI Prefetch", т.е. стандартным режимам буферизации записи от CPU в PCI- интерфейс. Это повышает быстродействие системы, в противном случае используется стандартный VGA-интерфейс.
Этот же смысл характерен для множества функций с непохожими наименованиями: "VGA Performance Mode", "Turbo VGA (0 WS at A/B)", "VGA Frame Buffer", хотя в некоторых случаях "оперативный" диапазон сужается до первых 64 кБ (A0000-B0000).
Дополнительная информация о видеофункциях содержится в опциях:
PCI - "Snoop Ahead".

5. PCI


5.1. Арбитраж, Bus-Master
Bus Master (хозяин шины, задатчик) - возможный режим работы устройства на любой шине, в том числе и на PCI. Для работы в таком режиме устройство выдает запрос арбитру шины, сообщая о своем требовании на получение управления шиной. Арбитр, в соответствии с приоритетом и/или очередностью арбитража на данной шине, через определенное время после запроса отдает запрашивающему устройству управление шиной. Выполнив все необходимые ему операции, устройство сообщает арбитру об освобождении им шины.
На современных шинах, таких как PCI, для получения доступа к шине ВСЕ устройства проходят процедуру арбитража, в том числе и центральный процессор. Возможность быть "master"-устройством реализуется аппаратно при разработке устройства. Реализация механизма "BusMaster" позволяет общаться между собой только тем компонентам компьютера, которым это в данный момент необходимо. Этот механизм используется, например, для передачи данных TV-тюнером на видеокарту, если они обе находятся на PCI-шине, причем без участия центрального процессора, системной памяти и т.п.
Обычно, система управляет доступом к PCI-шине по фундаментальному принципу - "First-Come-First-Served" (первым пришел, первым обслуживается). Но возможности арбитража значительно шире и сложнее. Существуют и различные режимы действия самого механизма арбитража. Может быть установлен т.н. режим ротации устройств, при котором периодично меняется очередность устройств, т.е. их приоритет. Приоритет может оказаться фиксированным, т.е. какое-либо системное устройство "навсегда" получает наивысший приоритет. При "вращении приоритетов" (rotated) устройству, получившему контроль над шиной, присваивается самый низкий приоритет и любое другое устройство перемещается на шаг вверх в "очереди" приоритетов.
Как же все это реализуется? В состав чипсета входит 8-разрядный ARBITRATION CONTROL REGISTER, позволяющий реализовать свойства, связанные с арбитражем на PCI-шине, а также (у достаточно новых чипсетов) с поддержкой спецификации шины PCI 2.1. (см. ниже)

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

PCI Bus Arbitration
Параметр может принимать значения:
"Rotating",
"Fixed".
Опция с абсолютно таким же названием встретилась и с параметрами: "Favor CPU" и "Favor PCI". Пользователю остается определить своего фаворита. Если речь идет о потоковом видео, то желательно указать PCI-устройство. Выбор центрального процессора во многих случаях может оказаться более безопасным.
С абсолютно такими же возможностями отбора: CPU или PCI, может встретиться и функция "Arbitration Priority".
В свою очередь, функция с таким же названием может предложить более "изощренный" вариант: "PCI First" и "ISA/DMA First". Здесь возможности выбора зависят от применяемых устройств. "Master"-устройство может находиться и на ISA-шине и желать того же самого, а именно передачи данных напрямую по DMA-каналам.
Аналогичные варианты выбора предлагает и функция "DMA/ISA Master Before PCI". В данном случае значение "Disabled" равносильно "PCI First".
Рассмотренные выше варианты выбора параметров могут быть предложены и в функциях "PCI Arbiter Mode", "PCI Arbitration Mode", "PCI Arbit. Rotate Priority".
При этом, правда, могут возникнуть и другие сложности. Например, если для выбора предлагаются параметры: "Mode1" и "Mode2"? Поскольку идея арбитража заключается и в минимизации времени, требуемого для получения устройством контроля над шиной и передачи данных, то возникает вопрос, в каком из вариантов устройство, например, на той же PCI-шине быстрее получит доступ к ней. В случае "Favor PCI" или с выбором "Favor CPU"? Естественно, что первый вариант более оптимален. В данном случае этому значению соответствует "Mode1", устанавливаемый по умолчанию. При возникновении каких-либо проблем в системе необходимо выбрать режим "Mode2", как более безопасный.
CPU Priority
- после вышеизложенного содержание этой опции может быть уже и не покажется странным. Пользователь должен установить, по сути, ранг центрального процессора в иерархии всех возможных "master"-устройств в системе. Если для остальных устройств, допустим, может выдерживаться "режим ротации", то для CPU его место всегда окажется фиксированным. Это место можно выбрать из ряда: "Always Last", "CPU 2nd", "CPU 3rd", "CPU 4th".
Опция с тем же названием была встречена и с обычными "Disabled" и "Enabled". Можно предположить, что "Disabled" запрещает ротацию приоритета для CPU, а "Enabled" ее разрешает.
Ну и наконец, опция "PCI Masters' Priority" предлагает на выбор: "Rotating" и "Fixed".

Bus Mastering
- эта опция предназначалась еще не так давно для разрешения или запрещения работы устройств в режиме "Bus-Master" на шине ISA. Параметр может принимать значения:
"Enabled" - разрешено,
"Disabled" - запрещено.
Enable Master
- установка в "Enabled" позволяет системе придать выбранному устройству статус "master"-устройства на PCI-шине, а также проверить, способно ли это устройство контролировать шину.
Master Retry Timer
- этой опцией устанавливается, как долго центральный процессор, будучи задатчиком PCI-циклов, сможет сохранить свое лидерство. Возможные параметры измеряются в циклах PCI-шины (PCICLKs). Вот этот ряд: 10 (по умолчанию), 18, 34 или 66 PCICLKs.
PCI Bus Parking
- опция включения/выключения режима "парковки" устройств на PCI-шине. Режим "парковки" - одна из разновидностей режима "Bus- Master". Когда этот режим включен ("Enabled"), "запаркованные" на PCI-шине устройства будут иметь полный контроль над шиной в течение некоторого небольшого промежутка времени. Это повышает производительность данного устройства, однако приостанавливает работу остальных. Данный режим неплохо работает с контроллерами жестких дисков.
PCI Master 0 WS Write
- если опция установлена в "Enabled", в системе устанавливается нулевое время ожидания в циклах записи от "master"-устройств на PCI-шине в системную память. Значение "Disabled" устанавливается по умолчанию.
Preempt PCI Master Option
- когда опция включена ("Enabled"), операции чтения/записи на PCI-шине, даже в том случае, когда шиной владеет "master"- устройство, могут быть прерваны некоторыми системными операциями, например, такими, как регенерация памяти. В противном случае может вестись "незапланированная" параллельная работа различных системных компонент, что может привести к сбоям системы, в лучшем случае - к потере информации.
Stop CPU at PCI Master
- когда опция включена ("Enabled"), работа центрального процессора может быть приостановлена в момент инициирования PCI- устройством захвата шины. Установка в "Disabled" (по умолчанию) не позволяет прерывать работу CPU как задатчика шины. Для прерывания тогда может потребоваться использование дополнительных функций "BIOS Setup".

Дополнительную информацию о работе "master"-устройств см. ниже.

5.2. Все о PCI-шине

Passive Release
- (пассивное разделение). Эта опция появилась в свое время в "BIOS Setup" одновременно со способностью арбитра чипсетов Intel Triton VX/HX отбирать шину у "master"-устройств при отсутствии в течение какого-то времени запросов на передачу с их стороны. Эта опция включает/выключает механизм параллельной работы шин ISA и PCI. Если этот параметр разрешен ("Enabled"), то доступ процессора к шине PCI позволен во время "пассивного разделения" или, как говорят иногда, ее "освобождения". Проще говоря, включение данного режима позволяет шине PCI продолжать работу даже тогда, когда происходит передача данных от ISA- устройств, которые в обычном режиме могут тормозить работу более скоростной PCI-шины. Арбитр чипсета как бы выравнивает работу двух шин с учетом задержек ISA-шины. Необходимость же запрещения данного параметра может возникнуть при использовании плат ISA, активно использующих каналы DMA (звуковые карты, устройства "Arwid"). Запрещение также уместно при отсутствии ISA-карт в системе.
Опция может называться "PCI Passive Release".
PCI 2.1 Support
- (поддержка спецификации шины PCI 2.1). При разрешении этого параметра поддерживаются возможности спецификации 2.1 шины PCI. Спецификация 2.1 имеет два основных отличия от спецификации 2.0: максимальная тактовая частота шины увеличена до 66 МГц и вводится механизм моста PCI-PCI, позволяющий снять ограничение спецификации 2.0, согласно которой допускается установка не более 4-х устройств на шине. Запрещение этого параметра имеет смысл только при возникновении проблем после установки дополнительной PCI-платы (как правило, проблемы могут возникнуть только с достаточно старыми PCI-устройствами). Параметр может принимать значения:
"Enabled" - разрешено,
"Disabled" - запрещено.
Опция может называться "PCI 2.1 Compliance".
PCI Clock Frequency
- опция для установки частоты шины PCI. В приведенном виде такая опция была внедрена на первых "пентиумных" машинах, а затем перенесена на 486-е системы с процессорами AMD и PCI-шиной. Частота шины через множитель "привязывалась" к частоте центрального процессора и имела следующий ряд значений: "CPUCLK/1.5" (по умолчанию), "CPUCLK/2", "CPUCLK/3" и фиксированные "14 Mhz".
PCI Dynamic Decoding
- установка в "Enabled" позволяет системе запоминать PCI-команду, которая только что была запрошена. Если последующие команды совпадают с некоторой адресной областью, циклы записи будут автоматически интерпретироваться как PCI-команды.
PCI Latency Timer
- (таймер времени ожидания для шины PCI). Значение этой опции указывает, в течение какого времени (в системных тактах) поддерживающая режим "Busmaster" PCI-карта может сохранять контроль над PCI-шиной, если к шине обращается другая PCI-карта. Фактически это и есть таймер, ограничивающий время занятия PCI-шины устройством-задатчиком шины. По истечении заданного времени арбитр шины принудительно отбирает шину у задатчика, передавая ее другому устройству. Допустимый диапазон изменения этого параметра - от 16 до 128 с шагом, кратным 8.
Значение параметра необходимо изменять осторожно, так как оно зависит от конкретной реализации материнской платы, и только в случае, если в системе установлены по меньшей мере две PCI-карты, поддерживающие режим "Busmaster", например, SCSI- и сетевая карты. Графические карты не поддерживают режим "Busmaster". Чем меньше устанавливаемое значение, тем быстрее другая PCI-карта, требующая доступа, получит доступ к шине. Если требуется выделить для работы, например, SCSI-карты больше времени, то можно увеличить значение для PCI-слота, в котором она находится. Значение для сетевой карты, например, соответственно необходимо уменьшить или вообще установить равным 0, хотя в некоторых случаях установка 0 не рекомендуется. В общем случае, какое значение параметра пригодно и оптимально для данной системы, зависит от применяемых PCI-карт и проверяется с помощью тестовых программ. Необходимо также учитывать, в какой степени "карты-конкуренты" чувствительны к возможным задержкам.
Опция также можетносить названия: "PCI Bus Time-out", "PCI Master Latency", "Latency Timer", "PCI Clocks", "PCI Initial Latency Timer". Для последней опции ряд возможных значений имел вид: "Disabled", "16 Clocks", "24 Clocks", "32 Clocks".
Правда, это еще не весь возможный перечень. Функции "Latency Timer Value" и "Default Latency Timer Value" применяются совместно. Если в последней опции установить "Yes" (оно же и по умолчанию), то тогда первая функция будет проигнорирована.
И еще одно очень важное замечание. В свое время эта опция (и ей подобные) вводились с учетом совместного существования PCI- и ISA-шин. ISA-шина позволяла использовать одно "master"-устройство. Это применялось редко как раньше, так и теперь. Зато PCI-шина дала возможность одновременного использования нескольких "master"-устройств. Учитывая различия в скорости шин, а тем более в их пропускной способности, необходимо было решить проблему совместной работы "master"-устройств на PCI-шине и стандартных устройств на более медленной ISA-шине. Особенно это касалось распространенных в то время звуковых и сетевых карт для ISA-шины, обладавших незначительным объемом буферной памяти, т.е. чувствительных к любым задержкам при передаче данных. "AMI BIOS" позволял выбрать значение параметра в диапазоне от 0 до 255 с единичным шагом. Значение "66" устанавливалось по умолчанию, хотя меньшее значение владения шиной PCI-устройством оказывалось более предпочтительным.
Поэтому при конкретном решении стоящей перед пользователем задачи (или проблемы) надо исходить прежде всего из возможностей чипсета, версии BIOS и используемых карт расширения.
PCI Preempt Timer
- (таймер времени вытеснения для шины PCI). На первый взгляд по смыслу эта функция аналогична функции "PCI Latency Timer", возможна даже некоторая путаница, хотя в данном случае кое-что наоборот. Значение этой опции указывает, в течение какого времени (в тактах PCI-шины, или локальных тактах - LCLKs) поддерживающая режим "Busmaster" PCI-карта сможет не контролировать шину, а находиться в состоянии ожидания пока этой шиной владеет другая карта. Арбитр шины отслеживает указанный временной интервал с момента подачи запроса, после чего ожидающее "master"-устройство вытесняет своего товарища.
Для выбора предлагаются значения из ряда: 5, 12, 20, 36, 68, 132, 260, в цифровом виде или с отображением единицы измерения - "5 LCLKs" и т.д. Обязательным является параметр "No Preemption" (или "Disabled"). Причем последний, как правило, устанавливается по умолчанию. Эта опция в таком виде уже не применяется, так что встреча с ней на старых машинах может вызвать некоторые трудности. Во всяком случае при наличии хотя бы двух "master"-устройств на PCI-шине значение "Disabled" (или аналогичное) должно быть заменено на более оптимальное.
Опция может называться и "PCI Preemption Timer".
PCI to ISA Write Buffer
- во включенном состоянии ("Enabled") система, не прерывая работы процессора, будет временно записывать данные в специальный буфер для последующей передачи данных в наиболее подходящий момент. В противном случае ("Disabled") цикл записи в шину PCI будет направляться далее напрямую в более медленную ISA шину. Необходимость в такой функции, а точнее в таком буфере, связана с тем, что скорости работы ISA- и PCI-шин различны. Включение буферной памяти позволит PCI-шине не ожидать, пока ISA-шина примет все данные.
Peer Concurrency
- (параллельная работа или, дословно, - равноправная конкуренция). Этот параметр разрешает/запрещает одновременную работу нескольких устройств на PCI-шине. При включении опции включается дополнительное буферирование циклов чтения/записи в чипсете. Но могут возникнуть проблемы, если не все PCI-карты готовы поддерживать такой режим работы. В этом случае работоспособность системы проверяется опытным путем.
Действие этой опции затрагивает и совместную работу PCI- и ISA-шин. Например, шинные PCI-циклы могут перераспределяться и буферизироваться во время ISA-операций, таких как передача по DMA-каналам в режиме "Bus-Master". Параметр может принимать значения:
"Enabled" (по умолчанию) - разрешено,
"Disabled" - запрещено.
Опция может называться и "PCI Concurrency" или "Bus Concurrency". Дополнительные устройства, "жаждущие конкуренции", появляются в опциях "PCI/IDE Concurrency" или "PCI-to-IDE Concurrency".
Snoop Ahead
- (предвидение). Эта опция применима, если в системе включено кэширование. Когда опция установлена в "Enabled", "master"- устройства на PCI-шине могут контролировать регистры VGA-палитры для непосредственных циклов записи и преобразования их в потоковый протокол PCI-формата с целью повышения скоростных характеристик обмена данными между PCI-шиной и памятью. В итоге значительно увеличивается производительность системы в процессе передачи видеоданных.

"Хитрые" настройки 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) – столбец, а точнее, элемент (слово) из строки. После этого данные в виде пакета (нескольких последовательных слов) выдаются на шину.

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

Итак, работа с памятью происходит по следующему алгоритму:

1. 1. активируется банк подачей сигнала RAS;

2. 2. происходит задержка, пока данные поступают из выбранной строки банка в усилитель (задержка RAS-to-CAS);

3. 3. подается сигнал CAS на выборку первого слова из строки;

4. 4. данные поступают на шину, при этом происходит задержка (CAS Latency);

5. 5. следующее слово выдается уже без задержки, так как оно содержится в подготовленной строке;

6. 6. когда цикл выборки пакета из четырех слов завершен и больше нет обращений к этой строке, происходит закрытие банка; данные возвращаются в ячейки (задержка 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-устройство будет готово. И процессор не должен его ждать – он может выпустить данные и продолжить выполнение программы. Я не вижу каких-либо причин выключать эту опцию.
%