Рефераты
 

Базовая система ввода-вывода BIOS

тметим, что меньшее значение увеличивает производительность системы (установка в 2 такта в сравнении с 3-мя ускоряет систему на 1-2%). Рекомендуется устанавливать меньшее значение для SDRAM с быстродействием 10 нс или лучше.

CPU to DRAM Page Mode

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

Этот же смысл характерен для множества функций с подобными наименованиями: "DRAM Page Mode", "DRAM Paging", "DRAM Paging Mode", "SDRAM Page Control".

Так же широк и выбор возможных значений параметров. В различных версиях BIOS можно даже найти опции с одинаковыми названиями, но различными значениями параметров. Например, "CPU to DRAM Page Mode" может предоставить для выбора значения "Use Paging" и "No Paging". Возможны и следующие вариации:

"Always Open" и "Closes",

"Page Closes", "Stays Open" и "Closes If Idle",

"Normal" и "Disabled".

В некоторых случаях усовершенствованный (enhanced) механизм работы чипсета и контроллера памяти позволяет с помощью дополнительной информации об открытой странице памяти сохранять ее некоторое время открытой даже при отключенной опции: "DRAM Enhanced Paging", "Enhanced Page Mode", "Enhanced Paging".

DRAM Page Idle Timer

(таймер пассивного состояния страницы памяти). С помощью этой функции устанавливается время (в системных тактах), в течение которого контроллер DRAM, после перехода процессора в режим ожидания, ждет закрытия всех открытых страниц памяти. Параметр сохранил свою актуальность со времен FPM. Для увеличения быстродействия устанавливается минимальное значение данного параметра, однако при этом возможна нестабильная работа системы. Оптимальный вариант устанавливается опытным путем. Опция может называться "Paging Delay", "DRAM Idle Timer", а возможные значения выбираются из ряда: 1T, 2T, 4T, 8T. Правда, иногда такой ряд может иметь следующий вид: 0, 2, 4, 8, 10, 12, 16, 32.

SDRAM Configuration

(конфигурация SDRAM-памяти). Установкой параметров опции определяется, должен ли BIOS определять временные характеристики доступа к памяти на основании информации из SPD-модуля ("By SPD") или же пользователь проведет конфигурирование доступа самостоятельно (через установку "Disabled"). Нетрудно увидеть схожесть данной опции с "Auto Configuration". В качестве фиксированных значений могут быть предложены параметры: "7 ns (143 Mhz)" и "8 ns (125 Mhz)" как для памяти с временем доступа 7 нс/8 нс и соответственно частотой шины 143 МГц/125 МГц.

Video,...

Из "карты" памяти первого мегабайта системного ОЗУ, что жестко "привязано" к архитектуре IBM PC-совместимых компьютеров, хорошо известно, что адресная область A0000-C7FFF традиционно принадлежит видеопамяти графического адаптера и видео BIOS системы. Собственно под видео BIOS (или, как иногда говорят, ПЗУ видеоадаптера) выделяется 32 кБ памяти в области C0000 - C7FFF. Это 768-й - 799-й килобайты памяти. Эта адресная область, в зависимости от установок "BIOS Setup", может и не использоваться.

Для справки! Frame Buffer (буфер кадра) - область памяти видеосистемы, в которой временно хранятся данные, необходимые для отображения одного кадра (в простейшем случае).

Область в 128 кБ (A0000-BFFFF, или 640-й - 767-й килобайты) отведена под видеопамять графической карты расширения. В "древние" времена этого объема хватило бы на размещение в памяти одного графического кадра, пусть и с разрешением 320х200. По аналогии с 64-мя килобайтами верхней памяти область видеопамяти в 128 кБ стала тем "окошком" (или фрэйм-буфером), через которое стал возможным доступ ко всей адресуемой памяти. В свое время использование фрэйм-буферизации активно использовалось такими играми, как "DOOM". Нижеизложенные функции BIOS как раз и затрагивают механизмы работы с видеопамятью.

VGA 128k Range Attribute

во включенном состоянии ("Enabled") к адресам VGA-памяти (A0000H-BFFFFH) чипсетом могут быть применены свойства, подобные функциям "CPU-TO-PCI Byte Merge" или "CPU-TO-PCI Prefetch", т.е. стандартным режимам буферизации записи от CPU в PCI - интерфейс. Это повышает быстродействие системы, в противном случае используется стандартный VGA-интерфейс.

Этот же смысл характерен для множества функций с непохожими наименованиями: "VGA Performance Mode", "Turbo VGA (0 WS at A/B)", "VGA Frame Buffer", хотя в некоторых случаях "оперативный" диапазон сужается до первых 64 кБ (A0000-B0000).

Дополнительная информация о видеофункциях содержится в опциях:

PCI - "Snoop Ahead".

PCI.

Арбитраж, Bus-Master

Bus Master (хозяин шины, задатчик) - возможный режим работы устройства на любой шине, в том числе и на PCI. Для работы в таком режиме устройство выдает запрос арбитру шины, сообщая о своем требовании на получение управления шиной. Арбитр, в соответствии с приоритетом и/или очередностью арбитража на данной шине, через определенное время после запроса отдает запрашивающему устройству управление шиной. Выполнив все необходимые ему операции, устройство сообщает арбитру об освобождении им шины.

На современных шинах, таких как PCI, для получения доступа к шине ВСЕ устройства проходят процедуру арбитража, в том числе и центральный процессор. Возможность быть "master"-устройством реализуется аппаратно при разработке устройства. Реализация механизма "BusMaster" позволяет общаться между собой только тем компонентам компьютера, которым это в данный момент необходимо. Этот механизм используется, например, для передачи данных TV-тюнером на видеокарту, если они обе находятся на PCI-шине, причем без участия центрального процессора, системной памяти и т.п.

