Конфигурирование компьютера – CMOS Setup



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

 

Базовая система ввода-вывода (BIOS) предназначена для изоляции операционной системы и прикладных программ от специфических особенностей конкретной аппаратуры. BIOS находится в микросхемах энергонезависимой памяти, расположенных на системной плате; на картах расширения могут находиться дополнительные модули BIOS, поддерживающие функционирование этих карт. ROM BIOS хранится в микросхемах ПЗУ, которые могут быть и перепрограммируемыми. Для изменения содержимого ПЗУ их обычно приходится извлекать из системной платы, стирать и перезаписывать на специальном устройстве-программаторе. Флэш-BIOS (Flash-BIOS) хранится в микросхемах флэш-памяти, допускающей перепрограммирование прямо на месте установки. В нормальном режиме работы компьютера информация в микросхемах ROM и флэш-BIOS является постоянной.

Системный модуль ROM BIOS (System ROM BIOS) обеспечивает программную поддержку стандартных устройств PC, конфигурирование аппаратных средств, их диагностику и вызов загрузчика операционной системы. Системный модуль ROM BIOS в значительной степени привязан к конкретной реализации системной платы, поскольку именно ему приходится программировать все микросхемы чипсета системной платы. Функции BIOS разделяются на следующие группы:

· инициализация и начальное тестирование аппаратных средств – POST;

· настройка и конфигурирование аппаратных средств и системных ресурсов – CMOS Setup, см. 6.6;

· автоматическое распределение системных ресурсов – PnP BIOS;

· идентификация и конфигурирование устройств PCI – PCI BIOS, см. 14.7;

· начальная загрузка (первый этап загрузки операционной системы) – Bootstrap Loader;

· обслуживание аппаратных прерываний от системных устройств (таймера, клавиатуры, дисков) – BIOS Hardware Interrupts;

· отработка базовых функций программных обращений (сервисов) к системным устройствам – ROM BIOS Services;

· поддержка управляемости конфигурированием – DMI BIOS;

· поддержка управления энергопотреблением и автоматического конфигурирования – АРМ и ACPI BIOS.

Все эти функции (или их часть) исполняет системный модуль BIOS, хранящийся в микросхеме ПЗУ или флэш-памяти на системной плате. Большинство сервисных функций выполняется в 16-битном режиме, хотя некоторые новые функции могут иметь и альтернативные вызовы для 32-битного исполнения. Системный модуль BIOS должен обслуживать по вышеуказанным функциям все компоненты, установленные на системной плате: процессор, контроллер памяти (ОЗУ и кэш), стандартные архитектурные компоненты (контроллеры прерываний и DMA, системный таймер, системный порт, CMOS RTC), контроллер клавиатуры, а также набор стандартных периферийных контроллеров и адаптеров, даже если они и не установлены на системной плате. В этот набор входят графические адаптеры CGA и MDA, порты СОМ и LPT, контроллер НГМД, диски АТА (теперь уже обязательно двух каналов). Если на системной плате установлены дополнительные компоненты, например контроллер SCSI, графический адаптер SVGA, адаптер локальной сети, то их поддержка тоже должна быть в системном модуле BIOS.

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

 

 

Тест начального включения – POST

 

При включении питания, аппаратном сбросе от кнопки Reset или нажатии комбинации клавиш Ctrl+Alt+Del процессор переходит к исполнению кода начального самотестирования POST (PowerOn Self Test – самотестирование при включении), хранящегося в микросхеме BIOS. POST выполняет тестирование процессора, памяти и системных средств ввода-вывода, а также конфигурирование всех программно-управляемых аппаратных средств системной платы. Часть процедуры конфигурирования выполняется однозначно, часть управляется джамперами системной платы, но ряд параметров позволяет или даже требует конфигурирования по желанию пользователя. Для этих целей служит утилита Setup , встроенная в код BIOS. После тестирования и конфигурирования (включающего настройку устройств PnP) POST инициирует загрузку операционной системы.

При прохождении каждой секции POST записывает ее код (номер) в диагностический регистр. Этот регистр физически располагается на специальной диагностической плате POST Card (это не почтовая карточка), устанавливаемой в слот шины расширения. Плата содержит 8-битный регистр со световой (двоичной или шестнадцатеричной) индикацией состояния битов. По индикаторам платы можно определить, на какой секции остановился тест POST, и выяснить причину неисправности. Однако для такой диагностики необходимы, во-первых, сама плата-индикатор и, во-вторых, «словарь» неисправностей – таблица, специфическая для версии BIOS и системной платы. Во время выполнения POST может выдавать диагностические сообщения в виде последовательности коротких и длинных звуковых сигналов, а после успешной инициализации графического адаптера – в виде небольших текстовых сообщений на экране монитора.

