Enable smx что это

Что делает центральный процессор, когда ему нечего делать

Enable smx что это. Смотреть фото Enable smx что это. Смотреть картинку Enable smx что это. Картинка про Enable smx что это. Фото Enable smx что это

Мужик приходит устраиваться работать на стройку. Его спрашивает мастер:
— Что делать умеешь?
— Могу копать…
— А что еще?
— Могу не копать…

Не секрет, что современные процессоры работают очень быстро. Работа их заключается в постоянном извлечении из памяти инструкций и выполнения предписанных в них действий. Однако оказывается, по тем или иным причинам часто требуется притормозить этот процесс. В прикладных программах редко приходится задумываться о том, что при этом происходит с процессором. Но вот для создателей системного софта это далеко не праздный вопрос.

Неактивным процессор может быть не только для экономии энергии, но и в результате возникновения особых ситуаций, в процессе выполнения протоколов инициализации или как итог намеренных действий системных программ. Почему это интересно? При написании программных моделей (в том числе виртуальных машин) компьютерных систем, необходимо корректно моделировать переходы между состояниями виртуальных процессоров. В работе системных программ регулярно возникают ситуации, когда по тем или иным причинам ЦПУ должен «притормозить». Умение корректно использовать и моделировать эти ситуации зависит от знания и понимания спецификаций.

В статье фокус делается на программной стороне вопроса состояний процессора. Я не буду концентрироваться на деталях реализации (напряжения, пины, частоты и т.д.), так как 1) они существенно различаются между поколениями и моделями процессоров даже одной архитектуры, тогда как программный интерфейс остаётся обратно совместимым; 2) они не видны напрямую программам и ОС. Это попытка просуммировать информацию, разбросанную по многим страницам справочника Intel IA-32 and Intel 64 Software Developer Manual.

Начнём с простой и всем знакомой ситуации — процессор включён, бодр и весел.

Активное состояние

Самое обычное состояние процессора, в котором он продолжает исполнять инструкции одну за другой. При этом современные процессоры могут динамически варьировать частоту своего тактового генератора для нужд управления энергопотреблением. Используя принятую терминологию, в активном режиме логический процессор остаётся в состоянии C0, но может изменять P-состояния.

Частично этим процессом можно управлять программно, из BIOS, ОС или прикладных программ. Однако последнее слово в управлении при этом остаётся вне контроля программ, запущенных на центральном процессоре.

Во всех остальных режимах, описываемых дальше, процессор не исполняет инструкции.

Первый из неактивных режимов, появившихся ещё в родоначальнике серии Intel 8086, связан с одноимённой инструкцией процессора. Исполнив эту инструкцию, процессор останавливает свою работу, уже не исполняя следующую команду. Начиная с Intel 80486 DX4 в этом режиме энергопотребление ЦПУ уменьшается по сравнению с активным режимом. Как конкретно это делается — зависит от реализации.

Сам по себе выйти из подобного сонного состояния процессор не может. Требуется внешнее событие. Это может быть обычное прерывание от устройства, немаскируемое прерывание (NMI), прерывание системного режима (SMI) или же варианты инициализирующих сигналов — INIT или RESET.

Да, если выполнить HLT в режиме SMM (system management mode), в котором по умолчанию блокируются все прерывания и немаскируемые прерывания. После этого только RESET сможет вновь запустить обработку машинных команд.

Формально режим после HLT обозначается как C1.

MWAIT и другие энергосберегающие режимы

Идея с особым режимом для энергосбережения центрального процессора получила дальнейшее развитие в виде новой инструкции MWAIT. В отличие от HLT, которая не имеет операндов, MWAIT принимает два значения в регистрах EAX и ECX. При этом в EAX содержится описание желаемого энергосберегающего состояния, численные значения для C-state и C-substate.

Регистр ECX определяет необязательные подсказки (hints) для указанного в команде варианта неактивного режима. В настоящий момент описывается только один такой хинт — флаг в нулевом бите. О его назначении будет сказано чуть ниже.

В остальном поведение процессора после исполнения аналогично HLT: процессор останавливает работу до прибытия внешних сигналов. В отличие от HLT, достигаемая в случае MWAIT экономия энергии может быть больше. Если HLT — это состояние C1, то с помощью MWAIT можно запросить переход процессора в более глубокий сон — состояния C2, C3… C6 и т.д. Каждое такое состояние может иметь под-состояния. Конкретные допустимые комбинации варьируются, и для конкретной модели процессора описываются в пятом листе инструкции CPUID.

Кроме тонкого управления энергопотреблением неактивного состояния, более интересное назначение MWAIT состоит в том, что она повышает эффективность синхронизационных процессов на многопроцессорных системах.