Обычно, система управляет доступом к PCI-шине по фундаментальному принципу - "First-Come-First-Served" (первым пришел, первым обслуживается). Но возможности арбитража значительно шире и сложнее. Существуют и различные режимы действия самого механизма арбитража. Может быть установлен т. н. режим ротации устройств, при котором периодично меняется очередность устройств, т.е. их приоритет. Приоритет может оказаться фиксированным, т.е. какое-либо системное устройство "навсегда" получает наивысший приоритет. При "вращении приоритетов" (rotated) устройству, получившему контроль над шиной, присваивается самый низкий приоритет и любое другое устройство перемещается на шаг вверх в "очереди" приоритетов.

Как же все это реализуется? В состав чипсета входит 8-разрядный ARBITRATION CONTROL REGISTER, позволяющий реализовать свойства, связанные с арбитражем на PCI-шине, а также (у достаточно новых чипсетов) с поддержкой спецификации шины PCI 2.1

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

PCI Bus Arbitration

Параметр может принимать значения:

"Rotating",

"Fixed".

Опция с абсолютно таким же названием встретилась и с параметрами: "Favor CPU" и "Favor PCI". Пользователю остается определить своего фаворита. Если речь идет о потоковом видео, то желательно указать PCI-устройство. Выбор центрального процессора во многих случаях может оказаться более безопасным.

С абсолютно такими же возможностями отбора: CPU или PCI, может встретиться и функция "Arbitration Priority".

В свою очередь, функция с таким же названием может предложить более "изощренный" вариант: "PCI First" и "ISA/DMA First". Здесь возможности выбора зависят от применяемых устройств. "Master"-устройство может находиться и на ISA-шине и желать того же самого, а именно передачи данных напрямую по DMA-каналам.

Аналогичные варианты выбора предлагает и функция "DMA/ISA Master Before PCI". В данном случае значение "Disabled" равносильно "PCI First".

Рассмотренные выше варианты выбора параметров могут быть предложены и в функциях "PCI Arbiter Mode", "PCI Arbitration Mode", "PCI Arbit. Rotate Priority".

При этом, правда, могут возникнуть и другие сложности. Например, если для выбора предлагаются параметры: "Mode1" и "Mode2"? Поскольку идея арбитража заключается и в минимизации времени, требуемого для получения устройством контроля над шиной и передачи данных, то возникает вопрос, в каком из вариантов устройство, например, на той же PCI-шине быстрее получит доступ к ней. В случае "Favor PCI" или с выбором "Favor CPU"? Естественно, что первый вариант более оптимален. В данном случае этому значению соответствует "Mode1", устанавливаемый по умолчанию. При возникновении каких-либо проблем в системе необходимо выбрать режим "Mode2", как более безопасный.

CPU Priority

после вышеизложенного содержание этой опции может быть уже и не покажется странным. Пользователь должен установить, по сути, ранг центрального процессора в иерархии всех возможных "master"-устройств в системе. Если для остальных устройств, допустим, может выдерживаться "режим ротации", то для CPU его место всегда окажется фиксированным. Это место можно выбрать из ряда: "Always Last", "CPU 2nd", "CPU 3rd", "CPU 4th".

Опция с тем же названием была встречена и с обычными "Disabled" и "Enabled". Можно предположить, что "Disabled" запрещает ротацию приоритета для CPU, а "Enabled" ее разрешает.

Ну и наконец, опция "PCI Masters' Priority" предлагает на выбор: "Rotating" и "Fixed".

Bus Mastering

эта опция предназначалась еще не так давно для разрешения или запрещения работы устройств в режиме "Bus-Master" на шине ISA. Параметр может принимать значения:

"Enabled" - разрешено,

"Disabled" - запрещено.

Enable Master

установка в "Enabled" позволяет системе придать выбранному устройству статус "master"-устройства на PCI-шине, а также проверить, способно ли это устройство контролировать шину.

Master Retry Timer

этой опцией устанавливается, как долго центральный процессор, будучи задатчиком PCI-циклов, сможет сохранить свое лидерство. Возможные параметры измеряются в циклах PCI-шины (PCICLKs). Вот этот ряд: 10 (по умолчанию), 18, 34 или 66 PCICLKs.

PCI Bus Parking

опция включения/выключения режима "парковки" устройств на PCI-шине. Режим "парковки" - одна из разновидностей режима "Bus - Master". Когда этот режим включен ("Enabled"), "запаркованные" на PCI-шине устройства будут иметь полный контроль над шиной в течение некоторого небольшого промежутка времени. Это повышает производительность данного устройства, однако приостанавливает работу остальных. Данный режим неплохо работает с контроллерами жестких дисков.

PCI Master 0 WS Write

если опция установлена в "Enabled", в системе устанавливается нулевое время ожидания в циклах записи от "master"-устройств на PCI-шине в системную память. Значение "Disabled" устанавливается по умолчанию.

Preempt PCI Master Option

когда опция включена ("Enabled"), операции чтения/записи на PCI-шине, даже в том случае, когда шиной владеет "master" - устройство, могут быть прерваны некоторыми системными операциями, например, такими, как регенерация памяти. В противном случае может вестись "незапланированная" параллельная работа различных системных компонент, что может привести к сбоям системы, в лучшем случае - к потере информации.

Stop CPU at PCI Master