Ниже представлена обычная последовательность шагов теста POST:

  1. Тестирование регистров процессора.
  2. Проверка контрольной суммы ROM BIOS.
  3. Проверка и инициализация таймера 8253/8254, портов 8255. После этого шага становится доступной звуковая диагностика (табл. 5.1).
  4. Проверка и инициализация контроллеров DMA 8237.
  5. Проверка регенерации памяти.
  6. Тестирование 64 Кбайт нижней памяти.
  7. Загрузка векторов прерывания и стека в нижнюю область памяти.
  8. Инициализация видеоконтроллера – на экране появляется заставка Video BIOS, обычно с указанием модели видеокарты и объемом установленной видеопамяти.

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

  1.        Тестирование полного объема ОЗУ.
  2.        Тестирование клавиатуры.
  3.        Тестирование CMOS-памяти и часов.
  4.        Инициализация СОМ- и LPT-портов.
  5.        Инициализация и тест контроллера НГМД.
  6.        Инициализация и тест контроллера НЖМД.
  7.        Сканирование области дополнительной памяти ROM BIOS.
  8.        Вызов Bootstrap (Int 19h) – загрузка операционной системы, при невозможности – попытка запуска ROM Basic (Int 18h), при неудаче – останов процессора с сообщением System Halted (система остановлена).

 

Флэш-BIOS

 

Флэш-память широко применяется в качестве носителя BIOS в современных компьютерах. В принципе, это позволяет даже конечному пользователю обновлять версию BIOS, не вызывая высокооплачиваемых специалистов и оперативно получая необходимые файлы через Интернет. Наиболее эффективно применение флэш-памяти с выделенным блоком загрузчика. Блок загрузчика после программирования может быть аппаратно защищен от перезаписи и работать в режиме ROM. Это позволяет его использовать как неизменную часть BIOS, обеспечивающую минимальные условия для загрузки утилиты программирования основного блока. Основной блок хранит главную часть BIOS, которая при необходимости может заменяться новыми версиями. В случае некорректности новой запрограммированной версии всегда есть путь к отступлению, обеспечиваемый неизменяемым блоком загрузчика.

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

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

 


DMI BIOS

 

Интерфейс управления настольными компьютерами (Desktop Management Interface, DMI) служит для удаленного администрирования компьютеров. Поддержка DMI введена в BIOS большинства современных компьютеров.

Идеи централизованного управления рабочими станциями развиваются многими фирмами-производителями компьютеров и сетевого оборудования. В 1992 г. компании Digital, Hewlett-Packard, IBM, Intel, Microsoft, Novell, Sun и Synoptics организовали группу DMTF (Distributed Management Task Force – рабочая группа для решения задач распределенного управления компьютерами). Позже к ним примкнули фирмы Apple, AST, Compaq, Dell, Symantec и ряд других, и теперь под флагом DMTF объединены более 400 производителей компьютеров и программного обеспечения. В 1994 году была выпущена первая спецификация интерфейса DMI, которая была сугубо локальной и не предусматривала управления по сети. В 1996 году вышла спецификация DMI 2.0, в которую уже была включена возможность дистанционного управления по сети. Основная идея DMI – всеобщий учет и контроль (в смысле возможности принудительного управления).

Настольный компьютер представляет собой набор аппаратных средств (hardware), встроенного (firmware) программного обеспечения (например, ROM BIOS) и загружаемого (software) программного обеспечения (операционная система и прикладное ПО). Для того чтобы выполнить какие-либо административные действия (например, установить или обновить сетевое ПО), в общем случае может понадобиться информация по любому элементу этого набора. Интерфейс DMI позволяет администратору, не подходя к рабочему месту пользователя, узнать о его компьютере все. Приведем в качестве примера выдержки из списка параметров, сообщаемых DMI BIOS производства фирмы Award:

· ROM BIOS – название, версия, производитель, дата выпуска, размер, поддерживаемые шины, способ загрузки и т.д.;

· система (компьютер) – название, производитель, версия, серийный номер;

· системная плата – то же;

· корпус (шасси) – производитель, заводской и инвентарный номера;

· процессор – тип, семейство, идентификатор, версия, тип сокета, частота ядра (максимальная и текущая), частота шины;