Типичная ситуация в параллельных алгоритмах: поток А ожидает сигнала о готовности от потока Б, после чего оба они могут продолжить вычисления. В многопроцессорных системах А и Б будут исполняться на разных логических процессорах. Каким образом можно передать этот сигнал? Два варианта:

Поместить А в неактивный режим (например, с помощью HLT). Затем Б использует межпроцессорное прерывание, которое выводит А из состояния сна. Однако посылка и обработка такого прерывания довольно дорога в терминах времени, т.к. она потребует нескольких переходов между режимами ядра и пользователя, да и путь сигнала прерывания будет неблизким.

MWAIT в паре с инструкцией MONITOR призвана устранить недостаток второго подхода. Команда MONITOR принимает адрес в памяти в качестве своего аргумента, после чего процессор начинает «мониторить» его, ожидая записи из других потоков. Если такая запись произойдёт в то время, пока процессор находится в сонном состоянии из-за MWAIT, то он будет выведен из него.

Таким образом, состояние сна, созданное с помощью MWAIT, может быть прервано по двум причинам: внешние прерывания или запись в ячейку памяти, помеченную с помощью MONITOR. Но что будет, если прерывания были запрещены на момент исполнения MWAIT?

В первых реализациях MONITOR/MWAIT прибытие прерывания не привело бы к выходу из состояния сна. Оказалось, что такое поведение не очень удобно. Поэтому на современных процессорах MWAIT реализует расширение, включаемое с помощью бита ECX[0], которое позволяет даже запрещённым прерываниям выводить процессор из неактивного состояния.

Хочу подчеркнуть несколько «необязательный» характер поведения MWAIT. Выход из неактивного состояния может происходить по различным, не всегда контролируемым текущим приложением причинам. Программы, использующие её, должны быть спроектированы так, чтобы корректно работать, даже если выходы из сонного состояния будут происходить спонтанно. Поэтому в первом приближении MWAIT можно считать вариантом NOP — ничего не делающей инструкции. Это довольно типично для синхронизационных примитивов класса условная переменная (conditional variable). Алгоритмы, их использующие, обязаны корректно работать в условиях возможности паразитных пробуждений.

На этом закончим с функциональностью управления энергопотреблением. Перейдём к особенностям работы процессора в первые и последние моменты перед его включением и перезагрузкой. Как оказывается, при этом он также может находиться в неактивных режимах.

Wait-for-SIPI

Эта довольно неловкое название расшифровывается как «ожидание сигнала SIPI». SIPI, в свою очередь, является аббревиатурой для «Start-up IPI». Наконец, IPI — это «inter-processor interrupt», межпроцессорное прерывание. Чтобы понять, зачем было введено состояние wait-for-SIPI, нужно иметь общее представление о том, как происходит инициализация в многопроцессорной системе. Проблема следующая: если все ядра, потоки и процессоры после включения питания бросятся исполнять один и тот же загрузочный код, то наступит бардак. В общих чертах довольно сложный и варьирующийся в деталях на разных платформах процесс можно описать следующим образом.

После включения питания все логические процессоры включаются в гонку, в результате которой определяется один главный, т.н. загрузочный процессор (boot-strap processor, BSP). Все остальные процессоры обозначаются как прикладные процессоры (application processor, AP).

BSP начинает исполнять загрузочный код из ROM по адресу 0xfffffff0.

В состоянии wait-for-SIPI процессор не исполняет инструкции. Кроме того, он игнорирует внешние прерывания от устройств, сигналы INIT и NMI, задерживает SMI-прерывания. Фактически, единственное, что должно выводить его из этого состояния — это сигнал SIPI. Отмечу, что спецификации ничего не говорят про энергопотребление в этом режиме.

Хочу отметить, что при дальнейшей загрузки системы, все AP могут снова быть выключены и включены несколько раз. Например, загрузчик ОС может быть написан только для одного потока, да и сами ОС обычно предпочитают вводить процессоры в бой по одному. При этом состояние wait-for-SIPI уже не используется — в дело идёт HLT или просто бесконечный цикл на AP.

Большинству программистов, даже системным, не придётся встречать режим wait-for-SIPI в своей практике, просто потому что он случается однократно и довольно рано в процессе работы любой системы. Однако у этого правила есть исключение. Что произойдёт, если запускается виртуальная машина, использующая аппаратную поддержу виртуализации Intel VT-x, с несколькими логическими процессорами? Оказывается, что в режиме VMX non-root (гостевая система) процессор также можно помещать в различные режимы. Кроме активного, поддерживаются неактивные режимы HLT, Shutdown (о нём чуть дальше) и wait-for-SIPI. В этом состоянии поведение процессора очень похоже на то, что происходит и при обычной инициализации AP. А именно: он ничего не делает, игнорирует многие приходящие сигналы, и только при появлении SIPI выходит из гостевого режима в хозяйский (происходит VM-exit). Отмечу, что решение о том, использовать ли механизм SIPI, зависит от конкретного монитора виртуальных машин; на практике, некоторые их них реализуют собственный протокол пробуждения BSP и AP внутри ВМ.