когда опция включена ("Enabled"), работа центрального процессора может быть приостановлена в момент инициирования PCI - устройством захвата шины. Установка в "Disabled" (по умолчанию) не позволяет прерывать работу CPU как задатчика шины. Для прерывания тогда может потребоваться использование дополнительных функций "BIOS Setup".

Все о PCI-шине

Passive Release

(пассивное разделение). Эта опция появилась в свое время в "BIOS Setup" одновременно со способностью арбитра чипсетов Intel Triton VX/HX отбирать шину у "master"-устройств при отсутствии в течение какого-то времени запросов на передачу с их стороны. Эта опция включает/выключает механизм параллельной работы шин ISA и PCI. Если этот параметр разрешен ("Enabled"), то доступ процессора к шине PCI позволен во время "пассивного разделения" или, как говорят иногда, ее "освобождения". Проще говоря, включение данного режима позволяет шине PCI продолжать работу даже тогда, когда происходит передача данных от ISA - устройств, которые в обычном режиме могут тормозить работу более скоростной PCI-шины. Арбитр чипсета как бы выравнивает работу двух шин с учетом задержек ISA-шины. Необходимость же запрещения данного параметра может возникнуть при использовании плат ISA, активно использующих каналы DMA (звуковые карты, устройства "Arwid"). Запрещение также уместно при отсутствии ISA-карт в системе.

Опция может называться "PCI Passive Release".

PCI 2.1 Support

(поддержка спецификации шины PCI 2.1). При разрешении этого параметра поддерживаются возможности спецификации 2.1 шины PCI. Спецификация 2.1 имеет два основных отличия от спецификации 2.0: максимальная тактовая частота шины увеличена до 66 МГц и вводится механизм моста PCI-PCI, позволяющий снять ограничение спецификации 2.0, согласно которой допускается установка не более 4-х устройств на шине. Запрещение этого параметра имеет смысл только при возникновении проблем после установки дополнительной PCI-платы (как правило, проблемы могут возникнуть только с достаточно старыми PCI-устройствами). Параметр может принимать значения:

"Enabled" - разрешено,

"Disabled" - запрещено.

Опция может называться "PCI 2.1 Compliance".

PCI Clock Frequency

опция для установки частоты шины PCI. В приведенном виде такая опция была внедрена на первых "пентиумных" машинах, а затем перенесена на 486-е системы с процессорами AMD и PCI-шиной. Частота шины через множитель "привязывалась" к частоте центрального процессора и имела следующий ряд значений: "CPUCLK/1.5" (по умолчанию), "CPUCLK/2", "CPUCLK/3" и фиксированные "14 Mhz".

PCI Dynamic Decoding

установка в "Enabled" позволяет системе запоминать PCI-команду, которая только что была запрошена. Если последующие команды совпадают с некоторой адресной областью, циклы записи будут автоматически интерпретироваться как PCI-команды.

PCI Latency Timer

(таймер времени ожидания для шины PCI). Значение этой опции указывает, в течение, какого времени (в системных тактах) поддерживающая режим "Busmaster" PCI-карта может сохранять контроль над PCI-шиной, если к шине обращается другая PCI-карта. Фактически это и есть таймер, ограничивающий время занятия PCI-шины устройством-задатчиком шины. По истечении заданного времени арбитр шины принудительно отбирает шину у задатчика, передавая ее другому устройству. Допустимый диапазон изменения этого параметра - от 16 до 128 с шагом, кратным 8.

Значение параметра необходимо изменять осторожно, так как оно зависит от конкретной реализации материнской платы, и только в случае, если в системе установлены по меньшей мере две PCI-карты, поддерживающие режим "Busmaster", например, SCSI - и сетевая карты. Графические карты не поддерживают режим "Busmaster". Чем меньше устанавливаемое значение, тем быстрее другая PCI-карта, требующая доступа, получит доступ к шине. Если требуется выделить для работы, например, SCSI-карты больше времени, то можно увеличить значение для PCI-слота, в котором она находится. Значение для сетевой карты, например, соответственно необходимо уменьшить или вообще установить равным 0, хотя в некоторых случаях установка 0 не рекомендуется. В общем случае, какое значение параметра пригодно и оптимально для данной системы, зависит от применяемых PCI-карт и проверяется с помощью тестовых программ. Необходимо также учитывать, в какой степени "карты-конкуренты" чувствительны к возможным задержкам.

Опция также может носить названия: "PCI Bus Time-out", "PCI Master Latency", "Latency Timer", "PCI Clocks", "PCI Initial Latency Timer". Для последней опции ряд возможных значений имел вид: "Disabled", "16 Clocks", "24 Clocks", "32 Clocks".

Правда, это еще не весь возможный перечень. Функции "Latency Timer Value" и "Default Latency Timer Value" применяются совместно. Если в последней опции установить "Yes" (оно же и по умолчанию), то тогда первая функция будет проигнорирована.

И еще одно очень важное замечание. В свое время эта опция (и ей подобные) вводились с учетом совместного существования PCI - и ISA-шин. ISA-шина позволяла использовать одно "master"-устройство. Это применялось редко как раньше, так и теперь. Зато PCI-шина дала возможность одновременного использования нескольких "master"-устройств. Учитывая различия в скорости шин, а тем более в их пропускной способности, необходимо было решить проблему совместной работы "master"-устройств на PCI-шине и стандартных устройств на более медленной ISA-шине. Особенно это касалось распространенных в то время звуковых и сетевых карт для ISA-шины, обладавших незначительным объемом буферной памяти, т.е. чувствительных к любым задержкам при передаче данных. "AMI BIOS" позволял выбрать значение параметра в диапазоне от 0 до 255 с единичным шагом. Значение "66" устанавливалось по умолчанию, хотя меньшее значение владения шиной PCI-устройством оказывалось более предпочтительным.

