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-шины. Практически все они будут нами изучены.
Bank nn DRAM Type
- этой устаревшей опцией (еще для AT-286) устанавливался объем модулей памяти, собранных в банки с номерами nn. Значение параметра выбиралось из ряда: "64K", "256K", "1M".
Bank nn Numer of Banks
- этой также устаревшей опцией (для AT-286) устанавливалось количество заполненных банков из банков nn. Значение параметра выбиралось из ряда: "0", "1", "2".
Base Memory Size
- эта опция-ветеран "AMI BIOS" содержит параметры по установке размера основной системной памяти: "512KB", "640KB" (по умолчанию). Правда, "Phoenix BIOS" также содержал такую опцию.
CAS# Latency
- (задержка CAS - CL). Важнейшая характеристика чипа памяти, определяющая минимальное количество циклов тактового сигнала от момента запроса данных сигналом CAS до их появления и устойчивого считывания с выводов модуля памяти. Возможные значения параметров: 2, 3 или в тактах - 2T, 3T (3 Clks). Значение в 3 такта устанавливается по умолчанию. Уменьшение параметра нужно осуществлять крайне осторожно.
Другое название опции - "CAS# Latency Clocks".
Давно это было, но сказанное об "ожидании CAS" и тогда было верно. Об этом свидетельствуют перечисленные ниже опции: "CAS Width in Read Cycle", "CAS-to-Read Delay", "DRAM CAS Timing Delay", "CAS Output Delay". Столь важная характеристика памяти сохранила свою "важность" и с внедрением памяти типа SDRAM, а опция стала называться "SDRAM CAS# Latency" (или реже "SDRAM CAS Latency Time").
Отметим, что меньшее значение увеличивает производительность системы (установка в 2 такта в сравнении с 3-мя ускоряет систему на 1-2%). Рекомендуется устанавливать меньшее значение для SDRAM с быстродействием 10 нс или лучше.
CAS# Pulse Width
- большим разнообразием значений данная опция, в отличие от "RAS# Pulse Width", не отличается. Ею устанавливается период активности сигнала CAS (в системных тактах). Стандартный набор значений параметра: 1T, 2T.
В большинстве случаев версия BIOS могла предложить раздельную установку параметров как для режима записи, так и для чтения из памяти. Тогда опций могло быть две, например, "Write CAS# Pulse Width" и "Read CAS# Pulse Width". Опция могла быть представлена в интегрированном виде - "EDO CAS Pulse Width R/W", со следующими значениями: "1T/1T", "1T/2T", "2T/2T".
Вот еще пара примеров наименований опции, мало чем отличающихся друг от друга: "FPM DRAM Write Pulse Width", "FPM CAS# Pulse Width", "CAS# Write Pulse Width", "DRAM Write CAS Width".
Те же самые опции могут неожиданно предложить более солидный ряд значений: 2T, 3T, 4T, 5T. Вот еще один пример подобной реализации - "FPM/EDO Read Pulse Width": "1T/2T", "2T/1T", "3T/2T", "4T/3T".
Ну и напоследок еще одна опция, "Post Write CAS Active", с помощью которой устанавливалось время активности CAS- сигнала для циклов записи в память со стороны "мастер"-устройства на PCI-шине.
CPU to DRAM Page Mode
- когда опция установлена в "Disabled", контроллер памяти закрывает страницу памяти после доступа к ней. При этом очищается т.н. page open register. Когда опция включена (по умолчанию), страница памяти остается открытой на случай повторного обращения к ней, т.е. при отсутствии запроса к ней. Такой режим работы памяти более производителен.
Этот же смысл характерен для множества функций с подобными наименованиями: "DRAM Page Mode", "DRAM Paging", "DRAM Paging Mode", "DRAM Page Open Policy", "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".
И еще пара опций: "DRAM Page Closing Policy" со значениями "Closed", "Open" и "Page Open Policy" со значениями "Close Page", "Hold Open".
В некоторых случаях усовершенствованный (enhanced) механизм работы чипсета и контроллера памяти позволяет с помощью дополнительной информации об открытой странице памяти сохранять ее некоторое время открытой даже при отключенной опции: "DRAM Enhanced Paging", "Enhanced Page Mode", "Enhanced Paging".
DDR_1T/2T_Item
- столь необычный вид опции для настройки параметров современной DDR SDRAM-памяти не должен удивлять подготовленного пользователя. Речь идет об ускорении обмена с памятью (уменьшается на один такт время переадресации DDR) либо сохраняется более "медленный" обмен, устанавливаемый по умолчанию. Значений опции всего два: "1T CMD" и "2T CMD". Возможностей для экспериментирования немного, но его можно осуществить более основательно.
DRAM Clock
- опция установки тактовой частоты для работы модулей памяти. Имеет смысл дополнительно еще раз просмотреть подраздел "CPU Speed". Значения данной опции предлагаются следующие: "Host CLK" (по умолчанию) и "66 MHz". Согласно первому параметру тактовая частота модулей памяти устанавливается равной тактовой частоте системной шины, другое значение устанавливается как фиксированное.
Попробуем разъяснить эти значения. Производимые к 98-му году модули SDRAM предназначались для работы на частоте 66 МГц. Появившийся в первой половине 98-го чипсет i440BX представил системную шину с частотой 100 МГц. Уже до этого было практикой показано, что чипы SDRAM могли устойчиво работать на частотах более 66 МГц, а некоторые модули вполне успешно работали и работают на частоте 100 МГц. Отсюда и возможное использование значения "Host CLK", тем более, если речь идет о поддержке частот 75 или 83 МГц.
Опция может называться и "DRAM Speed" (см. ниже), а значения могут быть "Host CLK" и "AGP CLK".
DRAM Interleave Mode
- опция установки разрешения/запрещения режима "чередования" банков памяти, а также возможного выбора банков памяти, подлежащих "чередованию". Значения данной опции выглядят следующим образом: "No Interleave", "Banks 0+1", "Banks 2+3", "Both". Включение опции или установка оптимального режима "чередования" позволяет оптимизировать процессы регенерации памяти и доступа к ней, а значит и повысить производительность памяти. Несколько подробнее об этом чуть ниже.
Опция "SDRAM Bank Interleave" предложила два варианта возможных значений. Первый - стандартные "Disabled" и "Enabled", а второй - "Disabled", "2 Bank", "4 Bank". Во втором случае выбор банка возможен только для 64-мегабитных модулей. Если в системе применяются 16-мегабитные модули interleave должен быть заблокирован.
Опция может называться "Interleave Mode" или "Bank Interleave", но главное, что для включения опции требуется заполнение хотя бы двух банков памяти.
Если же остановиться на выборе оптимального значения из такого ряда: "None", "2 Banks", "4 Banks", "Auto", то прежде всего надо отметить недопустимость отключения опции: заметное снижение производительности гарантировано. Запрещение допустимо разве что в случаях появления сбоев в системе. Выбор значения "4 Banks" нежелателен для односторонних ("Single-Sided") модулей. Поэтому оптимальными являются значения "Auto" или "2 Banks".
Interleave ("чередование") - способ ускорения работы подсистемы памяти, основанный на предположении, что доступ происходит к последовательным адресам памяти. Этот метод реализуется аппаратно на уровне контроллера и требует организации банка памяти таким образом, что суммарная ширина шины модулей превосходит ширину системной шины в k раз (это число называется коэффициентом interleave и является степенью двойки). Таким образом, каждый банк состоит из k "нормальных" банков. Контроллер распределяет "нормальное" адресное пространство подсистемы так, что каждый из k последовательных адресов физически находится в разном банке. Обращение к банкам организовано со сдвигом по фазе (стоит напомнить, что отдельный цикл обращения может требовать 5 тактов шины и более). В результате при последовательном обращении к данным за один обычный цикл обращения можно получить до k обращений в режиме interleave. Реальный выигрыш, разумеется, меньше. Кроме того, interleave заметно увеличивает минимальный размер банка (как в числе модулей, так и в емкости). В SDRAM interleave реализован на уровне чипа.
DRAM Page Idle Timer
- (таймер пассивного состояния страницы памяти). С помощью этой функции устанавливается время (в системных тактах), в течение которого контроллер DRAM, после перехода процессора в режим ожидания, ждет закрытия всех открытых страниц памяти. Параметр сохранил свою актуальность со времен FPM. Для увеличения быстродействия устанавливается минимальное значение данного параметра, однако при этом возможна нестабильная работа системы. Оптимальный вариант устанавливается опытным путем. Опция может называться "Paging Delay", "DRAM Idle Timer", а возможные значения выбираются из ряда: 1T, 2T, 4T, 8T. Правда, иногда такой ряд может иметь следующий вид: 0, 2, 4, 8, 10, 12, 16, 32.
Последний вариант используется для работы со страницами памяти в системах с EDO- и SDRAM-памятью. Установленные параметры "запоминаются" в 4-разрядном регистре DIT (DRAM Idle Timer). Появление "1" в старшем разряде ("Infinite" - бесконечность) ведет к сохранению открытого состояния страниц памяти. Примеры этому изложены чуть выше.
DRAM Prefetch Buffer
- (буфер предвыборки памяти). Чипсет может содержать (в составе "северного" моста) буфер "предвыборки", предназначенный для временного хранения инструкций чтения. Режим "предвыборки", наверное, уже достаточно хорошо понят читателем, к тому же далее будут рассмотрены дополнительные опции на эту тему (см. обязательно опцию "Read Prefetch Memory RD"). Опция может принимать значения:
"Enabled" - буфер включен,
"Disabled" - буфер не используется.
DRAM Prefetch Buffer Size
- (размер буфера предвыборки чтения). Понятно, что данная опция позволяет установить размер уже известного нам буфера. Но в каких единицах? Данный буфер представляет собой небольшой "конвейер", в котором инструкции чтения перемещаются "от входа к выходу", с более дальнего уровня к ближнему. Поэтому в данной опции устанавливается глубина такого конвейера, поэтому и размер буфера вычисляется не в байтах, а в уровнях, о чем и свидетельствуют применяемые значения опции: "1-level", "4-level".
Опция может называться "Read Prefetch Buffer Size".
DRAM Prefetch Delay
- (задержка предвыборки чтения). Опция позволяет оптимизировать процесс "предвыборки" чтения путем выбора задержки (в системных тактах). Данная задержка предназначена не для центрального процессора, задержка используется контроллером памяти при выдаче команды чтения. Тем не менее, даже наличие задержки при применении режима "предвыборки" чтения сохраняет эффективность режима в сравнении со стандартными процедурами чтения. Понятно, что меньшее значение ускоряет процесс чтения и повышает эффективность работы памяти. Опция может принимать значения: "2T", "3T".
DRAM Speculative Leadoff
- (DRAM опережающее чтение). При включении этой опции контроллер памяти может начать выполнять операцию чтения до того, как полностью будет декодирован адрес, по которому находятся требуемые данные. Процесс начинается с того, что процессор инициирует сигнал чтения одновременно с генерацией необходимого адреса, а контроллер памяти (при разрешении параметра Speculative Leadoff) выдает команду чтения до полной расшифровки адреса. Включение этого режима позволяет повысить общую производительность системы на несколько % при снижении общих затрат времени на операцию чтения (за счет уменьшения задержек операции чтения). Может принимать значения:
"Enabled" - разрешено,
"Disabled" - запрещено (устанавливается по умолчанию, т.к. функцию должны поддерживать прежде всего системные компоненты, а это происходит не всегда).
Опция может называться "Speculative Leadoff", "SDRAM Speculative Read", "Speculative Lead Off".
DRAM Speed Selection
- опция установки конечно же не скорости применяемой в системе DRAM-памяти, а времени доступа к ней. Как правило, не рекомендуется менять значения, устанавливаемые по умолчанию. При установке значений надо помнить, что установка меньших параметров хотя и повысит быстродействие системы, но может привести и к полной нестабильности ее работы, потери данных. Кроме того, если установлены банки памяти с разной скоростью доступа, то необходимо устанавливать значение, соответствующее наиболее медленной памяти. Однозначный вывод: к изменению "скорости" надо относиться осторожно. Возможные значения: "50 ns", "60 ns", "70 ns". Вполне могут быть и другие значения.
Опция может называться "EDO DRAM Speed Selection", "EDO DRAM Speed (ns)", "DRAM Speed".
DRAM Type
- с помощью этой опции устанавливается тип инсталлированной памяти. Возможные значения: "Page Mode Std", "FPM", "EDO", "BEDO", "SDRAM".
EMS
- разрешение/запрещение аппаратной поддержки центральным процессором расширенной (отображаемой) памяти, или как говорят, EMS-памяти (Expanded Memory Specification). Значения опции были стандартны: "Disabled" и "Enabled". Опция предназначалась для систем на 286-х процессорах.
EMS Memory Base Address
- данной опцией устанавливался базовый адрес окна EMS в основной памяти. Возможные значения: "C0000h", "C4000" и т.д., включая "E0000h". Знакомые значения! Устаревшая опция.
EMS Page(n) Addr Extension
- опция позволяет расширить объем отображаемой памяти для страницы n. Возможные значения имели следующий вид: "0 to 2 Mb", "2 to 4 Mb" и т.д.
EMS Page Reg I/O Base
- данной опцией устанавливался базовый адрес портов ввода/вывода (регистров процессора) для отображения страниц EMS. Предлагался для выбора целый ряд возможных значений: "208h", "218h", "258h" и т.д., до "2E8h". Также устаревшая опция.
Fast MA to RAS# Delay
- (задержка между RAS- и MA-стробами). Опция, очень схожая с функцией "RAS# to CAS# Delay". Поэтому имеет смысл вначале внимательно изучить последнюю. Действие же данной опции еще более критично по отношению к пользовательским регулировкам, поскольку речь идет о задержке между RAS-стробом и сигналом MA (Memory Adress), согласно которому данные считываются из памяти. Это уже несколько устаревшая опция, предназначенная для работы с FPM DRAM. Значения, устанавливаемые по умолчанию, рекомендовалось изменять только в случае замены чипов памяти или замены процессора. Значения же были стандартны: "Disabled" и "Enabled".
Опция могла называться и "Fast MA to RAS# Delay CLK". Тогда для выбора могли быть предложены значения в системных тактах, аналогично как и для "RAS# to CAS# Delay".
MA Wait State
- (такты ожидания чтения памяти). Параметр позволяет установить или снять дополнительный такт ожидания перед началом чтения памяти. Для памяти типа EDO один такт всегда уже есть по умолчанию и установка значения "Slow" добавит еще один такт ожидания. Для SDRAM-памяти нет такого такта ожидания по умолчанию и установка в "Slow" один такой такт вводит. Лучше не изменять установленное по умолчанию значение данного параметра. Выбор значения "Fast" требует дополнительной опытной проверки, тем более в случае возникновения сообщений об ошибках адресации памяти. Может принимать значения:
"Slow" (по умолчанию) - добавляется один такт,
"Fast" - нет дополнительного такта ожидания.
Еще одно название опции - "MA Additional Wait State". В названии содержится то, о чем идет речь. А возможные значения обычны: "Enabled" и "Disabled". В некоторых случаях параметры могут быть представлены и в виде тактов: "0 ws", "1 ws".
OS Select for DRAM > 64Mb
- параметры этой опции косвенно (или прямо) отвечают за указание операционной системы, установленной на ПК. Дело в том, что методы работы с памятью (управления памятью) объемом более 64 МБ у операционной системы IBM "OS/2" отличны от других операционных систем. Поэтому необходимо правильно указывать операционную систему, хотя выбор соответствующего значения невелик: "OS/2" или "Non-OS/2". Правда, необходимо учитывать фактор "древности" OS/2. Если инсталлирована в системе "OS/2 Warp v3.0" или выше данные "сложности" можно игнорировать.
Опция может называться "OS/2 Onboard Memory > 64MB" или "OS/2 Compatible Mode" с обычными "Enabled" и "Disabled".
"AMI BIOS" также содержит аналогичную опцию с названием "Boot To OS/2" с параметрами "Yes" и "No".
RAMW# Timing
- в наименовании опции содержится несколько нестандартное, но прижившееся в литературе и разных версиях BIOS название сигнала "Memory Write Enable". Опять таки можно встретить сокращенное название сигнала и как "MWE", и как "WE". При любой вариации этот сигнал означает запись данных в ячейки памяти. Данная же опция отвечает за установку длительности этого сигнала. Уменьшая возможное значение параметра, можно достичь наиболее оптимального режима работы памяти, но нельзя забывать и о надежности системы.
Возможных вариаций данной опции не очень много: "FPM/EDO RAMW# Timing", "RAMW# Assertion Timing". Более разнообразны значения параметров: 2T, 3T или, например, "Normal" и "Fast". Опция может предложить и такую пару значений: "Normal" и "Faster", причем последнее соответствует одному системному такту.
RAS# Pulse Width
- данной опцией устанавливается фактически длительность сигнала RAS, т.е. время его активности в системных тактах. Дополнительно имеет смысл посмотреть опцию "Refresh RAS# Assertion" в разделе "Refresh".
Обзор различных вариантов, наименований начнем с нестандартной опции "RAS Minimum Active", предлагавшей ряд значений от "4T" до "7T". Это довольно давний вариант и с элементами надежности системы. Затем появилась опция "RAS Active Time" с небольшим рядом: 4T, 5T, 6T. Внедрение FPM-модулей ("FPM DRAM RAS# Pulse Width") дало новый вариант: 3T, 4T, 5T, 6T. Уменьшение времени нахождения сигнала RAS в активном состоянии конечно же повышает быстродействие системы. Но в данном случае, как и во многих других, должно действовать "золотое" правило: "Ускоряя, не ухудшай!"
Те же значения имела опция "RAS# Pulse Width" для EDO-памяти. А вот опция "EDO/SDRAM RAS# Pulse Width" предложила почти окончательный вариант: "5T/4T", "6T/5T", "7T/6T", "8T/7T".
RAS# to CAS# Delay
- (задержка между RAS- и CAS-стробами). Во время доступа к памяти обращения к строкам и столбцам выполняются отдельно друг от друга. Этот параметр и определяет временной сдвиг между этими сигналами. Эта задержка необходима для того, чтобы чип памяти имел достаточно времени для однозначного определения адреса строки ячейки памяти, который выставляется по сигналу RAS (Row Address Strobe), и адреса столбца, выставляемого по сигналу CAS (Column Address Strobe).
В некоторых случаях опция предлагает через стандартные "Enabled" и "Disabled" соответственно установку/снятие паузы между RAS- и CAS-строб-импульсами, используемыми, когда в DRAM происходят операции чтения/записи или обновления содержимого памяти. Значение "Disabled" (отключено) устанавливается для более высокого быстродействия, а значение "Enabled" - для более стабильной работы системы. В большинстве версий BIOS применяется установка длительности задержки в циклах тактового сигнала, что естественно дает пользователю большую гибкость в процессе оптимизации работы памяти. В этом случае меньшее значение, конечно же, улучшает скоростные характеристики, но повышает вероятность нестабильной работы системы. Попросту считывание информации об адресе строки или столбца может происходить с ошибкой. В любом случае оптимальные параметры проверяются путем опытной эксплуатации, поскольку не все чипы памяти смогут "вытянуть" минимальные значения задержек. Как правило, по умолчанию устанавливается большее значение времени задержки.
Различные версии BIOS предлагают и разные варианты установки задержки в системных тактах. Это могут быть "2T" и "3T" (или "3 Clks", или "3 Clocks"). В других случаях может быть предложен целый ряд значений: 0T, 1T, 2T, 3T. Если же обобщить все возможные вариации (прежде всего это связано с типом памяти), то параметр меняется от 0T до 5T.
Ну а если пользователь встретится со следующим предложением: "Fast" и "Slow", - то это уже не должно вызвать проблемы. Тем более, что опция может носить название "Fast RAS# to CAS# Delay", и для такого варианта значение "Enabled" означает более скоростной режим работы памяти. Правда, эта же опция предложила и стандартные значения: "3" (BIOS & Setup defaults) и "2".
В обозначение функции вынесено самое простейшее из возможных наименований важнейшей характеристики чипов памяти. В данном случае эта характеристика не "привязана" к какому-то типу памяти. Но ее смысл и важность актуальны со времен простейшей FPM DRAM, о чем и свидетельствуют многочисленные названия функции: "RAS# to CAS# Address Delay", "RAS to CAS Delay Time", "DRAM RAS-to-CAS Delay Timing", "RAS to CAS Delay Timing", "DRAM RAS to CAS Delay", "FPM/EDO RAS-to-CAS Delay", "EDO RAS to CAS Delay", "SDRAM RAS# to CAS#", "SDRAM RAS# to CAS# Delay".
Естественно, что действие перечисленных функций возможно, если в системе и установлена соответствующая названию память. Особого разъяснения в данном случае не требуется. С другой стороны, использование данных опций возможно, если в системе инсталлирована синхронная память.
Еще небольшой комментарий. "Обычная себе" опция "SDRAM RAS# to CAS# Delay" может предложить для выбора значения "Same as FPM" и "1T". В таком виде опция встречается крайне редко, причем предлагаются, по сути, крайние варианты. Установка в "1T" автоматически может привести к сбойной работе, а установка задержки, "такой же, как для FPM", означает, что чипы SDRAM- памяти смогут автоматически регулировать важнейший параметр?
Ну и напоследок к перечисленным уже функциям необходимо добавить еще парочку "стареньких", дабы картина была более полной: "RAS To Address Delay", "FPM DRAM Addr To CAS Delay". К перечисленным выше значениям необходимо добавить еще значение "Auto", что и рекомендуется в большинстве случаев.
Read-Around-Write
- опция включения ("Enabled") оптимизационных возможностей памяти. Этот метод оптимизации памяти заключается в том, что, если операция чтения памяти адресована в область памяти, данные из которой еще находятся в промежуточном буфере после начала цикла записи, то чтение требуемых данных происходит не из DRAM, а из буфера напрямую. Конечно же, речь идет о данных той части памяти, которые представляет собой последнюю запись и в данный момент еще находятся в буфере, который так и называется - "Read-Around-Write buffer".
Назначение буфера понятно. Данные в нем аккумулируются (накапливаются), а затем записываются в память уже в виде блока (пакета). Окончание цикла записи может быть прервано командой чтения, и поэтому иногда говорят об изменении последовательности команд. Фактически можно сказать, что операция записи еще не закончена, как начат цикл чтения из памяти. В итоге имеем своеобразное кэширование! Несомненно это повышает общую производительность системы. Максимальный же эффект от применения данной опции может быть достигнут в мультипроцессорных системах, в которых несколько процессоров могут раздельно обращаться к общим данным без прямого доступа к памяти.
Но эта опция должна быть отключена, если в системе используются AGP-карты, построенные, например, на интегрированных графических чипсетах i740. Есть еще один момент, и он связан с функционированием памяти типа DDR SDRAM. Например, системные платы, построенные на чипсете VIA KT266A, поддерживающем такую память, не показали увеличения производительности при включении описываемой опции. Так что, ожидаемый эффект может отсутствовать.
Также стоит отметить еще такой нюанс. В компьютерной периодике можно встретить информацию о том, что данная опция характерна для современных систем с новейшими версиями BIOS. Полнейшая нелепица! Достаточно вспомнить системы на наборах логики от "VIA Technologies" (Apollo VP3, Apollo Pro) и др., где такие опции были замечены.
Опция может называться "DRAM Read-Around-Write".
Опция может носить название и "Extended Read-Around-Write". Эта опция характерна для серверных систем, например, на чипсетах i450GX (кстати, конец 95-го г.). Компоненты интерфейса памяти позволяют использовать расширенный механизм "read-around-write", при котором циклы записи вообще могут быть пропущены при циклах чтения, если их адреса не совпадают. В тех же серверных системах (например, на чипсете i450NX) возможно появление опции "Write-around-retried-Read".
Read Prefetch Memory RD
- в наименовании опции фигурирует название линии RD ("Ready Data"). А речь идет о том, что пока идет выполнение предыдущей инструкции по чтению данных (т.е. цикл чтения не завершен), чипсет инициирует следующий цикл чтения (режим "предвыборки").
SDRAM (CAS Lat/RAS-to-CAS)
- (задержка CAS/от RAS к CAS). Это интегрированный параметр, позволяющий комбинировать, точнее даже манипулировать двумя параметрами: "CAS Latency" и "RAS-to-CAS Delay". Устанавливаемое значение этого параметра зависит от характеристик применямой SDRAM, от быстродействия процессора. Параметр (или функция) весьма неудобен, поскольку возможности настройки предельно ограничены. Изменять этот параметр необходимо крайне осторожно. Может принимать значения: "2/2", "3/3".
Дополнительно отметим, что параметры "CAS Latency" и "RAS-to-CAS Delay" определяются архитектурой самого чипа памяти и в качестве характеристик приводятся для определенной частоты. Для современной SDRAM-памяти PC100 их значения, как правило, равны 2 или 3 тактам.
SDRAM Configuration
- (конфигурация SDRAM-памяти). Установкой параметров опции определяется, должен ли BIOS определять временные характеристики доступа к памяти на основании информации из SPD-модуля ("By SPD") или же пользователь проведет конфигурирование доступа самостоятельно (через установку "Disabled"). Нетрудно увидеть схожесть данной опции с "Auto Configuration". В качестве фиксированных значений могут быть предложены параметры: "7 ns (143 Mhz)" и "8 ns (125 Mhz)" как для памяти с временем доступа 7 нс/8 нс и соответственно частотой шины 143 МГц/125 МГц.
SDRAM Precharge Control
- (управление предварительным зарядом SDRAM). Данная опция определяет, чем управляется предзаряд SDRAM - центральным процессором или самой SDRAM-памятью. Если эта опция отключена ("Disabled"), то все циклы процессора к SDRAM завершаются командой "All Banks Precharge" в интерфейсе SDRAM-памяти, что улучшает стабильность, но понижает производительность памяти. Если же эта опция включена ("Enabled"), то предварительный заряд контролируется чипами памяти. Это уменьшает количество предзарядов SDRAM, значительно возрастает число циклов CPU-to-SDRAM до того момента, когда требуется регенерация памяти. Это однозначно ведет к повышению общей производительности системы, но может влиять на ее стабильность.
Арбитраж, Bus-Master
Bus Master (хозяин шины, задатчик) - возможный режим работы устройства на любой шине, в том числе и на PCI. Для работы в таком режиме устройство выдает запрос арбитру шины, сообщая о своем требовании на получение управления шиной. Арбитр, в соответствии с приоритетом и/или очередностью арбитража на данной шине, через определенное время после запроса отдает запрашивающему устройству управление шиной. Выполнив все необходимые ему операции, устройство сообщает арбитру об освобождении им шины.
На современных шинах, таких как PCI, для получения доступа к шине ВСЕ устройства проходят процедуру арбитража, в том числе и центральный процессор. Возможность быть "master"-устройством реализуется аппаратно при разработке устройства. Реализация механизма "BusMaster" позволяет общаться между собой только тем компонентам компьютера, которым это в данный момент необходимо. Этот механизм используется, например, для передачи данных TV-тюнером на видеокарту, если они обе находятся на PCI-шине, причем без участия центрального процессора, системной памяти и т.п.
Обычно, система управляет доступом к PCI-шине по фундаментальному принципу - "First-Come-First-Served" (первым пришел, первым обслуживается). Но возможности арбитража значительно шире и сложнее. Существуют и различные режимы действия самого механизма арбитража. Может быть установлен т.н. режим ротации устройств, при котором периодично меняется очередность устройств, т.е. их приоритет. Приоритет может оказаться фиксированным, т.е. какое-либо системное устройство "навсегда" получает наивысший приоритет. При "вращении приоритетов" (rotated) устройству, получившему контроль над шиной, присваивается самый низкий приоритет и любое другое устройство перемещается на шаг вверх в "очереди" приоритетов.
Как же все это реализуется? Арбитражем запросов на "захват" шины в составе чипсета занимается специальный узел, в который входит 8-разрядный ARBITRATION CONTROL REGISTER, позволяющий реализовать свойства, связанные с арбитражем на PCI-шине, а также с поддержкой спецификации шины PCI 2.1. (см. ниже). Каждое устройство-инициатор имеет пару сигналов - REQ# (Request - запрос на управление шиной) и GNT# (Grant - подтверждение предоставления управления шиной). Схема приоритетов (мы уже познакомились с фиксированным, циклическим, он же приоритет с ротацией, а есть еще и комбинированный) определяется программированием арбитра. Каждое "мастер"-устройство имеет собственный программируемый таймер MLT (Master Latency Timer), определяющий максимальное время, в тактах шины, для одной операции.
В современных системах механизмы арбитража, можно сказать, интеллектуализированы, что в итоге привело к постепенному изъятию из "BIOS Setup" функций, связанных с пользовательскими установками по арбитражу. "Старые" же версии BIOS вполне могут содержать некоторые из приведенных ниже опций, могущих вызвать душевный трепет у пользователя.
Все о PCI-шине
PCI (Peripheral Component Interconnect) - 32-разрядная шина, поддерживающая до десяти внешних устройств, предусматривает передачу данных с тактовой частотой 33 МГц и обеспечивает максимальную пропускную способность, равную 132 Мб/с (32 бит x 33 МГц).
Стандарт PCI-шины предусматривает две дополнительные версии:
а) удвоенная тактовая частота (66 МГц);
б) 64-разрядная передача данных.
Впервые стандарт PCI был предложен "Intel" в декабре 1991 г. Первая спецификация была представлена в июне 1992 г. Тогда же спецификация PCI была принята как открытый индустриальный стандарт, а в ее разработке участвовали также "IBM", "Compaq", "DEC" и "NCR". В апреле 1993 г. была предложена версия 2.0. Спецификация шины PCI 2.1 вступила в силу в августе 95 г. В новую спецификацию 2.2 добавлены многочисленные функции управления энергопотреблением, "горячего" подключения периферийных устройств, поддержка 64-разрядности и частоты 66 МГц, т.п.
Спецификация PCI-X была разработана и предложена компаниями "Compaq", "Hewlett-Packard", "IBM". Пропускная способность интерфейса увеличивается до 1066 МБ/с. Стандарт обеспечивает частичную обратную совместимость новой шины с обычными адаптерами PCI, а также новых адаптеров с предыдущими реализациями шины. Версия стандарта PCI-X 1.0 была одобрена осенью 1999 г.
Стандарт PCI предусматривал конфигурирование устройств, подключаемых к системе, программным способом, что соответствовало концепции "Plug-and-Play". Шина PCI не поддерживает стандартных сервисов DMA и IRQ. У шины PCI имеются т.н. Distributed DMA и Scrialized IRQ. Это сервисы шины PCI, назначение которых обеспечить совместимость с режимами работы шины ISA.
Несколько подробнее о PC/PCI и DDMA.
Это аппаратные протоколы для обеспечения совместимости PCI-карт с традиционным способом прямого доступа к памяти (DMA). В стандартной реализации контроллера DMA он не может обслуживать устройства шины PCI, потому что в каждом устройстве уже реализован механизм режима "BusMaster". Протоколы PC/PCI и DDMA разработаны для совмещения контроллера DMA с PCI-устройствами; в первую очередь это сделано для разработки звуковых PCI-карт, совместимых с "Sound Blaster" и "Windows Sound System".
Протокол PC/PCI основан на выборочном переназначении на шину PCI сигналов запроса/выдачи данных, выведенных от каналов контроллера DMA на шину ISA, что позволяет PCI-устройству обмениваться с памятью под управлением основного контроллера DMA.
Протокол DDMA (Distributed DMA - распределенный DMA) основан на выборочной передаче обращений к регистрам каналов контроллера DMA на шину PCI, где эти регистры эмулируются PCI-устройствами с поддержкой DDMA. Сам обмен с памятью в этом случае выполняется в режиме "BusMaster", стандартном для PCI-устройств. Тема же стандартного DMA рассмотрена далее в отдельном подразделе.
Если речь идет о распространенных чипсетах, то протоколы PC/PCI и DDMA были реализованы еще в Intel 430TX, ALI Aladdin IV+, Aladdin V.
Возможностей PCI-шины с лихвой хватает для решения самых сложных задач, за исключением потребностей современных графических, презентационных и особенно игровых программ, зачастую требующих пропускную способность, превышающую возможности PCI-шины. Эти проблемы позволяет решать ускоренный графический интерфейс (AGP).
а второе значение определяло уровень
- ее значения: "CPU" и "Slot 6 to Slot 9". "HB" в названии опции означает "Host Bridge". Выбор "CPU" определял процессору наивысший приоритет, а второе значение определяло уровень приоритета для выбранного PCI-слота, начиная с 6-го слота, имевшего наивысший приоритет. Таким образом, пользователь имел возможность при установке карт расширения сконфигурировать имеющиеся "master"-устройства на PCI-шине наиболее оптимальным способом. Правда, это требовало абсолютно полного представления о потребностях имеющихся комплектующих. Столь необычные номера слотов - это системные номера слотов с точки зрения "Phoenix BIOS".
Теория приоритетов рассмотрена. Остановимся на других проблемах "master"-устройств.
Arbitration Priority
- один из вариантов такой опции предложил достаточно "изощренный" вариант со значениями "PCI First" и "ISA/DMA First". Здесь возможности выбора зависят от применяемых устройств. "Master"-устройство может находиться и на ISA-шине и желать того же самого, а именно захвата шины. Для передачи данных оно может использовать и DMA-каналы. Тогда как бы конечным инициатором захвата выступает DMA-контроллер. Пользователю необходимо выбрать по сути шину, которая и будет иметь более высокий приоритет в случае конкуренции между "master"-устройствами.
Опция с тем же названием представила для отбора значения "CPU" и "PCI".
Bus Mastering
- эта опция предназначалась еще не так давно для разрешения или запрещения работы устройств в режиме "Bus-Master" на шине ISA. Параметр может принимать значения:
"Enabled" - разрешено,
"Disabled" - запрещено.
CPU Mstr DEVSEL# Time-out
- когда процессор в качестве "master"-устройства инициирует управляющий цикл, используя адрес (целевое устройство), не сопоставленный с PCI/VESA- или ISA-пространством, система в течение определенного времени будет контролировать выдачу специального сигнала подключенности устройства (DEVSEL - Device Select), свидетельствующего об инициировании цикла. Рассматриваемая опция определяет, как долго система будет ожидать данный сигнал (в тактах шины PCI). Может принимать значения: "3 PCICLK", "4 PCICLK", "5 PCICLK" и "6 PCICLK" (по умолчанию).
Чем меньше установленное значение, тем выше производительность системы. Но к уменьшению устанавливаемого параметра необходимо подходить осторожно - из-за возможности появления сбоев в системе.
CPU Mstr Fast Interface
- опция включения/отключения скоростного "back-to-back" интерфейса при участии центрального процессора в роли "master"-устройства. "Enabled" устанавливается по умолчанию.
CPU Mstr Post-WR Buffer
- содержание этой опции заключено, казалось бы, во включении буфера отложенной записи. Правильно. Только включение это достигается путем указания количества таких буферов, присутствует и возможность отказа от буферирования. Поэтому имеем такой ряд значений: "NA", "1", "2", "4" (по умолчанию).
CPU Mstr Post-WR Burst Mode
- данная опция позволяет включить высокоскоростной пакетный режим для информации, находящейся в буфере (буферах) отложенной записи. Стоит напомнить, что при пакетной передаче информации для блока данных указывается один адрес. При отказе от пакетирования (т.е. при стандартных операциях чтения/записи) каждому слову данных предшествует адресная информация. Содержание нескольких приведенных опций в общем-то уже знакомо читателю. Но в них подчеркивается роль центрального процессора, как "master"-устройства.
CPU Priority
- после вышеизложенного содержание этой опции может быть уже и не покажется странным. Пользователь должен установить, по сути, ранг центрального процессора в иерархии всех возможных "master"-устройств в системе. Если для остальных устройств, допустим, может выдерживаться "режим ротации", то для CPU его место всегда окажется фиксированным. Это место можно выбрать из ряда: "Always Last", "CPU 2nd", "CPU 3rd", "CPU 4th".
Опция с тем же названием была встречена и с обычными "Disabled" и "Enabled". Несложно предположить, что "Disabled" запрещает ротацию приоритета для центрального процессора, а "Enabled" ее разрешает.
DMA/ISA Master Before PCI
- опция предлагает стандартные значения - "Enabled" и "Disabled". В данном случае "Disabled" равносильно "PCI First".
Enable Master
- установка в "Enabled" позволяет системе придать выбранному устройству статус "master"-устройства на PCI-шине, а также проверить, способно ли это устройство контролировать шину.
ISA Bus Clock
- опция установки тактовой частоты ISA-шины. Стандартное значение скорости ISA-шины составляет около 8,33 МГц. В отличие от устаревших систем, ныне скорость ISA-шины напрямую связана со скоростью PCI-шины через т.н. "южный" мост. Можно установить более высокую скорость шины, выбрав соответствующий параметр (делитель). Этот параметр делит действительную скорость PCI-шины и тем самым задает скорость ISA-шины.
Например, тактовая частота PCI-шины составляет 33 МГц. Если изменить делитель с PCICLK/4 на PCICLK/3, то ISA-шина будет работать с частотой 11 МГц. Но необходимо помнить, что повышение тактовой частоты может привести к перегреву элементов ISA-карты и выходу ее из строя. В лучшем случае может возрасти риск ошибок при работе, особенно это опасно для контроллеров дисков (в случае устаревших систем). И хотя многие ISA-устройства работают на более высоких скоростях, необходимо снизить скорость шины, если какое-либо ISA-устройство функционирует неверно.
Из вышесказанного следует, что для правильной установки тактовой частоты ISA-шины необходимо знать тактовую частоту PCI-шины. В данном случае речь идет о том, что в первых системах с использованием PCI-шины частота самой PCI-шины зависила от системной тактовой частоты и поэтому имела ряд значений: 25, 30 и 33 МГц, т.п. В более "старых" системах частота ISA-шины была "привязана" к системной частоте, которая колебалась от 16 до 50 МГц, тем самым давая простор и для ISA-шины
Опция в разное время носила и разные названия: "ISA Clock", "ISA Clock Frequency", "ISA Bus Clock Frequency", "ISA Bus Clock Option", "ISA Bus Speed", "ISA Clock Select", "ISA Clock Divisor", "AT BUS Clock", "AT Bus Clock Frequency", "AT BUS Clock Selection", "AT Bus Clock Source".. Наличие в названиях опций сочетания "AT Bus" свидетельствует о "старости" опций. Стоит напомнить, что 8.33 МГц - это "стаpая" тактовая частота шины IBM AT.
Ну и, наконец, ряд возможных параметров для выбора: PCI (или PCICLK, или CLK {для системной шины}) / 2, 3, 4, 5, 6, 8, 10, и даже 12, а также фиксированное значение - "7.159 MHz" (оно может устанавливаться и по умолчанию). Опять необходимо дополнительно отметить, что некотоpые системные интерфейсные ISA-платы разрабатывались для такой фиксированной частоты. Для систем с 286-ми и 386-ми процессорами CLK могло означать половину скорости ядра CPU. Тогда в установках скорости ISA-шины параметр обозначался как CLK2/x.
Еще одно замечание. Необходимо не забывать о скорости ISA-шины при разгоне процессоров, если разгон строится от тактовой частоты системной шины.
Несколько другое содержание заключено в опции "ISA Clock Select Enable". Установив опцию в "Disabled", мы получаем стандартную частоту ISA-шины (PCI/4), выбрав же "Enabled", получаем возможность поварьировать частотой шины вручную.
И еще одна опция напоследок - "PCI-ISA BCLK Divider" (BCLK - Bus CLK). И значения: "AUTO", "PCICLK1/2", "PCICLK1/3", "PCICLK1/4".
ISA Slave Wait States
- опция установки тактов ожидания для ISA-устройства, не работающего в режиме задатчика шины, т.е. "мастер"-устройства. Возможные значения: "4 WS", "5 WS". Подобная опция могла называться и "ISA Wait States" со значениями "5 ISACLKs" и "4 ISACLKs", что говорит конкретно о тактах ожидания в частотах ISA-шины.
Master Prefetch And Posting
- данная опция допускает одновременное включение режима предвыборки и использование буфера отложенной записи для любого "master"-устройства.
Master Priority Rotation
- (ротация приоритетов "master"-устройств). Аппаратная реализация данной функции позволяет контролировать доступ центрального процессора к PCI-шине. Начнем с предлагаемых значений опции: "1 PCI", "2 PCI", "3 PCI".
"1 PCI" - процессор гарантированно всегда будет иметь доступ к PCI-шине после того, как текущее (т.е. находящееся в работе) "master"-устройство завершит полностью свои транзакции. Причем этот доступ будет получен независимо от числа других "master"-устройств на шине PCI, ожидающих своей очереди. Такой режим обеспечивает быстрый доступ процессора к PCI-шине, но ведет к замедлению работы других устройств на PCI-шине.
"2 PCI" - процессор гарантированно получит доступ к PCI-шине, но только после того, как полностью завершатся текущая и следующая PCI-транзакции. Причем этот доступ опять таки будет получен независимо от числа оставшихся в очереди других "master"-устройств на PCI-шине. Такой режим "понижает в ранге" центральный процессор, но обеспечивает более быстрый доступ уже для устройств на PCI-шине.
"3 PCI" - процессор получит доступ к PCI-шине уже после того, как будут закончены текущая и две последующих PCI-транзакции. Но необходимо понимать ситуацию таким образом, что речь может идти не о трех "master"-устройствах. Может возникнуть потребность у одного из устройств снова выставить запрос на захват шины сразу же после окончания собственных циклов, и это устройство может встать в очередь третьим, а то и за самим собой. Для PCI-устройств такой режим наиболее привлекательный. Но тем не менее процессор получит доступ к локальной шине после завершения трех циклов, опять таки несмотря на возросшую очередь.
Master Retry Timer
- этой опцией устанавливается, как долго центральный процессор, будучи задатчиком PCI-циклов, сможет сохранить свой статус до передачи управления другому "master"-устройству. Возможные параметры измеряются в тактах PCI-шины (PCICLKs). Вот этот ряд: 10 (по умолчанию), 18, 34 или 66.
PCI 2.1 Support
- (поддержка спецификации шины PCI 2.1). При разрешении этого параметра поддерживаются возможности спецификации 2.1 шины PCI. Спецификация 2.1 имеет два основных отличия от спецификации 2.0: максимальная тактовая частота шины увеличена до 66 МГц и вводится механизм моста PCI-PCI, позволяющий снять ограничение спецификации 2.0, согласно которой допускается установка не более 4-х устройств на шине. К тому же внедрение спецификации 2.1 позволило оптимизировать совместное сосуществование PCI- и ISA-шин (подробнее в опции "Delayed Transaction"). Запрещение этого параметра имеет смысл только при возникновении проблем после установки дополнительной PCI-платы (как правило, проблемы могут возникнуть только с достаточно старыми PCI-устройствами), а также с ISA-устройствами, никак не желающими буферирования своей информации, а значит также не поддерживающими эту спецификацию. Параметр может принимать значения:
"Enabled" - разрешено,
"Disabled" - запрещено.
Опция может называться "PCI 2.1 Compliance".
PCI Arbiter Mode
- данная опция предложила параметры "Mode 1" и "Mode 2". Поскольку идея арбитража заключается и в минимизации времени, требуемого для получения устройством контроля над шиной и передачи данных, то возникает вопрос, в каком из вариантов устройство на той же PCI-шине быстрее получит доступ к ней. В случае "Favor PCI" или с выбором "Favor CPU"? Естественно, что первый вариант более оптимален. В данном случае этому режиму соответствует "Mode 1", устанавливаемый по умолчанию. При возникновении каких-либо проблем в системе необходимо выбрать режим "Mode 2", как более безопасный.
Напоследок опция от "Phoenix BIOS":
PCI Bus Arbitration
Параметр может принимать уже понятные значения:
"Rotating",
"Fixed".
Опция с абсолютно таким же названием встретилась и с параметрами: "Favor CPU" и "Favor PCI". Пользователю остается определить своего фаворита. Если речь идет о потоковом видео, то желательно указать PCI-устройство. Выбор центрального процессора во многих случаях может оказаться более безопасным.
Такие же значения предложила опция "PCI Masters' Priority".
Рассмотренные выше варианты выбора параметров могут быть предложены и в функциях "Master Arbitration Protocol", "PCI Arbitration Mode", "PCI Arbit. Rotate Priority".
При этом, правда, могут возникнуть и другие сложности. Рассмотрим опцию
PCI Bus Parking
- опция включения/выключения режима "парковки" устройств на PCI-шине. Режим "парковки" - одна из разновидностей режима "Bus-Master". Когда этот режим включен ("Enabled"), "запаркованные" на PCI-шине устройства будут иметь полный контроль над шиной в течение некоторого небольшого промежутка времени. Это повышает производительность данного устройства, однако приостанавливает работу остальных. Данный режим неплохо работает с контроллерами жестких дисков.
PCI Clock Frequency
- опция для установки частоты шины PCI. В приведенном виде такая опция была внедрена на первых "пентиумных" машинах, а затем перенесена на 486-е системы с процессорами AMD и PCI-шиной. Частота шины через множитель "привязывалась" к частоте центрального процессора и имела следующий ряд значений: "CPUCLK/1.5" (по умолчанию), "CPUCLK/2", "CPUCLK/3" и фиксированные "14 Mhz" (было и так!).
Опция "PCI Clock Speed" предлагала следующие значения: "Same as CPU", "2/3 CPU", "CPU/2", "1/8 CPU". Опция "HCLK PCICLK" представляла собой делитель между системной частотой и частотой локальной шины: "1-1", "1-1.5", "AUTO". Опция "PCI Bus Frequency" предлагала значения "CPUExt/3", "CPUExt/2.5", "CPUExt/2", и они связывали частоту PCI-шины с системной. Опция "CPU Host/PCI Clock" лишь через значение "Default" позволяла для PCI-шины получить стандартные 33 МГц.
Предварительная картина была бы неполной без двух совместных опций. Опция "PCI Clock Speed Override" через значение "Enabled" вообще давала разрешение на "переопределение" частоты PCI-шины, а вот опция "PCI CLK" могла бы удивить и искушенного пользователя. Значение "Asynchronous" позволяло выбрать для PCI-шины произвольную частоту. А вот значение "Synchronise" "жестко" связывало тактовую частоту системной шины и частоту PCI-шины. Только предварительно с помощью джамперов на системной плате необходимо было установить системную частоту и множитель для процессора и в итоге получить, например, для Pentium 120 частоты: 120, 60 и 30 МГц (PCI-шина).
Значительно более современный вариант - это опция "PCI/AGP Clock". Это означает, что данной опцией устанавливаются частоты для двух шин, хотя еще не так давно различные версии BIOS не предоставляли таких возможностей. Приведенный вариант опции в большей степени предназначен для "разгона" устройств на PCI-шине (весьма опасного) и для AGP. Значения опции, т.е. частоты шин, напрямую связаны с установками частоты системной шины в опции "CPU Host Clock". Если последняя превышает или равна 100 МГц, то для PCI и AGP устанавливаются значения, соответственно равные "CPU Host Clock"/3 и /1.5. Для более низкой частоты шины процессора деление производится на 2 и 1. Поэтому, если системная частота равна 66 МГц, то для PCI и AGP получаем стандартное соотношение 33/66 МГц. Тот же, т.е. стандартный, вариант имеет место при частоте в 100 МГц. Все остальные значения частоты системной шины ведут к "разгону" обоих интерфейсов.
Современные системы с опциями типа "System/PCI Frequency (MHz)" предоставляют широчайшие возможности для "разгона", а именно не набор из нескольких значений, а солидное меню с целым рядом параметров, начиная со значения "100/33" (делитель 3:1) и заканчивая значением "178/44.51" (делитель 4:1) и с шагом для системной шины в 1 МГц. Все это было бы замечательно, если бы не присутствовал элемент риска. Практически все производители системных плат "успешно" стали решать задачи "разгона" PCI- и AGP-интерфейсов, отодвинув на последний план возможность ускорения системной шины и процессора без "втягивания" в этот "разгон" остальных системных компонентов. Первой "ласточкой" в этом "разогнанном" мире была системная плата от "Gigabyte" - GA8IRXP, предложившая дополнительные отдельные делители для каждой из шин и тем самым давшая возможность по сути устанавливать оптимальные частоты интерфейсов PCI и AGP независимо от "разогнанного" системного.
PCI Dynamic Decoding
- установка в "Enabled" позволяет системе запоминать PCI-команду, которая только что была запрошена. Если последующие команды совпадают с некоторой адресной областью, циклы записи будут автоматически интерпретироваться как PCI-команды.
PCI Latency Timer (PCI Clocks)
- (таймер времени ожидания для шины PCI). Значение этой опции указывает, в течение какого времени (в тактах PCI-шины) поддерживающая режим "Busmaster" PCI-карта может сохранять контроль над PCI-шиной, если к шине обращается другая PCI-карта. Фактически это и есть таймер, ограничивающий время занятия PCI-шины устройством-задатчиком шины. По истечении заданного времени арбитр шины принудительно отбирает шину у задатчика, передавая ее другому устройству. Допустимый диапазон изменения этого параметра - от 16 до 128 с шагом, кратным 8. Правда, в некоторых случаях добавляется еще значение "Auto Configured" (по умолчанию), что значительно облегчает сомнения и мучения пользователя.
Значение параметра необходимо изменять осторожно, так как оно зависит от конкретной реализации материнской платы, и только в случае, если в системе установлены по меньшей мере две PCI-карты, поддерживающие режим "Busmaster", например, SCSI- и сетевая карты. Графические PCI-карты не поддерживают режим "Busmaster", скорее, не поддерживали. Чем меньше устанавливаемое значение, тем быстрее другая PCI-карта, требующая доступа, получит доступ к шине. Если требуется выделить для работы, например, SCSI-карты больше времени, то можно увеличить значение для PCI-слота, в котором она находится. Значение для сетевой карты, например, соответственно необходимо уменьшить или вообще установить равным 0, хотя в некоторых случаях установка 0 не рекомендуется. В общем случае, какое значение параметра пригодно и оптимально для данной системы, зависит от применяемых PCI-карт и проверяется с помощью тестовых программ и опытной эксплуатации. Необходимо также учитывать, в какой степени "карты-конкуренты" чувствительны к возможным задержкам. Учитывая вышесказанное, вспомним о существовании еще одного "master"-устройства, а именно - центрального процессора. Так что слишком заниженное значение времени ожидания может сказаться на эффективности управления процессором локальной шины.
Опция также может носить названия: "PCI Bus Time-out", "PCI Master Latency", "Latency Timer", "PCI Clocks", "PCI Initial Latency Timer". Для последней опции ряд возможных значений имел вид: "Disabled", "16 Clocks", "24 Clocks", "32 Clocks". Еще одна старенькая опция, "PCI Bus Release Timer", имела такой набор значений: "4 CLKs", "8 CLKs", "16 CLKs", "32 CLKs".
И еще одно очень важное замечание. В свое время эта опция (и ей подобные) вводились с учетом совместного существования PCI- и ISA-шин. ISA-шина позволяла использовать одно "master"-устройство. Это применялось редко, как раньше, так и в последние годы существования ISA-шины. Зато PCI-шина дала возможность одновременного использования нескольких "master"-устройств. Учитывая различия в скорости шин, а тем более в их пропускной способности, необходимо было решить проблему совместной работы "master"-устройств на PCI-шине и стандартных устройств на более медленной ISA-шине. Особенно это касалось распространенных в то время звуковых и сетевых карт для ISA-шины, обладавших незначительным объемом буферной памяти, т.е. чувствительных к любым задержкам при передаче данных.
"AMI BIOS" позволял выбрать значение параметра в диапазоне от 0 до 255 тактов с единичным шагом. Значение "66" устанавливалось по умолчанию, хотя меньшее значение владения шиной PCI-устройством оказывалось более предпочтительным. Более свежие версии "AMI BIOS" стали менее демократичны: 32, 64, 96, 128, 160, 192, 224, 248 и "Disabled". К тому же "мелькнуло" еще одно название опции - "Master Latency Timer (Clks)", а по умолчанию стало устанавливаться значение "64".
Правда, это еще не весь возможный перечень. Функции "Latency Timer Value" и "Default Latency Timer Value" применяются совместно. Если в последней опции установить "Yes" (оно же и по умолчанию), то тогда первая функция будет проигнорирована. Чуть выше уже зашла речь о возможности установки параметров для отдельных слотов. Вот как реализует такую возможность "Phoenix BIOS":
"PCI Device, Slot #n",
"Default Latency Timer: [Yes]",
"Latency Timer: [0040]",
Естественно, что для работы с этими параметрами выводится отдельное конфигурационное подменю. Для n-го слота пользователь может выбрать установку по умолчанию ("Yes"), тогда в нижнем поле будет выведено значение в 16-ричной форме. При этом доступ пользователя к полю "Latency Timer:" будет заблокирован. Если же в опции "Default Latency Timer:" установить "No", то появится возможность вручную установить значение из ряда: 0000h .... 0280h. Последнее значение соответствует десятичному 640. По умолчанию устанавливается 0040h (64 такта).
Еще один вариант значений опции "Latency Timer": "20h", "40h", "60h", "80h", "A0h", "C0h", "E0h", "Default" (т.е. "40h").
Поэтому при конкретном решении стоящей перед пользователем задачи (или проблемы) надо исходить прежде всего из возможностей чипсета, версии BIOS и используемых карт расширения.
PCI Master 0 WS Write
- если опция установлена в "Enabled", в системе устанавливается нулевое время ожидания перед любыми циклами записи в PCI-шину, то есть PCI-шина получает данные, как только она готова их принять. Понятно, что такой режим наиболее оптимален для работы "master"-устройств на PCI-шине. Значение "Disabled" устанавливается по умолчанию, при этом автоматически вставляется один такт ожидания. Последнее значение несколько снижает производительность, но, как обычно, повышает стабильность системы. Оно может оказать существенную пользу и при "разгоне" шины PCI, результатом которого может быть нестабильность ее работы.
PCI Master Access to ISA
- само название опции "расшифровывает" ее содержание. Включение опции ("Enabled") дает возможность "master"-устройству на PCI-шине взять на себя управление обменом информацией с ISA-шиной.
PCI master accesses shadow RAM
- опция включения/выключения возможности копирования ПЗУ "master"-устройства на PCI-шине в более быструю оперативную память для повышения быстродействия этого устройства. При этом, конечно, задействуются и другие опции "BIOS Setup" (см. "Затенение памяти"). Но чтобы некое "master"-устройство могло получить такой доступ, данной опции, да и других, явно недостаточно. Такой режим закладывается в процессе создания конкретного приложения, что как раз и находит применение при проектировании специализированных карт расширения. Может принимать значения:
"Enabled" - разрешено,
"Disabled" - запрещено.
PCI Master Read Prefetch
- опция, позволяющая (через "Enabled") включать режим предвыборки для "master"-устройств на PCI-шине. Чтобы вспомнить о функционировании режимов предвыборки, имеет смысл заглянуть повторно в раздел "CPU". Но в нескольких словах! Когда режим предвыборки включен, "master"-устройство на PCI-шине инициирует следующую инструкцию чтения еще до завершения текущей операции чтения. В этом процессе участвует и контроллер интерфейса.
PCI Master Write Ping-Pong
- несколько ранее под термином "ping-ponging" подразумевалось переключение страниц экранной памяти. Для данных опций значения параметров одинаковы: "Disabled", "Enabled". Но смысл их функционирования пока не совсем ясен!
PCI Mstr Burst Mode
- данная опция позволяет включить высокоскоростной пакетный режим для информации, находящейся во внутренних буферах отложенной записи PCI-шины, доступ к которой имеет "master"-устройство.
Сюда же добавим и близкую по смыслу опцию "PCI Master Burst Read".
PCI Mstr DEVSEL# Time-out
- опция, аналогичная "CPU Mstr DEVSEL# Time-out", только в качестве "master"-устройства выступает PCI-устройство. Ряд значений тот же, только по умолчанию устанавливается "4 PCICLK".
PCI Mstr Fast Interface
- аналогичная опция ("CPU Mstr Fast Interface"), только в качестве "master"-устройства выступает устройство на PCI-шине.
PCI Mstr Post-WR Buffer
- опция, абсолютно аналогичная "CPU Mstr Post-WR Buffer", только в качестве "master"-устройства выступает PCI-устройство.
PCI Parity Check
- некоторые мощные чипсеты, прежде всего серверных систем, предоставляют возможность (через "Enabled") контролировать поток данных на шине PCI по четности. При этом контролируются как адресные данные, так и собственно данные. Ошибки при этом не исправляются, но пользователь о них информируется. Что также важно, такой метод контроля должна поддерживать и сама PCI-карта расширения.
Опция может называться и "PCI Parity Checking", или "PCI Bus Parity Checking".
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".
Peer Concurrency
- (параллельная работа или, дословно, - равноправная конкуренция). Этот параметр разрешает/запрещает одновременную работу нескольких устройств на PCI-шине. При включении опции включается дополнительное буферирование циклов чтения/записи в чипсете. Но могут возникнуть проблемы, если не все PCI-карты готовы поддерживать такой режим работы. В этом случае работоспособность системы проверяется опытным путем.
Действие этой опции затрагивает и совместную работу PCI- и ISA-шин. Например, шинные PCI-циклы могут перераспределяться и буферизироваться во время ISA-операций, таких как передача по DMA-каналам в режиме "Bus-Master". Параметр может принимать значения:
"Enabled" (по умолчанию) - разрешено,
"Disabled" - запрещено.
Опция может называться и "PCI Concurrency" или "Bus Concurrency". Дополнительные устройства, "жаждущие конкуренции", появляются в опциях "PCI/IDE Concurrency" или "PCI-to-IDE Concurrency".
Одной из характерных особенностей PCI-шины и ее системы мостов является возможность выполнения обмена данными между процессором и памятью одновременно с обменами между другими абонентами шины PCI - Concurrent PCI Transferring. Однако эта возможность реализуется не всеми чипсетами, а обычными абонентами шины (графические карты, контроллеры дисков, т.п.) используется редко.
Preempt PCI Master Option
- когда опция включена ("Enabled"), операции чтения/записи на PCI-шине, даже в том случае, когда шиной владеет "master"- устройство, могут быть прерваны некоторыми системными операциями, например, такими, как регенерация памяти. В противном случае может вестись "незапланированная" параллельная работа различных системных компонент, что может привести к сбоям системы, в лучшем случае - к потере информации.
SERR#
- "AMI BIOS" через обычные "Enabled" (разрешено, включено) и "Disabled" (запрещено, отключено) предлагает пользователю "поработать" с интерфейсными сигналами PCI-шины: PERR# и SERR#. Этим сигналам, для справки, соответствуют контакты шины - B40 и B42 соответственно. Несколько слов о самих сигналах.
"PERR#" - I/O PCI Parity Error. Сигнал выставляется приемником данных на шине через один шинный такт после выдачи сигнала PAR (Parity Error - контакт A43). Сигнал PERR# становится активным, если определена ошибка по четности на PCI-шине. При этом в PCICMD-регистре по сигналу PERR# устанавливается бит "Enable". Данной опцией как раз можно запретить установку сигнала об ошибке ("Disabled" устанавливается по умолчанию).
"SERR#" - I/O PCI System Error. В итоге также в PCICMD-регистре устанавливается бит "SERRE" (SERR# Enable). Это интегрированный сигнал, для выставления которого требуется выполнение одного из условий:
1. Выставляется сигнал PERR# на PCI-шине, что контроллируется битом 3 ERRCMD-регистра,
2. Сигнал SERR# будет выставлен через один шинный такт после определения нарушения передачи данных в процессе инициированных PCI-циклов,
3. Сигнал SERR# будет выставлен при ECC-операциях. ECC-ошибка сигнализируется через ERRCMD-регистр управления при корректируемой однобитной ошибке или множественной некорректируемой,
4. Сигнал SERR# будет выставлен, когда ошибка по четности на PCI-шине определена во время передачи адресных данных с одновременной установкой некоторых сигналов ошибки в других регистрах,
5. Могут быть дополнительные ситуации, например, выставление входного сигнала ошибки G-SERR# в бите 5 ERRCMD-регистра.
Shared PCI Master Assignment
- данная опция затрагивает тему интегрированности графического адаптера на системной плате. Вроде бы знакомая ситуация - надо указать, какой видеоадаптер используется, но... Значения опции следующие:
"VGA" - интегрированный адаптер может использоваться как "PCI bus master",
"Slot #1" - видеокарта установлена в первый слот PCI-шины и может функционировать в качестве "master"-устройства.
State Machines
- чипсет может иметь четыре состояния, точнее даже сказать, путем управления состоянием своих регистров чипсет может иметь четыре режима управления специфическими CPU- и/или PCI-операциями. Каждая из таких операций, а фактически - режим работы, представляет собой высокооптимизированный процесс, включающий в себя работу "master"-устройства и управляемой им шины. Четыре состояния системы следующие:
"CC" ("CPU master to CPU bus"),
"CP" ("CPU master to PCI bus"),
"PP" ("PCI master to PCI bus"),
"PC" ("PCI master to CPU bus").
Каждый вид операции имеет следующие установки, задействованные с помощью других функций "BIOS Setup":
"Address 0 WS" - устанавливается время задержки системы для успешного декодирования выставленного процессором/устройством адреса. "Enabled" - нет задержки;
"Data Write 0 WS" - аналогично для записи данных по целевому адресу. "Enabled" - нет задержки;
"Data Read 0 WS" - аналогично для чтения данных из целевого адреса. "Enabled" - нет задержки.
Stop CPU at PCI Master
- когда опция включена ("Enabled"), работа центрального процессора может быть приостановлена в момент инициирования PCI- устройством захвата шины. Установка в "Disabled" (по умолчанию) не позволяет прерывать работу CPU как задатчика шины.