Shutdown

Увы, код, который пишут люди, не безупречен. Серьёзные ошибки в прикладных программах чаще всего приводят к их завершению под зорким надзором операционной системы. Но вот кто позаботится о самой ОС, если она оступится? В качестве её «надзирателей» могут выступать программные мониторы вирутальных машин или, если они не используются, сама аппаратура, т.е. процессор и его особые состояния. О них и поговорим.

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

При возникновении исключительной ситуации происходит переключение состояния процессора, в чём-то похожее на очень усложнённый вызов процедуры. Нас сейчас не интересуют его детали (эта статья не об исключениях), важен лишь факт, что в этом процессе что-то может пойти не так — возникнуть исключение при попытки обработки исключения. В спецификации Intel IA-32 этот случай именуется Double Fault — двойной промах. Как и другие исключения, он имеет свой номер (8) и свою запись в системной таблице прерываний. ОС может настроить для него свой собственый програмный обработчик.

Но что будет, если и при попытке перехода в обработку Double Fault возникнет исключение? Гадать не нужно — такая ситуация зовётся Triple Fault, тройной промах. Вот только для него обработчика уже не предусмотрено; вместо этого процессор переводится в режим shutdown — останов.

Этот режим похож на состояние после HLT. В нём процессор прекращает исполнение инструкций до прибытия сигналов NMI, SMI, RESET или INIT. Что на самом деле произойдёт с системой в состоянии shutdown, зависит от реализации. Например, может быть включен световой индикатор на передней панели, сгенерировано немаскируемое прерывание для того, чтобы записать диагностическую информацию, проведена перезагрузка системы (горячая или холодная), или сгенерирован сигнал SMI.

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

Как и в случае с wait-for-SIPI, виртуализация добавляет ньюансов в поведение процессора в режиме shutdown. Тройной промах в режиме non-root, конечно же, не перезагружает всю систему. Он вызывает VM-exit, позволяя монитору ВМ обработать ситуацию в «глючной» гостевой системе. Кроме того, монитор может запускать гостя в режиме non-root в состоянии shutdown (уж не знаю, зачем это может понадобиться).

Ещё про Shutdown

Очень внимательный читатель документации может обнаружить, что некоторые выходы VM-exit с нарушенным состоянием процессора могут перевести процессор в так называемый режим VMX-abort shutdown. Он настолько суров, что из него процессор может вывести только RESET; все остальные сигналы он игнорирует.

Хочу отметить, что обычный Triple Fault в системном коде вызвать достаточно просто, достаточно просто не настраивать системные таблицы и немного подождать. Первое же разрешённое прерывание приведёт к (не)желаемому эффекту и перезагрузке.

А вот событие VMX-abort с последующим остановом получить не так просто. Возникнуть оно может только во время выхода из гостя в монитор (переход из non-root в root). Прежде чем выйти, надо войти (осуществить VM-entry). Но только при входе в non-root проводится огромное число проверок, в том числе таких, что запрещают работу с неконсистентным состоянием. Если что-то было настроено неверно, то попытка входа в гостевую ВМ сразу вернётся с кодом ошибки. Во время работы гость значительно ограничен в правах и самостоятельно разрушить системные структуры обычно не может. Другими словами, обычно ошибка в программе монитора проявляется раньше, при входе. Необходимо быть очень изобретательным (например, напортачить с изоляцией памяти или модель-специфичными регистрами), чтобы получить ошибку именно при VM-exit.

Экзотика: SENTER sleep и TXT shutdown

Напоследок, стоит упомянуть о расширении SMX (safer mode extensions), являющимся программным интерфейсом к набору платформенных технологий Intel TXT (trusted execution technology). Процессоры, поддерживающие SMX, получают ещё два неактивных режима.

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

Исполнение инструкции GETSEC[SENTER] на одном логическом процессоре вводит остальные процессоры в новое неактивное состояние SENTER Sleep. После этого программа, исполняющаяся на оставшемся активном процессоре, должна перевести систему в так называемое «заверенное» окружение (measured environment), Как только заверенное окружение готово, в нём могут работать и остальные процессоры. Для этого они выводятся из состояния SENTER sleep с помощью инструкции GETSEC[WAKEUP].

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

При детектировании недопустимых событий в заверенном окружении процессор переводится в новое состояние — TXT-shutdown. Его отличительная особенность состоит в том, что информация о причине останова сохраняется в платформенных регистрах и выживает после перезагрузки, что позволяет проанализировать её впоследствии. Эх, вот бы и для обычного Triple Fault было бы что-то такое! Заметно помогло бы с диагностикой проблем.

Источник

Полные настройки BIOS

I. BIOS Features Setup