Поэтому при конкретном решении стоящей перед пользователем задачи (или проблемы) надо исходить прежде всего из возможностей чипсета, версии BIOS и используемых карт расширения.

PCI Preempt Timer

(таймер времени вытеснения для шины PCI). На первый взгляд по смыслу эта функция аналогична функции "PCI Latency Timer", возможна даже некоторая путаница, хотя в данном случае кое-что наоборот. Значение этой опции указывает, в течение, какого времени (в тактах PCI-шины, или локальных тактах - LCLKs) поддерживающая режим "Busmaster" PCI-карта сможет не контролировать шину, а находиться в состоянии ожидания пока этой шиной владеет другая карта. Арбитр шины отслеживает указанный временной интервал с момента подачи запроса, после чего ожидающее "master"-устройство вытесняет своего товарища.

Для выбора предлагаются значения из ряда: 5, 12, 20, 36, 68, 132, 260, в цифровом виде или с отображением единицы измерения - "5 LCLKs" и т.д. Обязательным является параметр "No Preemption" (или "Disabled"). Причем последний, как правило, устанавливается по умолчанию. Эта опция в таком виде уже не применяется, так что встреча с ней на старых машинах может вызвать некоторые трудности. Во всяком случае, при наличии хотя бы двух "master"-устройств на PCI-шине значение "Disabled" (или аналогичное) должно быть заменено на более оптимальное.

Опция может называться и "PCI Preemption Timer".

PCI to ISA Write Buffer

во включенном состоянии ("Enabled") система, не прерывая работы процессора, будет временно записывать данные в специальный буфер для последующей передачи данных в наиболее подходящий момент. В противном случае ("Disabled") цикл записи в шину PCI будет направляться далее напрямую в более медленную ISA шину. Необходимость в такой функции, а точнее в таком буфере, связана с тем, что скорости работы ISA - и PCI-шин различны. Включение буферной памяти позволит PCI-шине не ожидать, пока ISA-шина примет все данные.

Peer Concurrency

(параллельная работа или, дословно, - равноправная конкуренция). Этот параметр разрешает/запрещает одновременную работу нескольких устройств на PCI-шине. При включении опции включается дополнительное буферирование циклов чтения/записи в чипсете. Но могут возникнуть проблемы, если не все PCI-карты готовы поддерживать такой режим работы. В этом случае работоспособность системы проверяется опытным путем.

Действие этой опции затрагивает и совместную работу PCI - и ISA-шин. Например, шинные PCI-циклы могут перераспределяться и буферизироваться во время ISA-операций, таких как передача по DMA-каналам в режиме "Bus-Master". Параметр может принимать значения:

"Enabled" (по умолчанию) - разрешено,

"Disabled" - запрещено.

Опция может называться и "PCI Concurrency" или "Bus Concurrency". Дополнительные устройства, "жаждущие конкуренции", появляются в опциях "PCI/IDE Concurrency" или "PCI-to-IDE Concurrency".

Snoop Ahead

(предвидение). Эта опция применима, если в системе включено кэширование. Когда опция установлена в "Enabled", "master" - устройства на PCI-шине могут контролировать регистры VGA-палитры для непосредственных циклов записи и преобразования их в потоковый протокол PCI-формата с целью повышения скоростных характеристик обмена данными между PCI-шиной и памятью. В итоге значительно увеличивается производительность системы в процессе передачи видеоданных.

Настраиваем память.

Прежде чем начинать описание опций BIOS, затрагивающих работу памяти (обычно они находятся в Advanced Chipset Setup), нужно хотя бы приблизительно разобраться, как именно происходит к ней доступ.

Как известно, у современного компьютера память подключена к системному контроллеру (точнее, к контроллеру памяти) с помощью 64-разрядной шины. По этой шине передаются как адреса, так и данные. Физический адрес определенной ячейки памяти содержит в себе адреса строки (Row) и столбца (Column) в запоминающем массиве. Сигнал RAS (Row Access Strobe) сигнализирует о том, что в данном такте выбирается определенная строка, сигнал CAS (Column Access Strobe) - столбец, а точнее, элемент (слово) из строки. После этого данные в виде пакета (нескольких последовательных слов) выдаются на шину.

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

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

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

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

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

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

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

6. когда цикл выборки пакета из четырех слов завершен и больше нет обращений к этой строке, происходит закрытие банка; данные возвращаются в ячейки (задержка RAS Precharge).

Важно понимать, что уже открытый банк не требует задержек на активацию, а доступ к данным в нем требует только одну задержку - CAS Latency. Поэтому именно она оказывает наибольшее влияние на производительность подсистемы памяти. Также стоит обратить внимание на тот факт, что банки памяти могут открываться и закрываться независимо друг от друга, что позволяет работать с одним из них тогда, когда другой занят перезарядкой.

SDRAM Cycle Length (CAS Latency, CAS Delay)

Число тактов, требуемых для выдачи данных на шину после поступления сигнала CAS. Самый важный параметр, влияющий на производительность. Если память позволяет, нужно выставлять значение 2.

RAS-to-CAS Delay (Trcd)

Число тактов, необходимых для поступления строки данных в усилитель. Тоже оказывает влияние на производительность. Значение 2 предпочтительнее и подходит в большинстве случаев.