· контроллер памяти – поддерживаемые типы памяти, допустимое количество модулей памяти (слотов), напряжение питания, быстродействие модулей, методы обнаружения и исправления ошибок;

· модули памяти – тип слота, используемые банки, скорость, тип памяти, размер, контроль/исправление ошибок, наличие обнаруженных ошибок;

· кэш-память – тип, размер (допустимый и текущий), скорость, допустимые типы памяти;

· порты (COM, LPT, Mouse...) – логические параметры, а также тип коннекторов, внутренних и внешних (DB-9 или DB-25 для COM-портов), надпись на шильдике;

· слоты шин расширения – тип (ISA, PCI...), разрядность шины, частота, напряжение, обозначение и т. д.;

· встроенная периферия (графический, аудио-, видеоконтроллер) – подробная информация;

· журнал системных событий.

 

Все устанавливаемые адаптеры и контроллеры должны сообщать подобную детальную информацию о себе. Также представляться должны и операционная система со всеми драйверами, и приложения, поддерживающие DMI.

Помимо полной инвентаризации DMI предоставляет возможность дистанционного запуска на пользовательском компьютере процедур, используя протокол RPC (Remote Procedure Call – удаленный вызов процедур). Удаленно могут запускаться, например, утилиты обслуживания дисков, антивирусные программы, но самое заманчивое – удаленный запуск процедур установки и обновления операционных систем и прикладного ПО.

Принудительное дистанционное администрирование желательно производить при отсутствии пользователя (во внерабочее время). Для этого, естественно, необходимо включить его компьютер, что можно сделать, не подходя к компьютеру. Современные сетевые карты могут выполнять удаленное пробуждение (remote wake up) или пробуждение по сети (wake on LAN). Принудительное администрирование может выполняться в ночные часы или в выходные даже без участия администратора – он может запускать процедуры через планировщик заданий. Пользователь, пришедший на работу на следующий день, получит массу впечатлений от обновленной версии ПО, если, конечно, накануне он предусмотрительно не обесточит свой компьютер механическим выключателем.

 

Интерфейс ACPI

Интерфейс ACPI (Advanced Configuration and Power Interface – расширенный интерфейс конфигурирования и питания) представляет собой довольно сложную комбинацию функций, часть из которых раньше возлагались на относительно независимые системы РпР (в части конфигурирования) и АРМ. Спецификация ACPI разработана фирмами Compaq, Intel, Microsoft, Phoenix и Toshiba для стандартизации механизмов OSPM (Operating System-directed configuration and Power Management), позволяющих операционной системе управлять конфигурированием и энергопотреблением устройств и компьютера в целом. ACPI определяет аппаратные и программные интерфейсы, а также наборы данных (таблицы).

В ACPI различают глобальные состояния системы (global system state) по следующим критериям: работают ли приложения, насколько длительна задержка их реакции на внешние события, каков уровень потребления, требуется ли перезагрузка ОС для возврата в рабочий режим, можно ли разбирать компьютер и можно ли входить в это состояние и выходить из него электронным способом (не механическим выключателем):

- G3 (Mechanical Off) – механическое отключение. Приложения не работают, потребления нет (кроме как от батарейки CMOS RTC), для перевода в рабочее состояние требуются механическое включение питания и загрузка ОС. Компьютер можно смело разбирать только в этом состоянии.

- G2/S5 (Soft Off) – программное отключение. Приложения не работают, потребление минимально, включиться в рабочее состояние может программно (и от кнопки), требуется загрузка ОС.

- G1 (Sleeping) – «сон», в котором компьютер кажется выключенным. Пользовательские процессы не исполняются, потребление малое, но переход в рабочее состояние может и не требовать загрузки ОС. Для этого весь контекст компьютера (состояние всех устройств и памяти) должен быть сохранен (большая часть – аппаратно, остальное – программно). Системная плата при этом получает «дежурное» питание, ее обесточивание ведет к потере контекста.

- GO, (Working) – рабочее состояние, в котором компьютер работает на полную мощность. При этом периферийные устройства могут динамически менять свое состояние, балансируя потребление в соответствии с требованиями по производительности.

 

Состояния потребления устройств (device power state) различаются по потребляемой мощности, сохраняемой части контекста устройства, действиям драйвера, необходимым для приведения устройства в рабочее состояние, и времени перевода в полностью рабочее состояние. За контекст устройства отвечает ОС, которая может восстановить теряемую часть, а то и полностью проинициализировать устройство, выполнив его сброс:

- D3 (Off) – полностью обесточенное и неработающее устройство, не хранящее никакого контекста и не декодирующее свой адрес. Для включения требует полной инициализации.

- D2 и D1 – состояния пониженного энергопотребления, специфичные для каждого класса устройств. Могут выполняться не все функции и сохраняться не весь контекст. В состоянии D2 потребление и объем выполняемых функций и сохраненного контекста меньше, чем в D1, а время, требуемое для перевода в рабочий режим – больше.

- DO (Fully-On) – полностью рабочее (активное) состояние, в котором устройство постоянно хранит весь свой контекст.

 

Глобальное состояние сна (G1) имеет набор градаций «глубины».

- S1 – неглубокий сон с быстрым пробуждением, весь контекст хранится в своих устройствах.

- S2 – состояние с почти таким же быстрым пробуждением, но контекст процессора и кэш-памяти в них самих не сохраняется (за его сохранение и восстановление отвечает ОС).

- S3 – состояние с небольшой задержкой пробуждения, в котором на системной плате информация сохраняется только в ОЗУ (процессор, кэш, чипсет и устройства ничего не помнят).

- S4 (Non-Volatile Sleep) – энергонезависимый сон. По команде перехода в это состояние выполняется полное сохранение контекста в файле или энергонезависимой памяти, сохраняется и маркер-указатель на сохраненный контекст. Когда устройство переходит в рабочее состояние из состояния G3 или G2, в начале загрузки ОС проверяется, имеется ли корректный сохраненный контекст. Если контекст есть, и конфигурация компьютера не изменилась (не изменился объем ОЗУ и на месте все несъемные устройства), то вместо перезагрузки выполняется восстановление контекста – все задания начнут работать с той точки, в которой их «отправили спать». «Спать» компьютер с сохраненным контекстом может сколь угодно долго (питание выключено).

- S5 (Soft Off) – состояние программного отключения, формально называемое сном, но, в отличие от состояния S4, никакой контекст не сохраняется. Введение этого состояния используется как признак, по которому при включении питания определяется, нужно ли искать сохраненный контекст для восстановления (после S4) или выполнять полную загрузку ОС (после S5).

 

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

- С0 – исполнение инструкций на полной скорости.

- С1 – понижение потребления с минимальной задержкой отработки обращений, такое что ОС и приложения не замечают отличия от СО.

- С2 – еще большее снижение потребления, задержка отработки обращений существенна, и для перехода в рабочее состояние требуются средства ACPI.

- СЗ – максимальное снижение потребления, состояние кэша сохраняется, но слежение не выполняется. Для обеспечения когерентности памяти после выхода из этого состояния требуются усилия со стороны ОС.

 

Для процессора и устройств различают состояния уровня производительности.

- Р0 – состояние максимальной производительности.

- Р1... Рn – состояния с убывающим уровнем производительности. Устройства могут поддерживать различное число уровней (n < 16).

 

Интерфейс ACPI предоставляет операционной системе возможность прямого (и эксклюзивного) управления потреблением (OSPM) и конфигурированием устройств системной платы. При запуске OSPM забирает эти функции от старых интерфейсов BIOS (АРМ BIOS, PnP BIOS) и берет на себя ответственность за обработку событий конфигурирования устройств системной платы, управление питанием, производительностью и температурным состоянием системы в соответствии с предпочтениями пользователя и требованиями приложений. Ниже перечислены области, охватываемые спецификацией ACPI:

- Управление питанием системы (G0 ... G2). ACPI определяет механизмы, переводящие компьютер (целиком) в спящее состояние и из него. Также определяется общий механизм, которым любое устройство может разбудить компьютер.

- Управление питанием устройств (D0 ... D3). Таблицы ACPI описывают устройства системной платы, их состояния потребления, питание подключенных к ним устройств и управляют переводом устройств в различные состояния потребления. Это позволяет ОС переводить устройства в состояние малого потребления в соответствии с используемыми приложениями.

- Управление питанием процессора. Когда ОС находится в состоянии ожидания (но не спит), она использует команды ACPI для перевода процессора в состояние минимального потребления (С0 ... СЗ).

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

- Plug-and-Play. ACPI определяет информацию, используемую для нумерации и конфигурирования устройств системной платы. Эта информация организуется иерархически так, что для событий вроде подключения и отключения док-станции или съемных устройств ОС точно и заранее узнает, на какие устройства эти события повлияют.