Однако, эта опция может стать причиной проблем при инсталляции определенного программного обеспечения. Хорошим примером является обычная процедура инсталляции Win95/98. Когда эта опция включена, она становится причиной отказа при инсталляции Win95/98. Выключите ее перед инсталляцией подобного программного обеспечения.

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

В итоге, эта опция бесполезна для винчестеров, которые управляются внешними контроллерами (external controllers) с их собственным BIOS. Загрузочные вирусы минуют системный BIOS и пропишутся на такие винчестеры напрямую. Например, SCSI контроллеры и UltraDMA 66 контроллеры.

Некоторые материнские платы могут иметь свой собственный механизм защиты (ChipAway) в составе BIOS. Если вы его включаете, то обеспечивается дополнительная антивирусная защита системы, так как она сможет определять загрузочные вирусы до того как у них появится возможность заразить boot sector на винчестере. Опять же, эта опция бесполезна для винчестеров которые управляются отдельными контроллерами с их собственным BIOS.

CPU Level 1 Cache (Кэш первого уровня CPU)
Опции: Enabled, Disabled

    Эта установка BIOS может использоваться чтобы включить или отключить кэш первого уровня. Естественно, установкой по умолчанию является Enabled.

Эта опция полезна для «оверклокеров», которые хотят точно определить причину неудачного «разгона». Т.е. если CPU не способен достичь 500MHz с включенным кэшем первого уровня и наоборот; тогда L1 cache и является причиной мешающей стабильной работе CPU на 500MHz.

CPU Level 2 Cache (Кэш 2-го уровня CPU)
Опции: Enabled, Disabled

    Эта опция BIOS применяется для включения и выключения кэша второго уровня. Естественно, установкой по умолчанию является Enabled.

Эта опция полезна для «оверклокеров», которые хотят точно определить причину неудачного «разгона». Т.е. если CPU не способен достичь 500MHz с включенным кэшем второго уровня и наоборот; тогда L2 cache и является причиной мешающей стабильной работе CPU на 500MHz.

Пользователи могут отключать (disable) L2 cache чтобы «разогнать» процессор до больших значений, но стоит ли игра свеч?

Некоторые оспаривают полезность включения ECC checking так как это сказывается на производительности. Следует отметить что разница по производительности ничтожна, (если вообще есть). Однако, стабильность и надежность достигаемые при помощи ECC checking очевидны и значительны. Это даже может дать вам возможность «разгона» до более высоких показателей чем когда ECC checking отключена (disabled). Поэтому, включайте ее в целях обеспечения стабильной и надежной работы.

Quick Power On Self Test (быстрый автотест Power On)
Опции: Enabled, Disabled

    Будучи включенным, уменьшит время некоторых тестов и просто пропустит другие, которые обычно проходят во время процесса загрузки. Таким образом, система загружается гораздо быстрее.
    Включите его для быстрой загрузки, но выключите его после любых изменений в системе, чтобы обнаружить все ошибки которые могут проскочить через быстрый тест. После нескольких корректных (error-free) тест-пробегов ( test runs), вы можете опять включить эту опцию для быстрой загрузки без ухудшения стабильности системы.

Boot Sequence (Последовательность загрузки)
Опции: A, C, SCSI/EXT

    C, A, SCSI/EXT
    C, CD-ROM, A
    CD-ROM, C, A
    D, A, SCSI/EXT
    E, A, SCSI/EXT
    F, A, SCSI
    SCSI/EXT, A, C
    SCSI/EXT, C, A
    A, SCSI/EXT, C
    LS/ZIP,C
    Эта опция позволяет установить последовательность, согласно которой BIOS будет искать операционную систему. Чтобы установить наиболее краткое время загрузки, выберите первым пунктом винчестер, содержащий вашу ОС. Обычно, это диск С: но, если у вас SCSI жесткий диск, выбирайте пункт SCSI.

    Дополнительно: некоторые материнские платы (например ABIT BE6 и BP6) имеют дополнительный встроенный IDE контроллер. Опции BIOS этих плат заменяют SCSI опцию на EXT опцию. Это позволяет компьютеру загружаться с IDE винчестера на третьем или четвертом IDE порту (благодаря дополнительному встроенному IDE контроллеру) или со SCSI винчестера. Если вам нужно загрузиться с IDE винчестера работающего на первом или втором IDE порту, не устанавливайте очередность загрузки так, чтобы она начиналась с EXT. Обратите внимание, что этой функции приходится работать в соседстве с Boot Sequence EXT Means функцией.

Boot Sequence EXT Means (Последовательность загрузки с дополнительных устройств)
Опции: IDE, SCSI

    Эта функция применима только в случае, если вышеописанная Boot Sequence функция имеет установки EXT и этой функции приходится работать совместно с функцией Boot Sequence. Эта функция позволяет вам установить будет ли система загружаться с IDE винчестера соединенного с любым из двух дополнительных IDE портов, которые можно обнаружить на некоторых материнских платах (ABIT BE6 и BP6) или со SCSI винчестера.