SDRAM RAS Precharge Time (TRP)

Время перезарядки ячеек памяти после закрытия банка. Обычно используется значение 2, хотя чипсеты VIA позволяют установить 3.

SDRAM RAS Time (TRAS)

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

SDRAM Cycle Time (TRC, TRAS/TRC)

Время (в тактах), требуемое на полный такт доступа к банку, начиная с открытия и заканчивая закрытием. Обычно задается вместе с параметром TRAS. TRC=TRAS+TRP. Чипсет i815 позволяет устанавливать TRAS/TRC в значения 5/7 и 7/9, чипсеты VIA Apollo и KT - 5/7, 5/8, 6/8, 6/9, изменяя при этом время TRP. Современная память со временем цикла 50 нс и частотой 133 МГц (маркировка 7.5 нс) позволяет работать в режиме 5/7.

SDRAM Idle Cycle

Иногда встречается и такая опция. Она устанавливает время простаивания банка памяти, не занятого обменом данными. Изменять значение по умолчанию не имеет смысла.

RAS Precharge Control (Page Closing Policy)

Управляет процедурой закрытия банков памяти. Если установлено значение Disabled (Precharge All), то контроллер памяти закрывает сразу все открытые банки памяти при попытке доступа за пределы текущего банка. При необходимости доступа к следующему банку нужно его открыть. Если же поставить Enabled (Precharge Bank), то все банки остаются открытыми до тех пор, пока не потребуется перезарядка их ячеек. Тем самым можно выполнять доступ к нескольким банкам без ожидания их закрытия и последующей активации, что существенно ускоряет работу при чтении больших блоков данных, но замедляет - при активном использовании процессорного КЭШа (банк приходится закрывать в самый неподходящий момент).

Bank Interleaving

То же самое, но с другой стороны. Включение этого режима позволяет работать с банками по очереди, то есть получать данные из одного в то время, когда другие заняты. Причем выбор значения 2-Way позволяет чередовать пару банков, а 4-Way - четыре банка (они есть у большинства микросхем DIMM-модулей), а это, конечно, выгоднее.

DRAM Clock

Чипсеты VIA, а также Intel i810/i815 и модификации допускают псевдоасинхронную работу шины памяти и процессорной шины (FSB - Front Side Bus). Данная опция у чипсетов VIA имеет значения Host CLK, CLK+33 и CLK-33 (не все присутствуют), что подается, как возможность повышать или понижать частоту памяти относительно процессорной шины на 33 МГц. На самом деле частота не суммируется, просто используется другой множитель относительно частоты шины PCI, которая всегда равна 33 МГц. Например, при FSB=100 (PCIx3) память может работать на частоте 66 (PCIx2) или 133 (PCIx4). Если память позволяет, частоту нужно увеличивать - ставить CLK+33.

Для чипсетов Intel есть возможность выбрать либо частоту 100, либо - 133 МГц. Последняя возможна только в том случае, если и процессор работает на шине 133 МГц. И кроме того, i810/i815 не позволяет использовать три модуля памяти на частоте 133 МГц.

Memory Timing by SPD

Как известно, SPD (Serial Presence Detection) - механизм получения информации о характеристиках модуля DIMM. В небольшой EEPROM-микросхеме хранятся CAS Latency, RAS-to-CAS и множество других параметров. Если эту опцию включить, то BIOS при загрузке автоматически сконфигурирует контроллер памяти, установив наилучший допустимый режим работы, поставит и CAS Latency, и Bank Interleaving, и даже частоту работы памяти. Пользователю уже не нужно беспокоиться о выборе правильных настроек.

Однако не во всех случаях SPD дает положительный эффект. Во-первых, недобросовестные производители памяти могут "зашить" в ППЗУ завышенные значения, и память будет сбоить. Во-вторых, при проблемах с чтением SPD все настройки памяти будут выставлены по минимуму. Поэтому включать данную опцию нужно с осторожностью, будучи уверенным, что микросхемы SPD всех модулей памяти исправны.

Memory Hole at 15-16М

Эта опция изначально предназначена для устранения проблемы несовместимости со старыми ISA-устройствами. Некоторые из них требовали монопольного выделения диапазона адресов в пределах 16-го мегабайта. Сейчас такие устройства найти нелегко, поэтому Memory Hole можно было бы смело считать анахронизмом. Если бы не один непонятный побочный эффект: часто включение этой опции помогает решить проблему нестабильной работы чипсетов VIA со звуковыми картами Creative (SB Live!) и Aureal. Видимо, при этом происходит перераспределение выделяемых устройствам адресов. Правда, можно потерять доступ к памяти за пределами 16 Мб, особенно в Linux, если не принять специальных мер. Но если у вас никаких проблем не наблюдается, то и не включайте эту опцию.

In Order Queue

Эта опция затрагивает только некоторые чипсеты VIA. У них имеется четырехступенчатый конвейерный буфер, предназначенный для обслуживания операций чтения данных из памяти. Конечно, лучше включить все ступени (4 level) и получить дополнительные 5-10% производительности.

PCI-to-DRAM Prefetch

Когда PCI-устройство, работая в режиме захвата шины (Bus Mastering), выполняет обращение к памяти, во внутренний буфер контроллера поступает один байт с заданным адресом. Но если включить эту опцию, в буфер будут считаны несколько последующих байтов, поэтому следующий запрос PCI-устройства будет выполнен без обращения к памяти. Для звуковых карт и FireWire-контроллеров она особенно важна.

Read Around Write

