Если сердцем компьютера считается процессор, то мозгом — оперативное запоминающее устройство, которое сокращается как ОЗУ или — в англоязычном варианте — RAM (Random Access Memory). Большинство же пользователей использует для обозначения этого устройства простое и емкое слово — память.
В некоторых кругах пользователей считается, что память является первичной: нет смысла гнаться за дополнительными мегагерцами в процессоре, если ресурсы вашей оперативной памяти практически целиком выделены операционной системе, оставляя всем остальным приложениям лишь жалкие крохи. В то же время даже с процессором средней мощности, но с достаточно большим запасом правильно организованной памяти ваш компьютер сможет творить чудеса.
В этом разделе будут рассмотрены параметры BIOS, которые позволяют без лишних финансовых затрат получить дополнительный прирост производительности. Основными параметрами, регулировка которых позволяет получить этот прирост, являются всевозможные задержки, специфические режимы работы, схемы функционирования и т. д.
Почти все параметры, которые позволяют управлять работой оперативной памяти, находятся в разделе Advanced Chipset Setup (Chipset Features Setup). В зависимости от типа и версии BIOS параметры настройки памяти могут быть собраны в отдельный подраздел, который может называться DRAM Timing Control. По умолчанию все значения для параметров памяти BIOS устанавливает автоматически, в зависимости от типов установленных модулей памяти.
Память SIMM
Память типа FPM и EDO RAM, размещаемая на модулях SIMM, уже отжила свой век. Однако до сих пор во многих организациях активно эксплуатируются компьютеры, оснащенные памятью этого типа. Сейчас модули SIMM очень дефицитны — найти можно только бывшие в употреблении, так как их выпуск прекратился около восьми лет назад. Именно поэтому такая память очень нуждается в оптимизации.
Переключением между автоматической и ручной установкой значений настройки памяти управляет параметр Auto Configuration (DRAM Auto Configuration, Auto Configure EDO DRAM Tim).
КАК ЭТО СДЕЛАТЬ?
Параметр Auto Configuration позволяет указать на одно из фиксированных значений длительности цикла обращения к данным: 60 ns или 70 ns. Для оптимизации памяти вручную для этого параметра необходимо установить значение User или Disable.
Значения 60 ns или 70 ns указывают на использование предустановок, которые обеспечивают стабильную работу памяти исходя из установленной длительности цикла доступа. Понятно, что при этом теряется некоторая часть максимально возможной производительности.
Память DIMM и DDR
Наиболее распространенной сейчас памятью являются модули DIMM и DDR (память типа SDRAM и SDRAM II). Преимуществом их по сравнению с модулями SIMM, кроме очевидного увеличения работоспособности за счет синхронизации сигнала, является наличие в модуле специального микрочипа SPD, в котором зашита информация о конфигурации данного модуля памяти. Эти информация не является оптимальной — производители, заботясь о снижении совместимости, закладывают в SPD-блоки модулей памяти значения, которые позволяют им щт-атно работать на материнских платах всех типов, поддерживающих эти модули. Что, естественно, не гарантирует максимального быстродействия. Здесь нужно заметить, что на рынке существует некоторое количество дешевых безымянных модулей памяти без SPD-блоков, которые могут не идентифицироваться как устройства соответствующего назначения некоторыми материнскими платами.
В связи с наличием в памяти устройства, производящего автоматическую настройку всех параметров, для ручного конфигурирования памяти его необходимо отключить.
КАК ЭТО СДЕЛАТЬ?
Это выполняется с помощью параметра SDRAM Configuration, который указывает, должен ли BIOS самостоятельно установить параметры доступа к памяти на основании информации из блока SPD в модуле памяти (значение by SPD или Auto) или должен разрешить сделать это пользователю (значение Disabled). В качестве фиксированных могут быть предложены следующие значения: 7 ns (143 Mhz), 8 ns (125 Mhz) и 10 ns (100 MHz), задающие для памяти время доступа, равное 7, 8 и 10 не, что соответствует частоте шины 143, 125 и 100 МГц. При использовании фиксированных значений максимальное быстродействие соответствует значению 7 ns (143 Mhz), хотя не очень качественная память может «отказаться» работать с такими параметрами.
Настройка параметров памяти
Настройка памяти на оптимальное быстродействие связана с подбором такой конфигурации значений, при которой задержки на сохранение или извлечение информации будут минимальны. Эти задержки формируются за счет времени ожидания разрешения на чтение или запись по определенному адресу, времени перехода к определенной ячейке или группе ячеек, где хранится нужная информация, и т. д.
Далее мы рассмотрим основные параметры, позволяющие ускорить работу памяти.
Параметры чтения-записи
В упрощенном представлении память — это таблица, состоящая из строк и столбцов. На их пересечении находятся ячейки, каждая из которых хранит единицу информации, а фактически — логическое значение 0 или 1, определяемое зарядом на соответствующем конденсаторе: есть заряд — 1, нет заряда — 0. Все данные, находящиеся в памяти, преобразованы в двоичные числа, которые записываются в память по какому-либо выделенному адресу или группе адресов, определяемых номером строки и столбца таблицы. То есть данные в памяти представляют собой набор нулей и единиц в нескольких соседних ячейках.
Как осуществляется чтение-запись в оперативную память? Для чтения содержимого из одной ячейки памяти в самом простом случае необходимо пять тактов шины памяти: сначала указывается адрес строки, затем проходит контрольный сигнал (строб), подтверждающий получение адреса, третьим и четвертым тактами посылаются основной и контрольный сигналы на адрес столбца, и только пятым тактом происходит считывание данных. Если считываются значения из соседних ячеек, размещенных, например, в одной строке, то число тактов на чтение можно уменьшить до трех. В результате получается общая схема функционирования хууу-уууугде х — количество тактов шины, необходимое для чтения первого бита (ячейки), а у — для чтения всех последующих. В зависимости от типа памяти различаются и схемы функционирования: для памяти типа FP*M DRAM применяется схема 5333-3333-…, а для памяти типа EDO DRAM — 5222-2222-…
Запись данных в память осуществляется по аналогичной схеме.
В некоторых версиях BIOS можно встретить параметры позволяющие настроить схему функционирования памяти.
КАК ЭТО СДЕЛАТЬ?
Как правило, управление чтением-записью осуществляется с помощью параметров DRAM Read Timing (чтение) и DRAM Write Timing (запись) (DRAM Read Burst (EDO/FP) и DRAM Write Burst Timing). Поэтому в качестве значений для этих параметров можно встретить различные варианты допустимых схем обращения к памяти: хЗЗЗ или х444 — для FPM DRAM; х222 или хЗЗЗ — для EDO DRAM. Установка значения, описывающего более «короткую» схему, позволит добиться некоторого повышения производительности.
Параметры настройки схемы функционирования памяти могут встречаться и при использовании памяти более современного типа — SDRAM или BEDO DRAM. Для этих типов памяти схема функционирования выглядит совсем просто: 5111-1111-…, то есть все необходимые адреса задаются при считывании первого бита, а далее происходит только считывание данных. Для параметров этих типов памяти могут использоваться значения xlll или х222.
Задержки
Перед любой операцией чтения-записи данных в память, как, впрочем, и в ее процессе, происходят всевозможные задержки, которые необходимы для стабилизации работы. В некоторых ситуациях уменьшение задержек позволяет ускорить работу памяти, однако следует помнить, что если ваш компьютер перестал работать стабильно или начал «подтормаживать», лучше вернуться к значениям но умолчанию.
* Параметр DRAM R/W Leadoff Timing характеризует число тактов, затрачиваемых памятью при подготовке выполнения операции чтения-записи данных. Этот параметр может иметь значения 8/7 или 7/5: первое число указывает на количество тактов, затрачиваемых при чтении, а второе — при записи.
* Параметр Speculative Leadoff позволяет использовать режим опережающей выдачи сигнала чтения данных. Этот параметр может иметь значение Disable (запрещено), отключающее опережающее чтение, или значение Enable (разрешено) — включающее. Включение данного режима позволяет сэкономить несколько тактов, которые по умолчанию тратятся на определение адреса необходимой ячейки.
Параметр Fast RAS-to-CAS Delay (RAS# to CAS# Address Delay, RAS to CAS Delay Time, DRAM RAS to CAS Delay, FPM/EDO RAS-to- CAS Delay, SDRAM RAS# to CAS# Delay) определяет время задержки между приходами контрольных сигналов (стробов) обращения к строкам и столбцам. Эта задержка предназначена для уверенной идентификации памятью адреса строки ячейки памяти, который определяется по сигналу RAS (Row Address Strobe), и адреса столбца, определяемого по сигналу CAS (Column Address Strobe). Различные версии BIOS предлагают и разные значения для установки этой задержки. Это могут быть Fast (быстро) и Slow (медленно), Enabled (включено) и Disabled (выключено), 2Т (такта) и ЗТ (вместо буквы Т для обозначения тактов могут использоваться сочетания Clks или Clocks). В некоторых случаях может быть предложен целый ряд значений: ОТ, IT, 2Т, ЗТ.
* Параметр DRAM RAS Precharge Time определяет время (в тактах), необходимое для накопления заряда до начала цикла регенерации соседних строк памяти. Этот параметр может принимать значения ЗТ и 4Т, Fast (быстро) и Slow (медленно) или конкретные значения в миллисекундах: 7.8 ms, 15.6 ms, 32.2 ms и 64.4 ms. В отличие от остальных параметров, эту задержку необходимо увеличивать, то есть чем реже проводится регенерация, тем быстрее работает память. Однако значительное увеличение времени этой задержки может привести к дестабилизации работы памяти.
* Параметр MA Wait State позволяет установить или снять дополнительный такт ожидания до начала чтения памяти. Этот параметр может принимать значения Fast (быстро) и Slow (медленно). Для памяти типа EDO значение Slow добавляет один такт ожидания к уже имеющемуся.
* Параметр Read Around Write позволяет использовать буфе]) накопления записываемых в память данных. Этот буфер накапливает данные, пока выполняется их чтение, и записывает данные в память, как только освобождается шина. Этот параметр может иметь значения Enabled (буфер используется) и Disabled (буфер отключен). Использование буфера позволяет значительно оптимизировать работу памяти.
* Параметр DRAM Idle Timer позволяет установить таймер пассивного состояния памяти, определяющий время, в течение которого будут закрыты все открытые страницы памяти при переходе процессора в режим ожидания. Этот параметр может принимать значения: ОТ (тактов), 2Т, 4Т, 8Т, ЮТ, 12Т, 16Т, 32Т. Для стабильно работающей памяти достаточно значений 2Т или 4Т.
* Параметр CAS# Latency (CAS# Latency Clocks) описывает важнейшую характеристику модуля памяти, которой является минимальное количество циклов тактового сигнала от момента запроса данных сигналом С AS (подтверждение прохождения адреса столбца для ячейки памяти) до их появления и устойчивого считывания с выводов модуля памяти. Этот параметр может принимать два значения: 2Т (такта) и ЗТ (либо 2 Clks и 3 Clks). По умолчанию для этого параметра всегда ставится большее значение. Уменьшение значения позволяет ускорить процесс чтения данных из памяти, а следовательно, увеличить производительность системы: установка двухтактового значения ускоряет систему по сравнению с тремя тактами на 1-2 %. Однако далеко не все микросхемы памяти будут устойчиво работать при изменении значения этого параметра. Поэтому при покупке модулей памяти необходимо обратить внимание не только на спецификацию памяти (PC 100 или РС133), но и на время задержки CAS Latency (CL). Память с CL = 2 имеет максимальное быстродействие и стабильно работает на частотах 100-133 МГц.
* Параметр Row Precharge Time (SDRAM RAS Precharge Time)
позволяет указать количество тактов до начала цикла регенерации памяти. Этот параметр имеет два значения: 2Т и ЗТ (или Fast и Slow). Меньшее значение (Fast) позволяет увеличить быстродействие памяти, в то время как большее значение (Slow) повышает стабильность работы компьютера.
* Параметр RAS# Pulse Width устанавливает число тактов, в течение которых активен сигнал RAS (подтверждение прохождения адреса строки для ячейки памяти). Этот параметр может иметь различные значения: от трех тактов (ЗТ) до семи (7Т). Уменьшение времени активности сигнала RAS повышает быстродействие системы, однако некоторые модули памяти могут при этом выдавать сбои.
Другие характеристики памяти
Кроме задержек и параметров, настраивающих непосредственные значения чтения и записи в память, в BIOS, как правило, имеется еще несколько параметров, позволяющих произвести конфигурацию памяти для ее оптимального взаимодействия с другими устройствами. Некоторые из этих параметров приведены ниже.
* Параметр SDRAM Frequency (DRAM Clock) позволяет установить частоту шины, на которой работает память, отличной от частоты, на которой работает процессор. Этот параметр может принимать несколько значений: SPD — частота определяется установками, зашитыми в блок SPD модуля памяти; HCLK — частота шины памяти соответствует частоте системной шины; HCLK+33 (или HCLK-33) — частота шины памяти больше (или меньше) частоты системной шины на 33 МГц. Иногда в качестве значений используется непосредственное указание частот, например 66 MHz, 100 MHz, 133 MHz, 200 MHz, 266 MHz, 333 MHz, 400 MHz.
* Параметр Bank Interleave (SDRAM Bank Interleave) устанавливает режим чередования банков памяти. Этот параметр позволяет использовать механизм конвейера: пока один логический банк проходит цикл обновления содержимого/ другой находится в активном состоянии и отрабатывает цикл обращения. Этот процесс улучшает эффективность функционирования памяти, приближая реальную пропускную способность памяти к теоретической пиковой. Данный параметр может иметь три значения: Disabled (механизм отключен), 2 Bank (2-Way) или 4 Bank (4-Way). Если в вашей системе применяются модули по 16 Мбайт, то этот параметр должен иметь значение Disabled. Выбор значения 2 Bank (2-Way) или 4 Bank (4-Way) зависит от объема установленной памяти: значение 2 Bank (2-Way) рекомендуется для памяти размером 32 и 64 Мбайт, а 4 Bank (4-Way) — для модулей большего объема или в том случае, когда в системе используется несколько модулей памяти.
* Параметр Fast Command (Optimization Mode или Top Performance) позволяет установить величину задержек при обмене данными или командами между процессором и памятью. Этот параметр может иметь значения Ultra, Fast и Normal (Turbo2, Turbol и Normal либо Enabled и Disabled). Понятно, что чем меньше задержка, тем быстрее происходит обмен данными. Однако если модули памяти не очень качественные, ускорение обмена информацией может привести к сбоям в работе памяти.
* Параметр CPU Fast String указывает на возможность прямого обращения процессора к оперативной памяти. Этот параметр может иметь значения Enabled (обращение разрешено) и Disabled (обращение запрещено).
* Параметр SDRAM1T Command (DDR Command Rate или DDR 1T/2T Item) позволяет установить величину задержек при обмене командами между чипсетом и памятью. По умолчанию этот параметр имеет значение 2Т (два такта) или Disabled. Если установить значение IT (Enabled), то можно повысить эффективность взаимодействия связки па- мять-чипсет, что оказывает благотворное действие на всю систему.
* Параметр Chipset NA# Asserted позволяет указать на возможность использования механизма конвейеризации, при котором чипсет выдает сигнал готовности нового адреса памяти до того, как все данные, переданные в текущем цикле, будут обработаны. Этот параметр имеет два значения: Enabled (конвейеризация разрешена) и Disabled (конвейеризация запрещена). Понятно, что при использовании упреждающего выставления адреса памяти, общее быстродействие системы повышается.
* Параметр CPU-DRAM Back-Back Transaction позволяет подключить возможность быстрой записи пакетов данных, передаваемых процессором в оперативную память. Этот параметр имеет два значения: Enabled (разрешить) и Disabled (запретить). Разрешение быстрого прямого общения процессора с памятью повышает скорость работы системы.