Чтобы загрузиться с IDE винчестера соединенного с третьим или четвертым IDE портом (благодаря дополнительному встроенному IDE контроллеру), вам сначала нужно будет установить вышеописанную функцию Boot Sequence так, чтобы она начиналась с EXT. Например, EXT, C, A. Затем, вам нужно установить эту функцию (Boot Sequence EXT Means) в значение IDE.

Чтобы загрузиться с SCSI винчестера вам сначала нужно будет установить вышеописанную функцию Boot Sequence так, чтобы она начиналась с EXT. Например, EXT, C, A. Затем, вам нужно установить эту функцию (Boot Sequence EXT Means) в значение SCSI.

First Boot Device (Первое устройство загрузки)
Опции: Floppy, LS/ZIP, HDD-0, SCSI, CDROM, HDD-1, HDD-2, HDD-3, LAN, Disabled

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

Например, если в качестве первого устройства загрузки (First Boot Device) будет выбран дисковод флоппи-дисков, BIOS загрузит DOS 3.3, которая находится на флоппи-диске, но не будет загружать Win2k, даже если эта система будет установлена на жестком диске C. В целях предупреждения сбоев рекомендуется устанавливать операционную систему с CD.

По умолчанию выбран дисковод флоппи-дисков (Floppy). Но за исключением случаев, когда вы часто загружаетесь с дискеты или устанавливаете систему с CD-Rom, лучше всего в качестве первого устройства загрузки выбирать жесткий диск (обычно HDD-0). Это сократит процесс загрузки компьютера.

Second Boot Device (Второе устройство загрузки)
Опции: Floppy, LS/ZIP, HDD-0, SCSI, CDROM, HDD-1, HDD-2, HDD-3, LAN, Disabled

    Данная функция позволяет выбрать второе устройство, с которого BIOS будет пытаться загрузить операционную систему. Обратите внимание, что если BIOS может загрузить систему с первого устройства загрузки, то настройки данной функции не будут иметь силы. Только если BIOS не сможет найти операционную систему на первом устройстве загрузки, она попытается найти и загрузить систему со второго устройства загрузки.

Например, если в качестве первого устройства загрузки выберете дисковод, но вынете из него дискету, то BIOS загрузит Win2k, которая была установлена на жестком диске C (выбранном в качестве второго устройства загрузки).
По умолчанию выбрано устройство HDD-0, которое является жестким диском, обычно присоединенным к каналу Primary Master IDE. За исключением случаев, когда в качестве первого устройства загрузки выбран съемный диск, данная функция используется редко. HDD-0 является оптимальным выбором, хотя вы можете выбрать другое устройство, в качестве альтернативного устройства для загрузки.

Third Boot Device (Третье устройство загрузки)
Опции: Floppy, LS/ZIP, HDD-0, SCSI, CDROM, HDD-1, HDD-2, HDD-3, LAN, Disabled

    Данная функция позволяет выбрать третье устройство, с которого BIOS попытается загрузить систему. Обратите внимание, что если BIOS может загрузить систему с первого или второго устройства загрузки, настройки данной функции не будут иметь силы. Только в случае если BIOS не сможет найти систему на первом и втором устройствах загрузки, она попытается найти и загрузить систему с третьего устройства загрузки (Third Boot Device).

Например, если Вы выберете 3,5 дисковод в качестве первого устройства, а дисковод LS-120 в качестве второго устройства загрузки, но оба устройства окажутся пусты, то BIOS загрузит Win2k, которая была установлена на жестком диске C (выбранного в качестве третьего устройства загрузки).

По умолчанию выбран дисковод LS/ZIP. За исключением случаев, когда в качестве первого и второго устройств загрузки выбраны съемные диски, данная функция используется редко. LS/ZIP является наиболее подходящим выбором, хотя Вы можете выбрать и другое устройство для загрузки.

Boot Other Device (Загрузка другого устройства)
Опции: Enable, Disabled

    Данная функция определяет, станет ли BIOS загружать систему со второго или третьего устройства загрузки, если не удастся загрузить систему с первого устройства загрузки.

По умолчанию будет выбрано положение Enabled (Включено) и мы рекомендуем не менять его. В противном случае, если BIOS не сможет найти систему на первом устройстве загрузки, она прервет процесс загрузки и выдаст сообщение «No Operating System Found» (не обнаружено операционной системы), хотя операционные системы будут на втором или третьем устройстве загрузки.