Как известно, большинство (до 90%) запросов к памяти связаны с чтением данных, а не с записью. Тем не менее, запись в память необходима, однако шина не позволяет производить обе операции одновременно. Поэтому при необходимости записи хотя бы одного байта любой процесс чтения будет прерван. Чтобы этого не случалось, существует “Read Around Write”-буфер, в который поступают данные, требующие последующего помещения в память. Таким образом, операция записи производится только тогда, когда в буфере накоплено достаточно данных. Если же данные еще не успели записаться, то вообще можно обойтись без чтения из памяти, используя буфер как кэш. Очевидно, что эту опцию лучше включать. Правда, есть сведения, что при этом не будет работать видеокарта на чипе i740.

Fast R-W Turn Around

Данная опция позволяет уменьшить задержки при смене режимов обращения к памяти - когда за записью следует чтение и наоборот. Очевидно, что нагрузка на память при этом возрастает, что может приводить к нестабильности и появлению ошибок. Включайте и проверяйте.

System ROM Cacheable

Эта опция включает в число кэшируемых диапазон адресов, в которых хранится копия системного BIOS. Нет никакой необходимости кэшировать BIOS, поскольку имеющиеся в его составе подпрограммы во время работы приложений не используются. То же самое можно сказать и об опции Video BIOS Cacheable - отключайте не задумываясь.

Video RAM Cacheable

Видеопамять для текстовых и простых графических режимов располагается в диапазоне адресов 0A000h-0BFFFh. Когда вы работаете в Windows или любой другой графической оболочке, буфер кадра отображается на определенные линейные адреса далеко за пределами первого мегабайта. Значит - отключаем.

Контроллер PCI

Вторая часть моего обзора настроек BIOS связана с работой контроллера шины PCI и совместимых с ней устройств. Нелишне будет немного пояснить механизм работы этой шины. Каждое устройство может выступать в качестве "хозяина" шины на время обмена с памятью (пресловутый режим DMA), забирая ее для своих нужд. Перед этим оно, конечно, должно подать запрос арбитру. Когда обмен закончен, устройство сообщает об этом путем выдачи прерывания (IRQ). На нужды шины выделяется четыре линии прерываний INT#A-INT#D, причем каждый слот имеет разный порядок подключения этих линий. Другими словами, первая линией прерывания на разных слотах будет разной, например, у слота 1 это будет INT#A, у слота 2 - INT#B и т.д., но не обязательно в таком порядке. Тем самым PCI-устройства, использующие обычно первую линию, в разных слотах не всегда работают на одном и том же прерывании. Хотя по теории не должно быть никаких проблем при использовании одной линии прерывания несколькими устройства, на самом деле некоторые звуковые и видеокарты отказываются работать в паре. Тут уж ничего не поделаешь. А вот для того, чтобы не пересечь PCI-устройства с клавиатурой, COM - и LPT-портами и т.д., есть опция присваивания линиям IRQ (еще их называют INT PIN) разных номеров-входов на контроллере прерываний.

Переходим к другим опциям.

CPU to PCI Write Buffer

Когда процессор работает с PCI-устройством (т.е. режим DMA не используется), он производит запись в порты. Данные при этом поступают в контроллер шины и далее в регистры устройства. Если мы включаем эту опцию, задействуется буфер записи, который накапливает данные до того, как PCI-устройство будет готово. И процессор не должен его ждать - он может выпустить данные и продолжить выполнение программы. Я не вижу каких-либо причин выключать эту опцию.

PCI Dynamic Bursting (Byte Merge, PCI Pipeline)

Эта опция тоже связана с буфером записи. Она включает режим накопления данных, при котором операция записи (транзакция шины) производится только тогда, когда в буфере собран целый пакет из 32 бит. Эффект сугубо положительный - пропускная способность 32-битной шины используется на полную мощность, без холостых операций. Включать обязательно.

PCI#2 Access #1 Retry

Тоже опция, управляющая работой буфера записи. Она определяет, что нужно делать в том случае, если буфер уже заполнен, а устройство так и не подготовилось к получению данных и не смогло принять их. Enabled - операция записи будет повторяться, Disabled - генерируется ошибка и процессор (точнее, программа, выполняющая запись в порт) решает, как поступать дальше.

PCI Master 0 WS Write

Данная опция в положении Disabled позволяет добавлять один дополнительный такт перед операцией записи, проходящей по шине. В случае разгона процессора с помощью увеличения частоты шины FSB увеличиваются также частоты всех остальных шин, в том числе и PCI. Тут-то дополнительный такт и спасает. Если с PCI все нормально - частота 33 МГц и "глюков" не наблюдается, то опцию нужно включать.

PCI Latency Timer

С помощью этой опции можно установить количество тактов, отводимых каждому PCI-устройству на осуществление транзакции (операции обмена). Чем больше тактов, тем выше эффективность работы устройств, так как не требуется заново запрашивать разрешение, захватывать и освобождать время и т.д., то есть выполнять операции, требующие определенного времени, но не дающие реального эффекта. Однако при наличии ISA-устройств PCI Latency нельзя увеличить до 128 тактов. Также можно серьезно нарушить работу системы, поэтому аккуратно подходите к этому вопросу.

Delayed Transaction

Эта опция регулирует взаимоотношения ISA - и PCI-устройств в момент, когда им обоим требуется получить доступ к памяти. Как известно, шина ISA тактируется в четыре раза медленнее, чем шина PCI - 8 МГц против 33 МГц. Скорость обмена тоже гораздо ниже. Если PCI-устройство потребует обмена в то время, как работает ISA-устройство, оно просто не получит такой возможности и будет ждать своей очереди. Однако выход есть - задержанная транзакция. При ней данные не поступают на шину, а накапливаются в 32-битном буфере. Когда шина освобождается, происходит транзакция. Но не все ISA-устройства позволяют так обманывать себя, поэтому в случае проблем отложенную транзакцию нужно отключать.