- Системные события. ACPI обеспечивает общий механизм оповещения, используемый для таких событий, как изменение температуры (перегрев каких-либо устройств), управление потреблением, подключение к док-стан-ции, установка и снятие съемных устройств и т. п. Механизм гибкий, он не задает жестких требований к способу сигнализации о событиях ядру логики чипсета.

- Управление батареями. Для этого устройство с батарейным (аккумуляторным) питанием должно иметь специальный интерфейс (Smart Battery или Control Methood Battery Interface), позволяющий следить за состоянием (уровнем зарядки/разрядки) батарей.

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

- Встроенные контроллеры. ACPI определяет стандартные аппаратные средства и программный интерфейс взаимодействия между шинным нумератором ОС и встроенными контроллерами1. Таким образом, стандартный драйвер позволяет ОС и приложениям использовать специфические возможности, предоставляемые встроенными контроллерами.

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

 

В режиме ACPI встроенное ПО устройств (firmware) и другое ПО не должны манипулировать конфигурированием системных ресурсов, потреблением, производительностью и термоконтролем независимо от OSPM. Всю ответственность за координацию в этих областях берет на себя OSPM. Однако для защиты от катастрофического перегрева (если быстродействия OSPM недостаточно) устройства могут иметь и локальные аварийные средства «пожаротушения». Они также должны выдавать сообщения ACPI (если, конечно, будет кому их принять – при катастрофическом перегреве многие процессоры просто автоматически выключаются).

Еще раз напомним, что требуется для реализации вышеописанных возможностей управления.

- Системная плата, аппаратно поддерживающая ACPI (естественно, в конструктиве АТХ, в котором предусмотрено программное включение-отключение питания).

- BIOS с поддержкой ACPI.

- Подключаемые к системной плате устройства, поддерживающие ACPI.

- ОС, поддерживающая ACPI (например, Windows 98/МЕ/2000).

 

Системные платы и устройства, поддерживающие РпР и АРМ, теперь считаются устаревшими.

 

 

Конфигурирование компьютера – CMOS Setup

 

Компьютеры могут иметь различный и изменяемый состав аппаратных средств, и многие их элементы требуют программного конфигурирования. Первые модели АТ-286, а также ряд компьютеров PS/2 и других «экзотических» моделей использовали внешнюю утилиту конфигурирования, загружаемую с диска. Параметры конфигурирования, установленные с помощью утилиты Setup, запоминаются в энергонезависимой памяти. Часть из них всегда хранится в традиционной памяти CMOS Memory, объединенной и с часами-календарем RTC (Real Time Clock). Другая часть волей разработчика может помещаться и в энергонезависимую (например, флэш) память (NVRAM). Помимо этой части статически определяемых параметров имеется область энергонезависимой памяти ESCD для поддержки динамического конфигурирования системы (РпР), которая может автоматически обновляться при каждой перезагрузке компьютера. Этот процесс динамического конфигурирования и является причиной «задумчивости» при перезагрузке даже мощных компьютеров, имеющих средства РпР, а также не всегда предсказуемого поведения программного обеспечения, вызванного изменением распределения ресурсов по инициативе той же системы РпР.

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

Меню утилиты Setup, способы перемещения по пунктам и выбора параметров зависят от наклонностей производителя и версии BIOS, но они понятны из краткого пояснения на экране. Нажатие клавиш F1 или Alt-*- Н вызывает краткую контекстную справку, обычно связанную с навигацией. Смысловых пояснений значения параметров она не дает. Состав управляемых параметров, детальность и гибкость управления варьируются от предельно подробных, в которых может запутаться и опытный пользователь, до предельно кратких. Что лучше – дело вкуса. Ниже приведем краткий обзор распространенных вариантов настройки. В конкретной версии они представлены, конечно же, лишь выборочно. Некоторые параметры могут называться и не совсем так, как указано в описании, но быть созвучными (в английском варианте). За более чем двадцатилетний период развития PC некоторые термины получили новое значение – если раньше под типом микросхем памяти (DRAM Туре) подразумевали объем микросхем (64К, 25К, 1М), то теперь это действительно тип (FPM, EDO, BEDO, SDRAM, DDR(2) SDRAM, RDRAM). В связи с этим возможно двоякое толкование некоторых параметров, но нельзя объять необъятное и перечислить все существующие на сей день параметры.

 

 


Дата добавления: 2020-04-25; просмотров: 512; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!