Boot Up Floppy Seek (Поиск флоппи-дисковода во время загрузки)
Опции: Enable, Disabled

    Данная функция управляет проверкой флоппи-дисковода, которую осуществляет BIOS при загрузке. Если его не обнаруживается (либо из-за неправильной конфигурации, либо физической недоступности), выдается сообщение об ошибке. Также проверяется, имеет ли флоппи-дисковод 40 или 80 дорожек, но так как в настоящее время все дисководы имеют 80 дорожек, то данная проверка не нужна. Эта функция должна быть отключена для ускорения процесса загрузки.

Boot Up NumLock Status (Статус клавиши NUMLOCK)
Опции: Вкл, Выкл

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

Gate A20 Option (Функция управления Gate A20)
Опции: Normal, Fast

    Данная функция определяет, как используется Gate A20 для обращения к памяти выше 1Mб. Когда выбрано положение Fast, чипсет материнской платы управляет работой Gate A20. Когда выбрано положение Normal, Gate A20 управляется пином на контроллере клавиатуры. Установка функции управления Gate A20 в положение Fast улучшает скорость доступа в память и, таким образом, общую скорость работы системы, особенно с OS/2 и Windows.

Это связано с тем, что OS/2 и Windows входят и выходят из защищенного режима через BIOS очень часто, и Gate A20 вынуждено постоянно переключаться. Установка функции в положение Fast улучшает доступ к памяти выше 1MB, потому что чипсет намного быстрее в переключении Gate A20, чем контроллер клавиатуры. Рекомендуется выбирать положение Fast для более быстрой работы памяти.

IDE HDD Block Mode (Режим передачи блоков данных с IDE HDD)
Опции: Enabled, Disabled

    Данная функция (IDE HDD Block Mode) ускоряет доступ к жесткому диску, передавая данные одновременно из нескольких секторов вместо использования режима передачи данных из одного-единственного сектора за раз. Когда вы активизируете данную функцию, BIOS автоматически определяет поддерживает ли ваш жесткий диск передачу данных блоками и устанавливает необходимые настройки передачи данных блоками. При включенном режиме передачи данных блоками за одно прерывание может быть передано до 64Kб данных. Так как в настоящий момент все жесткие диски поддерживает передачу данных блоками, причин, по которым не стоило бы включать данный режим, не имеется.

Однако, если вы пользуетесь WinNT, будьте внимательны. Согласно словам Chris Bope, Windows NT не поддерживают режим IDE HDD Block Mode и его активизация может привести к повреждению данных. Ryu Connor подтвердил это, прислав мне ссылку на статью Micrisoft о работе IDE под WinNT4.0 (Microsoft article about Enhanced IDE operation under WinNT 4.0). Согласно этой статье, режим IDE HDD Block Mode (и функция 32-bit Disk Access) в некоторых случаях приводила к повреждению данных. Microsoft рекомендует пользователям WinNT 4.0 отключать данный режим (положение Disabled).

С другой стороны, Lord Mike, разговаривая с хорошо информированным лицом, услышал, что проблема повреждения данных была серьезно рассмотрена компанией Microsoft и была устранена в Service Pack 2. Хотя он не получил официального заявления от Microsoft, возможно, что включение режима IDE HDD Block Mode под WinNT вполне безопасно, если вы провели апгрейд при помощи Service Pack 2.

Если вы отключите режим IDE HDD Block Mode, за одно прерывание может передаваться только 512 бит данных. Нет необходимости говорить, что это значительно ухудшает работу. Так что отключайте данный режим IDE HDD Block Mode, только если пользуетесь WinNT. В других случаях для оптимальной работы оставляйте этот режим включенным.

32-bit Disk Access (32-бит доступ к жесткому диску)
Опции: Enabled, Disabled

    32-bit Disk Access вообще-то, является неправильным названием этой функции, так как не предоставляет 32-битного доступа к жесткому диску. Что она на самом деле делает, так это настраивает IDE контроллер на объединение двух 16-битных считываний с жесткого диска в одну передачу на процессор двойного слова 32-бит. Это делает использование шины PCI более оптимальным, так как нужно меньшее количество транзакций для передачи имеющегося объема данных.

Однако, согласно статье Microsoft Enhanced IDE operation under WinNT 4.0 (см. выше), 32-битный доступ к жесткому диску в некоторых случаях может вызвать повреждение данных под WinNT. Microsoft рекомендует отключать данную функцию при использовании WinNT 4.0.

С другой стороны, Lord Mike, разговаривая с хорошо информированным лицом, услышал, что проблема повреждения данных была серьезно рассмотрена компанией Microsoft и была устранена в Service Pack 2. Хотя он не получил официального заявления от Microsoft, возможно, что включение режима IDE HDD Block Mode под WinNT вполне безопасно, если Вы провели апгрейд при помощи Service Pack 2.

Если функция отключена, передача данных с IDE контроллера на процессор будет проходить только в 16-бит. Это, конечно, ухудшит работу, так что стоит включать данную функцию, если возможно. Отключайте ее, только если есть опасность повреждения данных.