Passive Release

Это - на ту же тему. Пассивное освобождение шины PCI происходит при активности одного из ISA-устройств. Процессор получает возможность не дожидаться окончания транзакции и начинать запись данных. Если с ISA-устройствами возникают проблемы, эту опцию нужно отключать.

PCI 2.1 Compliance

По сути это - включение двух предыдущих опций, так как любое устройство, удовлетворяющее спецификации PCI 2.1, должно поддерживать и отложенную транзакцию, и пассивное освобождение шины.

Вот, собственно, и все, что в BIOS Setup касается шины PCI. Корректность сделанных настроек можно проверить, нагрузив по очереди все PCI-устройства. Особенное внимание следует обращать в том случае, если частота шины PCI вследствие разгона оказалась выше номинала. Следующий раз поговорим о другой шине - AGP.

Контроллер AGP

Теперь речь пойдет о контроллере шины AGP. Сначала нелишне будет в очередной раз вспомнить, что же это за шина. AGP (Accelerated Graphics Port) была создана компанией Intel специально для поддержки видеокарт нового поколения. За основу была взята универсальная шина PCI. По сравнению с ней AGP допускает работу только одного устройства. При неизменной ширине шины (32 бита) частота возросла вдвое и составила 66 МГц. В дальнейшем были предложены режимы AGP 2x и AGP 4x, в которых вдвое и вчетверо соответственно увеличена скорость обмена, а также введено пониженное напряжение (1.5 В). Еще одно отличие AGP - ориентация на новый режим обмена, названный DiME (Direct In-Memory Execution). Это значит, что AGP-контроллер видеокарты может не просто получать большие объемы данных из системной памяти (режим DMA), но и задействовать ее в качестве расширения памяти видеокарты. Тем самым планировалось полностью избавиться от необходимости оснащать видеокарты памятью. Идея не нашла поддержки со стороны разработчиков графических чипов. Объем видеопамять постоянно растет, уже вовсю применяются алгоритмы сжатия текстур и Z-буфера, а AGP-память используется только в редких случаях, так как это приводит к падению производительности.

Initial Display

Эта опция, чаще всего находящаяся в разделе "Peripheral Setup", совершенно ни на что не влияет в том случае, если у вас только одна видеокарта. Если же их две, то BIOS предоставляет возможность выбрать, которую из них назначить первой (Primary).

AGP Aperture Size

Эта опция устанавливает размер апертуры, то есть максимального объема системной памяти, выделяемой для работы в режиме AGP DiME. Заполняться блоками памяти апертура будет только в случае использования больших текстур. Поэтому выбор очень больших значений никак не повлияет на общую производительность видеокарты. Однако если выбрать слишком маленькое значение, то режим AGP DiME, а иногда и DMA, будет полностью отключен, что может помочь в решении проблемы с несовместимостью видеокарты и материнской платы.

Какое все-таки значение лучше устанавливать? Обычно советуют брать за основу половину объема системной памяти. Или еще одна формула: основная_память * 2/видеопамять. На самом деле во всех случаях нужно устанавливать либо 64, либо 128 Мб.

AGP Driving Control

Эта опция есть у материнских плат с чипсетами VIA. Она позволяет включить режим управления мощностью сигнала, подаваемого на слот AGP. Необходимость в этом возникает в том случае, когда графический контроллер потребляет слишком много энергии. Если материнская плата не способна обеспечивать необходимые параметры, начнутся сбои и зависания при работе 3D-игр.

Также эта опция может быть полезной при разгоне процессора шиной, когда вместе с FSB поднимаются частоты всех шин, в том числе и AGP.

AGP Driving Value

Это и есть та опция, которая задает мощность сигнала. Для устранения проблем обычно советуется поставить значение DA. Если не помогает, стоит попробовать E7, EA и выше. Однако экспериментировать с этой опцией очень опасно, поэтому трогайте ее только в случае крайней необходимости.

AGP Master 1WS Read

Эта опция отвечает за установку задержек при работе AGP-контроллера видеокарты в режиме DMA. Обычно начало обращения к памяти происходит по истечении двух холостых тактов. Для увеличения производительности можно включить эту опцию и тем самым вдвое сократить задержки.

AGP Master 1WS Write

Аналогично предыдущей опции, но касательно операций записи в память.

"КАМИ BIOS" - база защищенных компьютерных систем

Все начальные загрузчики операционных систем обращаются к базовой системе ввода-вывода (BIOS) с тем, чтобы провести первоначальную инициализацию установленного оборудования и контрольное тестирование его работоспособности, а также получить сведения о том, каким образом выполнять дальнейшую загрузку ОС. Поскольку BIOS - это самый нижний уровень ПО, предназначенного для конфигурирования и управления оборудованием ПК, в нем содержится код для взаимодействия со средствами ввода-вывода, дисковыми накопителями, коммуникационными портами и другими устройствами, что с точки зрения информационной безопасности можно рассматривать как серьезную уязвимость системы. С другой стороны, BIOS можно использовать и как инструмент предотвращения несанкционированного перезапуска компьютера и перехвата управления ОС - многие разновидности BIOS для ПК позволяют установить стартовый пароль. Впрочем, такая защита не предоставляет серьезных гарантий безопасности - пароль, как известно, можно подобрать или украсть. Однако при всех своих недостатках даже такой примитивный подход может быть неплохим сдерживающим фактором - сам процесс как минимум отнимет некоторое время у злоумышленника и оставит следы взлома. Многие разновидности BIOS для стандартной платформы x86 реализуют различные дополнительные меры безопасности, в частности, запрет загрузки с дискеты или назначение пароля некоторым пунктам BIOS.

