Текст книги "Оптимизация BIOS. Полный справочник по всем параметрам BIOS и их настройкам"
Автор книги: Адриан Вонг
Жанр:
Программирование
сообщить о нарушении
Текущая страница: 9 (всего у книги 26 страниц) [доступный отрывок для чтения: 10 страниц]
Обычные опции: Enabled, Disabled.
Блоковые операции (burst transactions) повышают производительность SDRAM, так как данные читаются и записываются блоками с использованием только одного адреса столбца.
В такой операции только при первой передаче данных для чтения или записи учитывается начальная задержка, необходимая для активации столбца. Последующие операции в последовательности выполняются без задержки. Это позволяет намного быстрее считывать и записывать блоки данных.
Например, блоковая операция из четырех записей может включать задержки: 4-1-1-1. На выполнение четырех записей операции понадобится семь циклов.
Если же четыре записи не объединены в блоковую операцию, задержки будут стандартными: 4-4-4-4. На выполнение четырех записей операции понадобится 16 циклов, то есть на 9 циклов больше (или в два раза медленнее).
Функция BIOS DRAM Burst Length 8QW позволяет управлять продолжительностью операции записи.
Если вы выключите данную опцию, операция записи будет ограничена четырьмя QW.
Если вы включите данную опцию, операция записи будет ограничена восемью QW.
Так как начальное ожидание CAS фиксировано для каждой операции, увеличение время записи позволяет записать или считать больше данных с меньшей задержкой. Поэтому запись длиной 8 выполняется быстрее, чем запись длиной 4.
Например, если контроллер памяти записывает в память блок данных продолжительностью в восемь единиц, эту задачу он может решить с использованием одной блоковой операции в восемь единиц или с использованием двух стандартных операций в четыре единицы каждая. Для блоковой операции будут действовать задержки: 4-1-1-1-1-1-1-1, то есть на всю операцию потребуется 11 циклов.
Для двух стандартных операций будут действовать задержки: 4-1-1-1-4-1-1-1. Это значит, что для завершения двух операций понадобится 14 циклов. Как видите, это медленнее, чем при использовании блоковой операции.
Рекомендуем включить данную опцию BIOS, чтобы улучшить производительность системы.
DRAM Data Integrity Mode (Режим целостности данных DRAM)Обычные опции: ECC, Non-ECC.
Эта функция BIOS управляет настройкой ECC для контроллера памяти.
Опция ECC (Error Checking and Correction – Проверка и исправление ошибок) позволяет контроллеру памяти находить и исправлять ошибки одного бита. Также контроллер памяти сможет находить (но не исправлять) ошибки двух битов. Это позволяет добиться повышенной интеграции данных и стабильности системы. Данная функция может быть активирована только в том случае, если вы пользуетесь модулями памяти ECC.
Такие модули памяти достаточно дорогие, потому что они поставляются с дополнительными чипами памяти. Причина заключается в том, что материнской плате необходимо применить дополнительные биты ECC (ECC-кодировку) к данным, которые записываются на модуль памяти. При считывании данных контроллер памяти пересчитывает ECC-кодировку и сравнивает ее с оригинальной ECC-кодировкой, которая была записана в память ранее. Если кодировка совпадает, это значит, что данные верны.
Если в данных имеется ошибка одного бита, контроллер памяти может идентифицировать ошибку путем анализа ECC-кодировок. Затем бит исправляется путем изменения полярности (с 0 на 1 или наоборот).
В табл. 4.4 приведен список ECC-кодировок, которые необходимо использовать для различных стандартов данных в соответствии с ECC-алгоритмом.
Таблица 4.4
Так как современные процессоры используют строки данных 64-бит, для применения опции ECC вам требуются модули ECC 72-бит (64-бит данных + 8-бит ECC). Обратите внимание на то, что максимальная скорость передачи данных модуля памяти 72-бит ECC такая же, что и у модуля памяти 64-бит. Дополнительные 8 бит памяти используются только для кодировки ECC, но не для данных. Поэтому модули памяти 72-бит не могут улучшить производительность вашей системы.
Так как контроллер памяти должен рассчитывать ECC-кодировку для всех данных при записи или чтении, имеет место небольшое снижение производительности (примерно 3–5 %). Это одна из причин, по которой модули памяти ECC непопулярны у пользователей обычных компьютеров. Вспомните, что модули памяти ECC стоят дорого и встречаются редко, и вы поймете, что им никогда не стать лидерами на рынке.
Если интеграция данных для вас очень важна, и вы не можете допустить повреждения данных в системе, используйте модули памяти ECC. Потеря 3–5 % в производительности памяти – ничто по сравнению со стабильностью информации, которую обеспечивает ECC. В любом случае, эта функция будет полезна для вас.
Если вы работаете со стандартными модулями памяти 64-бит, выберите опцию Non-ECC.
Если вы уже потратили деньги на модули памяти ECC, включите данную опцию и не обращайте внимания на разговоры о потери производительности. Не имеет смысла покупать дорогие модули ECC, чтобы затем выключать их поддержку! Помните, что вы не теряете производительность. Вы просто обмениваете ее на повышенную стабильность и интеграцию данных.
DRAM Idle Timer (Таймер простоя DRAM)Обычные опции: 0T, 8T, 16T, 64T, Infinite, Auto.
Контроллер памяти позволяет страницам памяти оставаться открытыми. Если цикл процессора на SDRAM попадает в открытые страницы, он может быть выполнен без задержки. Это позволяет улучшить производительность процессора.
Но страницы не могут оставаться открытыми постоянно. Их необходимо закрывать и обновлять. Если страница закрывается в тот момент, когда контроллер памяти пытается считать из нее информацию, то операция чтения задерживается вплоть до повторной активации страницы. Это очень важно, так как теряются циклы процессора.
Эта функция BIOS задает количество циклов простоя, которое допускается до того, как контроллер памяти заставляет ожидающие страницы закрыться и обновиться.
В основе данной опции лежит концепция временной локализации (temporal locality). В соответствии с ней, чем дольше открытая страница простаивает, тем меньше вероятность того, что она снова понадобится до обновления. Поэтому лучше временно закрыть и обновить страницу, чтобы быстро открыть ее впоследствии, если в этом возникнет необходимость.
Вы можете настроить эту функцию на любое количество циклов от 0T до 64T. Указав значение, вы определяете, сколько циклов таймера открытые страницы могут простаивать, прежде чем они будут закрыты и обновлены. Вам доступны такие опции, как Infinite (Бесконечно) и Auto.
Если вы выберите значение 0 Cycle (0 циклов), контроллер памяти будет мгновенно обновлять открытые страницы при наличии цикла простоя.
Если вы выберите значение Infinite, контроллер памяти не будет обновлять открытые страницы. Открытые страницы остаются активным до тех пор, пока не наступит время их обновления.
Если вы выберите значение Auto, контроллер памяти будет использовать установку производителя по умолчанию.
Большинство производителей по умолчанию используют значение 8T, что позволяет контроллеру памяти обновлять открытые страницы после восьми циклов простоя.
Если вы увеличите значение, это позволит банку SDRAM задерживать обновление страниц (при условии, что система не обращается к ним). Благодаря этому запрос команды чтения или записи, обращенный к данным страницам, может быть выполнен мгновенно.
Тем не менее, возможности этой функции ограничены настройкой цикла обновления в BIOS. Это значит, что при необходимости открытая страница будет обновлена независимо от того, достигло ли количество пустых циклов отметки, заданной опцией SDRAM Idle Limit, или нет. Поэтому функция SDRAM Idle Limit может применяться только для того, чтобы вынудить обновление банка SDRAM до завершения цикла обновления, но не для задержки данного цикла.
Уменьшение количества циклов до 0T заставляет контроллер памяти закрывать все открытые страницы после того, как запросы перестают отправляться на контроллер памяти. То есть открытые страницы обновляются сразу после прекращения запросов. Теоретически, это может привести к повышению эффективности памяти, так как обновление открытых страниц маскируется во время пустых циклов. Но все запросы, поступающие после этого, должны ждать обновления страницы.
Так как обновления происходят нечасто (примерно один раз в 64 миллисекунды), их воздействие на производительность памяти можно считать минимальным. Преимущество маскировки обновлений во время пустых циклов невелико, особенно если учесть то, что современные системы памяти используют для маскировки обновлений обмен данными между банками.
При установке 0T запросы данных тоже могут задерживаться, так как один пустой цикл заставляет контроллер памяти закрыть все открытые страницы! На обычных компьютерах операции чтения из памяти пользуются принципом пространственной локализации (spatial locality), который указывает на то, что при считывании одного бита данных велика вероятность считывания и следующего бита. Поэтому закрытие открытых страниц с помощью функции SDRAM Idle Limit ведет к снижению производительности.
С другой стороны, ограничение в 0 или 8 пустых циклов гарантирует более частое обновление содержимого памяти, что позволяет избежать потери данных, вызванной неполным обновлением ячеек памяти. Если вы заставите контроллер памяти чаще обновлять открытые страницы, это позволит удерживать страницы открытыми достаточно долго, чтобы добиться завершения операции.
При работе на обычном компьютере рекомендуем выбирать опцию Infinite, чтобы максимально задерживать обновление страниц. Это позволяет уменьшить количество обновлений и увеличивает пропускную способность памяти.
Для приложений, которые выполняют множество произвольных запросов (например, для серверов), рекомендуем выбирать опцию 0T, так как последующие запросы, скорее всего, будут выполняться другими страницами. Если открытые страницы будут закрываться для обновления, это подготовит их для следующего запроса. Увеличенное количество обновлений вполне компенсируется повышенной интеграцией данных.
Также вы можете увеличить значение функции Refresh Interval или Refresh Mode, чтобы повысить пропускную способность и поддерживать интеграцию данных в ячейках памяти. Так как очень большие интервалы обновления (например, 64 или 128 m sec) могут привести к потере данных в ячейках, настройка параметра SDRAM Idle Limit на 0T или 8T позволяет ячейкам памяти чаще обновляться, причем высока вероятность того, что подобные обновления будут происходить во время пустых циклов. В результате, как кажется, нам удается решить сразу две задачи, – увеличить время активации банка при высокой загрузке контроллера памяти и сделать обновления более частыми при простое контроллера памяти.
Однако в действительности этот способ не является предпочтительным, так как он зависит от возможности памяти к созданию пустых циклов для активации обновлений. Если ваша системная память подвергается большой нагрузке, у нее может не быть пустого цикла, который позволил бы активировать обновление. Это способно привести к потере данных в ячейках памяти.
При работе на обычном компьютере рекомендуем правильно настроить интервал обновления и выбрать опцию Infinite. Это позволит увеличить пропускную способность памяти путем максимальной задержки обновлений, а также сохранить интеграцию данных в ходе регулярных циклов обновления.
Для серверов рекомендуем правильно настроить интервал обновления и выбрать опцию 0T. Благодаря этому все открытые страницы будут обновляться при наличии пустого цикла.
DRAM Interleave Time (Время чередования DRAM)Обычные опции: 0ms, 0.5ms.
Эта функция BIOS определяет размер дополнительной задержки между обращениями к банку памяти при использовании функции SDRAM Bank Interleave.
Конечно, чем меньше задержка, тем быстрее модуль памяти может переключаться между банками; это ведет к повышению производительности.
Поэтому рекомендуем настроить для данной опции минимально допустимое значение. В данном случае, это 0ms (дополнительная задержка между обращениями к банку отсутствует). Используйте настройку 0.5ms только в том случае, если у вас возникли проблемы со значением 0ms.
DRAM PreChrg to Act CMDОбычные опции: 2T, 3T, 4T.
При запросе от любой команды чтения строка памяти активируется с помощью RAS (Row Address Strobe – Импульс адреса строки). Чтобы считать данные из ячейки памяти, соответствующий столбец активируется с помощью CAS (Column Address Strobe – Импульс адреса столбца). Используя сигналы CAS, из одной активной строки можно считать несколько ячеек.
Однако при считывании данных из другой строки активная строка должна быть деактивирована. Имеет место небольшая задержка перед активацией другой строки. Данная задержка называется tRP.
Задержка модуля памяти отражается в соответствующих спецификациях. Для JEDEC это третья цифра в последовательности из четырех цифр. Например, если ваш модуль памяти имеет спецификацию 2-3-4-7, задержка tRP для него будет равна 4 циклам.
Как и функция SDRAM Trp Timing Value, эта функция BIOS управляет временем обновления RAS (tRP). Под временем обновления подразумевается временной интервал между завершением команды Precharge и моментом, когда эта строка может быть активирована. Отсюда и возникло название опции DRAM PreChrg to Act CMD, которое является сокращением от DRAM Precharge Command to Activate Command (Команда между обновлением DRAM и активацией).
Если период RAS слишком велик, это может привести к снижению производительности, так как активация всех строк задерживается. При уменьшении периода обновления до 2T производительность повышается, так как новая строка может быть активирована быстрее.
Однако времени обновления 2T может быть недостаточно для некоторых модулей памяти. При этом активная строка может потерять свое содержимое до возврата в банк памяти. Это приведет к потере или повреждению данных в момент, когда контроллер памяти пытается считать данные или записать их в активную строку.
Советуем уменьшить время обновления RAS до 2T, чтобы увеличить производительность. Если вы столкнетесь с проблемой стабильности системы, увеличьте значение параметра до 3T или 4T.
DRAM Ratio (CPU: DRAM) – Коэффициент DRAM (CPU: DRAM)Обычные опции: 1:1, 3:2, 3:4, 4:5, 5:4.
Выбор опции полностью зависит от настройки функции DRAM Ratio H/W Strap или N/B Strap CPU As.
Если функция DRAM Ratio H/W Strap настроена как Low, будут доступны опции 1:1 и 3:4.
Если функция DRAM Ratio H/W Strap настроена как High, будут доступны опции 1:1 и 4:5.
Если функция N/B Strap CPU As настроена как PSB800, будут доступны опции 1:1, 3:2 и 5:4.
Если функция N/B Strap CPU As настроена как PSB533, будут доступны опции 1:1 и 4:5.
Если функция N/B Strap CPU As настроена как PSB400, будет доступна только опция 3:4.
Опции 1:1, 3:2, 3:4 и 4:5 обозначают доступные коэффициенты CPU-DRAM (или CPU: DRAM).
Обратите внимание на то, что, хотя процессор Pentium 4 имеет тактовую частоту шины 400 МГц, 533 МГц или 800 МГц, шина CPU в действительности работает с частотой 100 МГц, 133 МГц или 200 МГц, соответственно. Причина заключается в том, что шина Pentium 4 имеет шину Quad Data Rate (или QDR), которая передает в четыре раза больше данных, чем обычная шина.
В рекламных целях производители заявляют, что шина Pentium 4 имеет частоту 400 МГц, 533 МГц или 800 МГц, но на самом деле ее частота составляет 100 МГц, 133 МГц и 200 МГц, соответственно. Помните об этом при настройке данной опции BIOS.
Например, если вы задаете коэффициент 3:2 при использовании шины CPU 200 МГц (800 МГц QDR), шина памяти будет работать на частоте (200 МГц / 3) х х 2 = 133 МГц или 266 МГц QDR. Далее мы приведем другие примеры.
Если вы используете шину CPU 100 МГц (400 МГц DDR):
• и коэффициент 3:2, контроллер DRAM работает с частотой 66 МГц (или 133 МГц DDR);
• и коэффициент 5:4, контроллер DRAM работает с частотой 80 МГц (или 160 МГц DDR);
• и коэффициент 1:1, контроллер DRAM работает с частотой 100 МГц (или 200 МГц DDR);
• и коэффициент 4:5, контроллер DRAM работает с частотой 125 МГц (или 250 МГц DDR);
• и коэффициент 3:4, контроллер DRAM работает с частотой 133 МГц (или 266 МГц DDR).
Если вы используете шину CPU 133 МГц (533 МГц DDR):
• и коэффициент 3:2, контроллер DRAM работает с частотой 89 МГц (или 178 МГц DDR);
• и коэффициент 5:4, контроллер DRAM работает с частотой 106 МГц (или 213 МГц DDR);
• и коэффициент 1:1, контроллер DRAM работает с частотой 133 МГц (или 266 МГц DDR);
• и коэффициент 4:5, контроллер DRAM работает с частотой 166 МГц (или 333 МГц DDR);
• и коэффициент 3:4, контроллер DRAM работает с частотой 177 МГц (или 354 МГц DDR).
Если вы используете шину CPU 200 МГц (800 МГц DDR):
• и коэффициент 3:2, контроллер DRAM работает с частотой 133 МГц (или 266 МГц DDR);
• и коэффициент 5:4, контроллер DRAM работает с частотой 160 МГц (или 320 МГц DDR);
• и коэффициент 1:1, контроллер DRAM работает с частотой 200 МГц (или 400 МГц DDR);
• и коэффициент 4:5, контроллер DRAM работает с частотой 250 МГц (или 500 МГц DDR);
• и коэффициент 3:4, контроллер DRAM работает с частотой 266 МГц (или 533 МГц DDR).
По умолчанию эта функция настраивается на By SPD. Это позволяет системе запрашивать чип SPD для каждого модуля памяти и использовать соответствующий коэффициент.
Рекомендуем выбрать коэффициент, который позволяет максимально эффективно использовать возможности ваших модулей памяти. Помните, что коэффициент 1:1 тоже является рекомендованной установкой, так как он обеспечивает высокую скорость передачи данных.
DRAM Ratio H/W Strap (Коэффициент DRAM H/W Strap)Обычные опции: High, Low, By CPU.
Эта функция BIOS позволяет обойти ограничение коэффициента CPU-DRAM, которое задается в новых сериях процессоров Intel i845. Для этих серий компания Intel ввела ограничение доступных коэффициентов CPU-DRAM.
Если вы установили процессор с шиной 400 МГц, выбор коэффициентов CPU-DRAM ограничивается 1:1 и 3:4.
Если вы установили процессор с шиной 533 МГц, выбор коэффициентов CPU-DRAM ограничивается 1:1 и 4:5.
Как видите, вы теряете гибкость при выборе коэффициента CPU-DRAM для вашей системы. К счастью, данная функция BIOS позволяет вам обойти это ограничение.
Функция DRAM Ratio H/W Strap управляет настройкой внешнего устройства, привязанного к MCH (Memory Controller Hub – Концентратору контроллера памяти) материнской платы. Изменив значение на High или Low, вы можете заставить плату «думать», что вы используете шину 400 МГц или 533 МГц.
Если вы настроите данную опцию на High, то получите доступ к коэффициентам CPU-DRAM 1:1 и 4:5.
Если вы настроите данную опцию на Low, то получите доступ к коэффициентам CPU-DRAM 1:1 и 3:4.
По умолчанию эта опция настраивается на By CPU, то есть внешние устройства будут работать с параметрами той шины, которая установлена в вашей системе.
Как правило, вам не понадобится изменять настройку вручную. Если вам необходим доступ к коэффициенту CPU-DRAM, который для вас недоступен, эта функция будет очень полезна.
DRAM Read Latch Delay (Задержка при чтении DRAM)Обычные опции: Auto, No Delay, 0.5ns, 1.0ns, 1.5ns.
Эта функция является аналогом функции Delay DRAM Read Latch. Она настраивает параметры таймера DRAM в соответствии со степенью нагрузки DRAM.
Нагрузка DRAM изменяется в зависимости от количества, а также типа установленных модулей памяти. По мере увеличения количества модулей нагрузка DRAM увеличивается. Также она увеличивается, если вы устанавливаете двойные модули вместо обычных. В общем, чем больше устройств DRAM вы используете, тем больше нагрузка на DRAM. Поэтому один модуль DRAM создает минимальную нагрузку на DRAM.
При высокой нагрузке DRAM, возможно, придется отложить момент обращения контроллера памяти к DRAM при считывании. В противном случае, контроллер памяти может совершить ошибку при обращении к устройству DRAM и не получить нужную информацию.
Опция Auto позволяет BIOS выбирать оптимальную задержку из значений, заданных производителем.
Опция No Delay (Без задержки) заставляет контроллер памяти обращаться к устройству DRAM без задержки, даже если установки BIOS показывают, что задержка необходима.
Другие опции (0.5ns, 1.0ns и 1.5ns) позволяют задать задержку при чтении вручную.
Обычно следует разрешить BIOS выбирать задержку самостоятельно (опция Auto). Если вы заметили, что после установки дополнительных модулей памяти ваша система работает нестабильно, попробуйте настроить задержку вручную.
Чем больше задержка, тем ниже производительность модулей памяти при чтении. Но стабильность работы модулей памяти не повышается при увеличении задержки. Помните, что предназначение данной функции заключается в том, чтобы позволить контроллеру памяти обратиться к устройству DRAM без задержки при любой нагрузке DRAM.
Задержка должна быть ровно такой, чтобы позволить контроллеру памяти обратиться к устройству DRAM. Не нужно увеличивать задержу без особой необходимости. Это не позволит повысить стабильность системы. Наоборот, вы можете снизить производительность! Начните со значения 0.5ns и экспериментируйте, пока система не стабилизируется.
Если у вас небольшая нагрузка на DRAM, вы можете добиться оптимальной производительности (выберите опцию No Delay). Контроллер памяти сможет обращаться к устройствам DRAM без задержки даже в том случае, если настройки BIOS требуют добавить задержку. При высокой нагрузке DRAM такая установка может привести к проблемам. Если после этого ваша система начнет работать нестабильно, верните значение Auto, чтобы BIOS могла самостоятельно настраивать задержку в соответствии с нагрузкой DRAM.