Typematic Rate Setting (Настройка периода повторения)
Опции: Enabled, Disabled

    Данная функция позволяет настраивать повтор срабатывания клавиши при ее постоянном нажатии. Если он включена, Вы можете вручную сделать настройку, используя два параметра настройки периода повторения (Typematic Rate и Typematic Rate Delay). Если функция отключена, BIOS воспользуется настройками по умолчанию.

Typematic Rate (Chars/Sec) Период повторения (знаков/мин)
Опции: 6, 8, 10, 12, 15, 20, 24, 30

    Эта скорость, с которой клавиатура будет повторять клавишу при ее постоянном нажатии. Эта настройка будет работать, только если будет включена предыдущая функция Typematic Rate Setting.

Typematic Rate Delay (Msec) Задержка периода повторения (мсек)
Опции: 250, 500, 750, 1000

    Это задержка в миллисекундах перед тем, как клавиатура начнет повторять клавишу, которую Вы удерживаете. Эта настройка работает, только когда включена функция Typematic Rate Setting.

Security Setup (Функция защищенной настройки)
Опции: System, Setup

    Эта функция будет работать, только если Вы установите пароль через PASSWORD SETTING (установку пароля) на основном окне BIOS.

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

PCI/VGA Palette Snoop (Корректировка палитры VGA видеокарты на PCI)
Опции: Enabled, Disabled

    Эта опция полезна только тогда когда вы используете MPEG-карточку или дополнительную карту, которая использует Feature Connector исходной графической карты. Она исправляет неправильное воспроизведение цветов путем перехвата в память видеобуфера кадров графической карты и модифицирования (синхронизирования/synchronizing) информации передаваемой от Feature Connector исходной графической карты к MPEG или add-on карте. Она также поможет решить проблему перехода дисплея в режим черного цвета после использования MPEG карты.

Assign IRQ For VGA (Выделение прерывания для VGA)
Опции: Enabled, Disabled

    Многие high-end графические акселераторы теперь требуют IRQ для нормальной работы. Если вы отключите эту опцию с такой карточкой, то возможны сбои в нормальной работе и/или значительно ухудшится производительность. Таким образом, лучше всего убедиться, что вы включили эту опцию, если у вас проблемы с графическим акселератором. Однако, некоторые low-end карты не требуют IRQ для нормальной работы. Следует проверить документацию на вашу графическую карту. Если там указано что данная карточка не требует IRQ, тогда можно выключить эту опцию освобождая IRQ для других целей. Если сомневаетесь, лучше всего оставьте ее включенной, до тех пор пока вам действительно не понадобится IRQ.

MPS Version Control For OS (Версия MPS)
Опции: 1.1, 1.4

    Эта опция имеет смысл только для мультипроцессорных систем, так как она указывает версию Multiprocessor Specification (MPS), которую будет использовать материнская плата. MPS есть спецификация согласно которой производители PC проектируют и создают системы на архитектуре Intel с двумя и более процессорами. В MPS версии 1.4 добавлены расширенные таблицы конфигурации в целях улучшения поддержки для multiple PCI bus конфигураций, и улучшена расширяемость в будущем. Более свежие версии серверных операционных систем в большинстве своем будут поддерживать MPS 1.4 и потому, вам следует изменить BIOS Setup с 1.1 (по умолчанию) на 1.4 если ваша операционная система поддерживает версию 1.4. Значение 1.1 следует сохранить, только если у вас более старая версия серверной ОС.

OS Select For DRAM > 64MB (Выбор OS если DRAM > 64MB)
Опции: OS/2, Non-OS/2

    Когда системная память имеет размер более 64MB, OS/2 отличается от других operating systems (OS) тем, как она управляет памятью. Так, в системе, где установлена OS/2, выберите OS/2, а в системе где установлена иная ОС, выберите Non-OS/2.

HDD S.M.A.R.T. Capability (Совместимость с HDD S.M.A.R.T.)
Опции: Enabled, Disabled

    Эта опция включает и выключает поддержку S.M.A.R.T. совместимости винчестера. Технология S.M.A.R.T. (Self Monitoring Analysis And Reporting) поддерживается всеми современными винчестерами и позволяет на раннем этапе предсказать и предупредить о надвигающихся проблемах с винчестером. Вам следует включить ее, чтобы S.M.A.R.T. утилиты могли бы отслеживать состояние винчестера. Включение этой опции позволяет следить за состоянием винчестера через сеть. Нет никаких преимуществ в производительности, если ее отключить, даже если вы и не намереваетесь использовать технологию S.M.A.R.T.Однако, возможно, что включение технологии S.M.A.R.T. может стать причиной спонтанных перезагрузках в компьютерах работающих в сети. S.M.A.R.T. может посылать пакеты данных через сеть даже если эти данные ничем не просматриваются. Это может привести к спонтанным перезагрузкам. Таким образом, попробуйте отключать HDD S.M.A.R.T. Capability если у вас постоянные перезагрузки или отказы при работе в сети.