Обычно базовая система ввода-вывода находится в микросхеме ПЗУ, размещенной на системной плате ПК, что делает BIOS доступным в любое время, даже в случае повреждения дисковой системы компьютера. Кроме того, такая организация BIOS позволяет компьютеру самостоятельно загружаться. Сегодня почти все системные платы комплектуются ПЗУ с прошитым в них BIOS, который в любой момент можно перезаписать при помощи специальной программы. С точки зрения защиты информации отсутствие исходных текстов программного кода BIOS делает его "черным ящиком", который не обеспечивает прозрачность загрузки защищаемого ПК. Учитывая все это, можно сказать, что BIOS выступает одним из ключевых элементов в создании надежно защищенного ПК, однако типовые массовые решения, широко представленные на рынке, не позволяют заказчикам обеспечить должный уровень безопасности информации.

Технология доверительной загрузки призвана решить эту проблему путем запуска ОС только после проведения ряда контрольных процедур: авторизации пользователя для разграничения прав на модификацию системы; проверки целостности технических и программных средств защищаемого компьютера, в том числе исполняемых файлов и файлов настроек безопасности; предотвращения загрузки ОС с внешних устройств посредством их физического отключения до завершения процедур авторизации и контроля. Как предполагается, данная процедура будет гарантировать, что проведена санкционированная загрузка ОС и компьютер работает в штатном защищенном режиме.

Таким образом, вполне очевидно, что в настоящее время существует острая необходимость в продукте, обеспечивающем доверительную загрузку ОС. Аппаратная реализация такого решения требует больших финансовых и временных затрат, поэтому актуальной представляется задача разработки программного средства доверительной загрузки ОС, которое сможет служить функциональной заменой “стандартной” базовой системы ввода-вывода (BIOS).

Решая данную задачу, компания НТЦ КАМИ (http://www.kami.ru/) разработала программное средство доверенной загрузки "КАМИ BIOS", способное заменить систему BIOS для 32-разрядной процессорной архитектуры х86, которое может применяться в качестве базы для построения защищенных систем. Система "КАМИ BIOS" обеспечивает низкоуровневую инициализацию аппаратных средств компьютера (аналогично функциям BIOS) и последующий процесс загрузки ОС; при этом она устанавливается вместо программного кода BIOS, поставляемого с системной платой, и не требует никаких дополнительных аппаратных средств.

При создании системы "КАМИ BIOS" разработчики придали ей модульную структуру, чтобы обеспечить различные варианты загрузки и поддержку различных аппаратных платформ и ОС. Функциональность нового решения находится на уровне отраслевых стандартов - ПО "КАМИ BIOS" заменяет стандартный BIOS и обеспечивает все функции начальной загрузки ПК. Особое внимание было уделено защищенности, для чего в системе реализован контроль целостности исходного кода и предусмотрена невозможность обхода загрузки. Кроме того, система "КАМИ BIOS" полностью прозрачна для заказчиков, так как ее исходные тексты могут быть сертифицированы в ведомственных системах сертификации.

На сегодняшний день данная технология доверительной загрузки применяется НТЦ КАМИ совместно с решениями КАМИ-Terminal при построении терминальных станций на аппаратной платформе компании VIA.

К основным достоинствам системы "КАМИ BIOS" можно отнести простоту реализации - программный код прошивается в микросхему BIOS, прозрачность программного кода - возможна сертификация исходных текстов программы, невозможность обхода загрузки - без стандартного BIOS любая компьютерная система просто не загрузится, возможность встраивания дополнительных механизмов защиты - проведения контрольных процедур до загрузки ОС.

В процессе разработки системы "КАМИ BIOS" был использован опыт ряда проектов open source. На данной стадии разработки обеспечивается загрузка ОС класса Unix (Linux и МСВС) с поддержкой ограниченного количества наборов системной логики. В перспективе - разработка системы "КАМИ BIOS", обеспечивающей доверительную загрузку Microsoft Windows 2000 и Windows XP. Одновременно планируется расширить перечень поддерживаемых аппаратных платформ, включив в него системы на базе процессоров Intel, AMD и VIA.

В настоящее время продукт "КАМИ BIOS" готовится к сертификации в системах сертификации ФСТЭК и Минобороны России.

Список источников

1. Справочное руководство ROM BIOS. Методические материалы. Часть 1. ТПП “СФЕРА”.М. 1991 г.

2. Справочное Руководство по IBM PC. Методические материалы. Часть 2. ТПП “СФЕРА”.М. 1991 г.

3. Брябрин В.М. “Программное обеспечение персональных ЭВМ”.М. “НАУКА", 1990 г.

4. Александр Фролов, Григорий Фролов "Аппаратное обеспечение IBM PC" Том 2, книга 1, М.: Диалог-МИФИ, 1992, 208 стр.

5. Для подготовки данной работы были использованы материалы с сайтов:

6. http://bios.ru

7. http://3dnews.ru

8. http://xakep.ru

9. http://fcenter.ru

10. http://eManual.ru

11. http://www.INTUIT.ru

Страницы: 1, 2, 3


© 2010 BANKS OF РЕФЕРАТ