Report No FDD For Win95 (Вывод сообщения «No FDD For Win95»)
Опции: Enabled, Disabled

    Если вы работаете под Windows 95/98 без флоппи диска (FDD), выберите Enabled чтобы высвободить IRQ6. Это нужно чтобы пройти Windows 95/98`s SCT тест. Вам также следует отключить Onboard FDC Controller в меню Integrated Peripherals если в системе нет флоппи диска. Если вы выберете Disabled, то BIOS не станет выводить сообщение об отсутствующем floppy drive для Win95/98.

Video BIOS Shadowing (использование теневого ОЗУ для загрузки системной BIOS или видео BIOS из ПЗУ видео карты в системную память)
Опции: Enabled, Disabled

    Когда эта опция включена, Video BIOS копируется в системную память для более быстрого доступа. Улучшает производительность BIOS потому что CPU теперь можно считывать BIOS через 64-bit DRAM bus, а не 8-bit XT bus. Все это весьма привлекательно, так как подразумевает по крайней мере 100x увеличение скорости передачи и за это мы поплатимся пространством в системной памяти, которая будет использована чтобы зеркально отображать содержимое ПЗУ.

Однако, современные ОС минуют BIOS полностью и имеют прямой доступ к видеокарте. Таким образом, нет обращений к BIOS и нет никакого выигрыша от BIOS shadowing. В свете всего этого, нет смысла тратить системную память только на то, чтобы затенить Video BIOS, если он вообще не используется.
Согласно статье Microsoft о Shadowing BIOS under WinNT 4.0, затенение BIOS (независимо от того какой это BIOS) не дает никакого увеличения производительности так как оно не используется WinNT. Оно только «съест» память. Хотя в статье ничего не упоминается о Win9x, все это справедливо и для Win9x, так как она основана на той же самой Win32 архитектуре.
Более того, некоторые руководства упоминают о возможности нестабильной работы системы если определенные игры обращаются в область RAM (region) которая уже была использована для затемнения Video BIOS. Однако, это уже не актуально, так как эта затененная область RAM была сделана недоступной для программ.Вот что стоит упомянуть, так это то что в video BIOS затеняются только 32KB. Более новые video BIOS-ы обычно больше чем 32KB в размере, но если затеняются только 32KB а остальное остается в исходном положении, то начнутся проблемы со стабильностью при обращении к BIOS. Поэтому, если вы намереваетесь затенить video BIOS, вам следует убедиться что затенен ВЕСЬ video BIOS.

В конце концов, большинство современных видеокарт сейчас имеют Flash ROM (EEPROM) которое значительно быстрее чем старые ROM и даже быстрее чем DRAM. Поэтому, больше нет необходимости в video BIOS shadowing и может быть даже большей производительности можно добиться вообще не применяя shadowing! В дополнение, вам не следует затенять video BIOS если ваша видеокарта имеет Flash ROM так как вы не сможете обновить его содержимое если shadowing будет включен.

Что же касается shadowing video BIOS, это не имеет особого значения. Windows, Linux, или любые иные ОС которые используют функции ускорителя никогда напрямую не сообщаются с video BIOS. А вот старый добрый DOS все еще это делает! А посему, те же самые функции которые когда то существовали в первых VGA картах до сих пор существуют в новеньких 3D картах. От того как в DOS программах написан видео интерфейс зависит производительность видео системы, если видео BIOS затенен (shadowed).

Краткий итог #2: в сегодняшних видео акселераторах, основной работой видео BIOS-а является обеспечение программы для видео процессора (RIVA TNT2, Voodoo3, и т.д.) чтобы он смог выполнить свою задачу. Интерфейс между видеокартой и программным обеспечением обеспечивается набором команд от драйвера и на самом деле не имеет ничего общего с видео BIOS. Первоначальные функции BIOS-а все еще наличествуют для обратной совместимости с VGA.

Shadowing Address Ranges (xxxxx-xxxxx Shadow) Затенение блока памяти в адресном пространстве
Опции: Enabled, Disabled

    Эта опция дает вам возможность решать, затенять ли блок памяти на дополнительной карте в адресном пространстве xxxxx-xxxxx или нет. Оставьте опцию выключенной если у вас нет дополнительной карты использующей этот диапазон памяти. Также, как и при Video BIOS Shadowing, нет никакого преимущества во включении этой функции если вы работаете под Win95/98 и у вас имеются драйверы соответствующие вашей add-on карте.Ivan Warren также предупреждает, что если вы используете дополнительную карту которая использует некоторую область CXXX-EFFF под I/O, то затенение вероятно не даст карте работать, так как запросы на чтение/запись памяти не смогут быть переданы к ISA шине.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *