Apic для многопроцессорных систем

Boot Failure Guard что это за пункт в биосе?

Технология есть на материнках AsRock, может и на других также присутствует. И вроде как технология включена по умолчанию для всех плат AsRock.

Я написал о технологии, скорее всего пункт в биосе имеет такое же значение.

Есть еще настройка Boot Failure Guard Count — позволяет задать количество попыток загрузиться после изменения настроек для разгона. Например можно указать значение 2 — это означает, что если материнка 2 раза пыталась загрузиться и ничего не получилось, то она сбивает настройки биоса и загружается уже с безопасными настройками. Как по мне — полезная функция.

На заметку. Boot Failure Guard Count переводится — подсчет очков сбоев при загрузке (дословно). Boot Failure Guard — защита от сбоев при загрузке

  • По умолчанию Boot Failure Guard Count может быть или отключен или указано 3 попытки.
  • Чтобы выключить совсем — выставите в Boot Failure Guard значение Disabled.
  • Опции обычно находятся в разделе Boot.

Мой вывод об использовании Boot Failure Guard:

  1. Boot Failure Guard стоит включать если вы занимаетесь разгоном. Если система не заведется после ваших настроек, то функция откроет биос с оптимальными настройками (либо выдаст запрос на их применение).
  2. Boot Failure Guard Count — лучше не ставить больше двух, чтобы не испытывать железо. Если система не заводится с первого раза — мое мнение что настройки небезопасны, то есть вряд ли с такими настройками железо будет работать стабильно. Синие экраны, зависания, BSOD — все это спокойно может быть. Не стоит ставить настройки так бы сказать на пределе.
  3. При увеличении частоты не забывайте что устройство будет работать выше нормы. Греться будет также выше нормы. Поэтому вопрос об охлаждении нужно заранее продумать.

При возникновении проблем, если что-то настроили и забыли что, если система сбоит, зависает и есть подозрение что все это из-за настроек биоса — сбросьте настройки при помощи Load Optimal Defaults. Пункт обычно находится в разделе Exit (выход).

Programming with the 8259 PIC

Each chip (master and slave) has a command port and a data port (given in the table below). When no command is issued, the data port allows us to access the interrupt mask of the 8259 PIC.

Chip — Purpose I/O port
Master PIC — Command 0x0020
Master PIC — Data 0x0021
Slave PIC — Command 0x00A0
Slave PIC — Data 0x00A1
  • Each PIC vector offset must be divisible by 8, as the 8259A uses the lower 3 bits for the interrupt number of a particular interrupt (0..7).
  • The only way to change the vector offsets used by the 8259 PIC is to re-initialize it, which explains why the code is «so long» and plenty of things that have apparently no reasons to be here.
  • If you plan to return to real mode from protected mode (for any purpose), you really must restore the PIC to its former configuration.

Real Mode

Chip Interrupt numbers (IRQ) Vector offset Interrupt Numbers
Master PIC 0 to 7 0x08 0x08 to 0x0F
Slave PIC 8 to 15 0x70 0x70 to 0x77

These default BIOS values suit real mode programming quite well; they do not conflict with any CPU exceptions like they do in protected mode.

Protected Mode

In protected mode, the IRQs 0 to 7 conflict with the CPU exception which are reserved by Intel up until 0x1F. (It was an IBM design mistake.) Consequently it is difficult to tell the difference between an IRQ or an software error. It is thus recommended to change the PIC’s offsets (also known as remapping the PIC) so that IRQs use non-reserved vectors. A common choice is to move them to the beginning of the available range (IRQs 0..0xF -> INT 0x20..0x2F). For that, we need to set the master PIC’s offset to 0x20 and the slave’s to 0x28. For code examples, see below.

Управление блоком питания ATX

Рассмотрим процессы, происходящие при выполнении вышеописанной программы, на уровне принципиальной элек­т­ри­че­ской схемы. Разумеется, в каждой материнской плате, в зависимости от модели чипсета, микросхемы MIO (Multi Input/Output) и других факторов, рассматриваемый узел реализован по-своему.

Для определенности возьмем частный случай — материнские платы, использующие Южный мост Intel ICH6, опи­сан­ный в (это платы на чипсетах Intel 915 и 925) и микросхему MIO Winbond W83627THF, описанную в .

Ядро Power Management контроллера, а именно, логика, принимающая решение о включении и выключении пи­та­ния находится в составе Южного моста чипсета. Здесь же расположен программно-доступный регистр PM1_CNT_BLK, ис­поль­зу­е­мый в приведенном примере для выключения питания. Обеспечение интерфейса Po­wer Man­­a­ge­ment кон­т­рол­ле­ра с внешним миром входит в обязанности микросхемы MIO. В ее составе находится схема опроса кнопки Po­wer Switch, которая, получив сигнал от кнопки, транслирует его Power Management контроллеру (ICH6). Также в составе MIO находится формирователь сигнала PS_ON для блока питания ATX. При получении соответствующего приказа от ICH6, микросхема MIO выдает сигнал PS_ON=0, что приводит к включению блока питания.

Что происходит при выполнении нашей программы? Запись в регистр PM1_CNT_BLK 16-битного слова, у ко­то­ро­го бит 13 (Sleep Enable) установлен в «1», а значение битового поля Sleep_Type соответствует ACPI-со­сто­я­нию S5 (состояние Soft-Off) является приказом для ICH6 начать процедуру выключения питания. ICH6 вы­дает сигнал SLP_S3# (контакт с координатами T4). Он приходит на вход SLP_Sx (контакт 73) микросхемы MIO W83627THF. В результате микросхема W83627THF выдает логическую «1» на выход PWCTL# (контакт 72) и блок питания выключается. Этот вы­ход под­клю­чен к ли­нии PS_ON блока питания. В зависимости от схе­мо­тех­ни­ки платы, подключение выполняется на­пря­мую или че­рез бу­фер­ный по­вто­ри­тель.

Другие примеры реализаций микросхем Южных мостов и MIO приведены в , , , , .

При рассмотрении работы блока питания, не следует путать сигналы PS_ON и PWR_OK. Сигнал PS_ON (Power Supply On) используется для включения блока питания ATX. Это входной сигнал для блока питания и вы­ход­ной сигнал для материнской платы. При логическом «1» на этой линии, блок питания выключен (ра­бо­та­ет только дежурный источник +5V Standby, необходимый для схемы управления питанием). При ло­ги­че­ском «0» на этой линии блок пи­та­ния вклю­чен, вы­да­ют­ся все выходные напряжения. Сигнал PWR_OK (Po­wer OK, синоним Power Good) используется для за­пус­ка ма­те­рин­ской платы при включении питания и бло­ки­ров­ки работы ее устройств на время переходных процессов при включении и выключении питания. Это вход­ной сигнал для материнской платы и выходной сигнал для блока питания. Логический «0» на этой линии рав­но­си­лен нажатию кнопки RESET. При этом все устройства зафиксированы в со­сто­я­нии сбро­са. При вклю­че­нии питания, в течение нескольких миллисекунд, сигнал PWR_OK=0, это обеспечивает за­пуск ком­пью­те­ра и пре­пят­ст­ву­ет выполнению каких-либо операций до стабилизации питания. При вы­клю­че­нии пи­та­ния, во вре­мя пе­ре­ход­но­го про­цес­са, сигнал PWR_OK также переходит в состояние логического «0». Во время ра­бо­че­го се­ан­са на этой ли­нии при­сут­ст­ву­ет ло­ги­че­ская «1». Подробности в , .

Стоит ли включать опцию?

Поддержка APIC со стороны операционной системы обуславливает и целесообразность включения или выключения опции ACPI APIC Support. Если у вас на компьютере установлены старые версии ОС, такие, как Microsoft DOS, Microsoft Windows 95, Windows 98, Windows Millenium (до Windows NT), то имейте в виду, что они не поддерживают APIC и разработаны с расчетом на работу с устаревшим контроллером прерываний PIC. Из этого следует, что велика вероятность того, что эти операционные системы будут нестабильно работать с включенной опцией поддержки контроллера APIC, или не будут работать вообще. Если такое происходит, и вы уверены в том, что проблемы с операционными системами происходит из-за включенной поддержки улучшенного контроллера прерываний APIC, то вам стоит выключить данную опцию.

При отключении опции контроллер APIC будет работать, эмулируя контроллер 8259 PIC, и, таким образом, старые операционные системы смогут работать, обращаясь к нему. Если же у вас установлена современная операционная система, начиная с Windows 2000, то вы можете смело включить эту опцию, поскольку поддержка технологии APIC сделает вашу систему более производительной. Кроме того, обязательной является включение данной опции в системе, где установлено несколько процессоров.

Данную опцию с таким обозначением можно встретить на довольно старых материнских платах 2008-2014 годов выпуска. В зависимости от производителя материнской платы и версии BIOS возможны следующие варианты ее названий:

  • ACPI APIC Support;
  • APIC — IO APIC Mode;
  • APIC Function;
  • Interrupt Mode;
  • IOAPIC Enable;
  • IOAPIC Function.

Все это названия одной и той же опции, отвечающей за активацию расширенного контроллера прерываний — APIC. Что это такое вы узнаете ниже.

Принцип работы

Опция, в зависимости от версии BIOS предлагает пользователю установить значения S1 или S3, подразумевающие различные варианты функционирования режима энергосбережения Suspend, доступного на материнских платах, поддерживающих технологию программного управления питанием ACPI. В некоторых BIOS присутствует также режим работы S1&S3, при котором может использоваться как вариант S1, так и S3.

Разберемся с тем, что означают варианты S1 и S3. S1 означает использование варианта PowerOn-Suspend. В этом варианте при включении режима Suspend происходит выключение жесткого диска и монитора, а также некоторых плат расширения. Все же остальные компоненты компьютера, в том числе и центральный процессор, работают в прежнем режиме, если не считать того, что компьютер понижает их рабочие частоты. При выходе из режима PowerOn-Suspend компьютер уже через несколько секунд становится готовым к работе.

Второй вариант S3 означает использование режима энергосбережения Suspend to RAM. В этом случае, помимо дисков и плат расширения, отключаются и все остальные устройства компьютера, кроме оперативной памяти (RAM). В саму же оперативную память записывается информация о состоянии системы. Таким образом, режим энергопотребления S3 позволяет сэкономить гораздо больше энергии, нежели S1.

Однако у режима Suspend to RAM есть и один существенный недостаток – дело в том, что компьютер выходит  из такого варианта спящего режима несколько дольше, чем из PowerOn-Suspend.

Опция S1&S3, доступная в некоторых версиях BIOS, дает возможность задействовать один из этих двух вариантов. В этом случае операционная система сама может выбрать нужный вариант энергосбережения.

Режимы Suspend to RAM и PowerOn-Suspend не стоит путать с функциями Hybernate и Suspend to Disk. Эти функции не являются режимами энергосбережения, они лишь позволяют пользователю сохранить текущий сеанс работы на жесткий диск перед выключением питания компьютера и возобновить его после включения питания.

вопросы

Существует ряд известных ошибок в реализации систем APIC, особенно в отношении того, как подключен 8254 . Дефектные BIOS могут неправильно настроить маршрутизацию прерываний или предоставлять неверные таблицы ACPI и таблицы Intel MultiProcessor Specification (MPS).

APIC также может быть причиной сбоя системы, если операционная система не поддерживает его должным образом. В старых операционных системах часто приходилось отключать I / O и локальные APIC. Хотя это больше невозможно из-за преобладания симметричных многопроцессорных и многоядерных систем, ошибки в прошивке и операционных системах сейчас редкость.

Расширенный контроллер прерываний — APIC

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

Контроллер прерываний — это специальный чип, расположенный на материнской плате, отвечающий за обработку этих самых прерываний.

До 90-х годов прошлого века этот контроллер обозначался PIC (Programmable Interrupt Controller), пока на смену ему не пришел более продвинутый APIC (Advanced Programmable Interrupt Controller), разработанный компанией Intel.

Теперь он стал сложнее. Одна из его составных частей располагается прямо в процессоре. Но и функционал зато расширился.

Так вот опция APIC Mode активирует работу контроллера прерываний в продвинутом режиме APIC. (Хотя на сегодняшний день это является необходимым минимумом).

Принцип работы

Чтобы уяснить принцип работы этой опции, следует разобраться с тем, для чего вообще нужен контроллер прерываний. Контроллер прерываний – это расположенный на материнской плате чип, который обрабатывает запросы к процессору, поступающие от аппаратных устройств, таких, как платы, вставленные в разъемы расширения, накопители, порты, и т.д. Эти запросы и называются аппаратными прерываниями.

APIC представляет собой новую версию контроллера прерываний, которая в 90-х гг. пришла на смену широко использовавшемуся до этого PIC. Контроллер APIC был разработан компанией Intel и впервые стал применяться в персональных компьютерах на базе процессора Pentium. Аббревиатура APIC расшифровывается, как Advanced Programmable Interrupt Controller – улучшенный программируемый контроллер прерываний.

Контроллер прерываний APIC предназначен для обработки аппаратных прерываний, поступающих от устройств и состоит из двух основных компонентов – это так называемый контроллер локального APIC (Local APIC или LAPIC), располагающийся в самом процессоре (точнее говоря, в каждом процессорном ядре) и чип контроллера ввода/вывода APIC(I/O APIC), располагающийся на материнской плате. Таким образом, количество локальных контроллеров прерываний LAPIC соответствует количеству процессорных ядер, установленных в компьютере.

Связь между обоими контроллерами осуществляется по системной шине, хотя во многих старых компьютерах для этой цели существовала специальная шина. Кроме того, раньше, до появления процессоров семейства Pentium поколения P54C, LAPIC находился не в самом центральном процессоре, а располагался в виде отдельного микроконтроллера на материнской плате. Контроллеров I/O APIC в системе также может быть несколько – до 8 штук. Если в системе нет ни одного I/O APIC, то контроллеры LAPIC вообще не используются, независимо от того, присутствуют ли они в ядрах процессора или нет, и вместо них обработкой прерываний занимается старый контроллер 8259 PIC.

Внедрение улучшенного контроллера прерываний позволило усовершенствовать обработку аппаратных прерываний, а кроме того, увеличило количество доступных в системе прерываний. Стандартное количество прерываний для I/O APIC составляет 24, а максимальное – 64. Таким образом, APIC существенно расширил возможности персонального компьютера по обработке аппаратных прерываний, ведь до внедрения технологии APIC контроллер PIC поддерживал всего лишь 16 прерываний.

Кроме того, поддержка APIC является составной частью технологии ACPI (Advanced Configuration and Power Interface, модернизированный интерфейс конфигурирования и питания).

Технология APIC разрабатывалась преимущественно для работы на многопроцессорных системах, там, где требуется надежная система для распределения аппаратных прерываний, идущих от устройств к процессорам. На сегодняшний день система контроллеров LAPIC используется как на однопроцессорных, так и на многопроцессорных системных платах компьютеров.

Следует помнить, однако, что для того, чтобы технология APIC работала, требуется и поддержка со стороны программного обеспечения, прежде всего, операционных систем. Все современные операционные системы, такие как Microsoft Windows XP, Windows Vista, Windows 7 и 8, поддерживают контроллер APIC.

Стоит ли включать опцию?

Поддержка APIC со стороны операционной системы обуславливает и целесообразность включения или выключения опции ACPI APIC Support. Если у вас на компьютере установлены старые версии ОС, такие, как Microsoft DOS, Microsoft Windows 95, Windows 98, Windows Millenium (до Windows NT), то имейте в виду, что они не поддерживают APIC и разработаны с расчетом на работу с устаревшим контроллером прерываний PIC. Из этого следует, что велика вероятность того, что эти операционные системы будут нестабильно работать с включенной опцией поддержки контроллера APIC, или не будут работать вообще. Если такое происходит, и вы уверены в том, что проблемы с операционными системами происходит из-за включенной поддержки улучшенного контроллера прерываний APIC, то вам стоит выключить данную опцию.

При отключении опции контроллер APIC будет работать, эмулируя контроллер 8259 PIC, и, таким образом, старые операционные системы смогут работать, обращаясь к нему. Если же у вас установлена современная операционная система, начиная с Windows 2000, то вы можете смело включить эту опцию, поскольку поддержка технологии APIC сделает вашу систему более производительной. Кроме того, обязательной является включение данной опции в системе, где установлено несколько процессоров.

Опция ACPI APIC support включает поддержку контроллера прерываний APIC со стороны ACPI.

Disabled (или PIC) – отключить поддержку расширенного контроллера прерываний APIC. Используется стандартный контроллер прерываний;

Enabled (или APIC) – включить поддержку расширенного контроллера прерываний APIC.

Опция также может иметь другие названия:

APIC

APIC Mode

APIC Select

APIC Interrupt Mode

APIC Function

IOAPIC Enable

IOAPIC Function

Interrupt Mode

Примечание 1. ACPI (Advanced Configuration and Power Interface) – это стандарт (спецификация), определяющий способы программного управления электропитанием компонентов компьютера с помощью встроенных средств ОС (операционной системы). Другими словами данная технология предназначена для управления состоянием персонального компьютера и энергопотреблением его компонентов.

Более подробно о том, что такое ACPI Вы можете найти здесь.

Примечание 2. APIC (Advanced Programmable Interrupt Controller) – расширенный программируемый контроллер прерываний, позволяющий использовать 24 аппаратных прерываний вместо 16.

I / O APIC

APIC ввода-вывода содержат таблицу перенаправления, которая используется для маршрутизации прерываний, которые он получает от периферийных шин, к одному или нескольким локальным APIC. Ранние APIC ввода-вывода (например, 82489DX, SIO.A и PCEB / ESC) поддерживали только 16 линий прерывания, но более поздние, такие как 82093AA (отдельный чип для PIIX3 / PIIX4), поддерживали 24 линии прерывания. Он был упакован как 64-контактный PQFP . 82093AA обычно подключается к PIIX3 / PIIX4 и использует свои интегрированные устаревшие PIC 8259. реинтегрированы ввода / вывода APIC, как PIIX предшественника SIO.A (для ISA) и PCEB / ESC (для EISA).

Согласно тесту Intel 2009 года с использованием Linux , APIC ввода-вывода уменьшил задержку прерывания почти в три раза по сравнению с эмуляцией 8259 (XT-PIC), в то время как использование MSI уменьшило задержку еще больше, почти в семь раз относительно к базовому уровню XT-PIC.

Как это работает?

Рассмотрим абстрактный пример. Пусть для выполнения заданного действия не­об­ходимо записать в регистр по ад­ре­су X данные Y. При использовании под­хо­да, основанного на вызове сервисных процедур BIOS, в вы­пол­ня­е­мом блоке BIOS будет раз­ме­ще­на процедура, которая осу­щест­вля­ет указанную запись. Задача опе­ра­ци­онной системы — просто вызвать эту процедуру. В данном случае, осо­бен­нос­ти реализации кон­крет­но­го чип­се­та, если таковые имеются, скры­ты вну­три BIOS и не являются заботой разработчика ОС.

Второй вариант — ОС не обращается к BIOS и выполняет указанную запись са­мо­стоятельно. В этом случае, драй­вер на­пря­мую вза­и­мо­дей­ст­ву­ет с ре­гист­ра­ми чипсета, распознает и эффективно использует его воз­мож­но­с­ти. Но рас­пла­та за это — усложнение и ограниченная совместимость. Как известно, под каж­дый чип­сет нужен свой драйвер.

Разработчикам ACPI удалось придумать третий вариант. Численные значения X и Y, отражающие ос­обен­нос­ти ре­а­ли­за­ции конкретной платформы, хра­нят­ся в спе­ци­аль­ных таблицах, которые генерирует BIOS при стар­те и размещает в опе­ра­тив­ной памяти. Для этого, как правило, используется последний мегабайт верх­ней памяти. Опе­ра­ци­он­ная сис­те­ма находит и считывает эти параметры. Про­це­ду­ра записи в регистр по ад­ре­су X данных Y является частью ОС, а не BIOS, но параметры X и Y предоставляет BIOS посредством таб­лиц ACPI.

Какие преимущества это дает? Таблицы ACPI, в отличие от сервисных про­це­дур BIOS, не содержат вы­пол­ня­е­мо­го ко­да, поэтому независимо от архитектуры про­цессора и режима его работы, можно использовать одни и те же таблицы. Что­бы оце­нить это преимущество, вспомним о неудобствах, связанных с тем, что боль­шин­ст­во функций BIOS могут быть вызваны только в реальном режиме про­цес­со­ра (Real Mode). Функции, до­ступ­ные в защищенном режиме (Pro­tect­ed Mo­­de) должны иметь несколько точек входа (для Real Mode, Prot­ect­ed Mode 16, Pro­tect­ed Mode 32).

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

Таким образом, таблицы ACPI обеспечивают эффективное использование BIOS для информирования прог­рам­мно­го обеспечения об особенностях кон­крет­ной платформы. При этом отсутствуют неудобства, свя­зан­ные с ис­поль­зо­ва­ни­ем сер­ви­с­ных процедур BIOS.

Интегрированные локальные APIC

Локальные APIC (LAPIC) управляют всеми внешними прерываниями для определенного процессора в системе SMP. Кроме того, они могут принимать и генерировать межпроцессорные прерывания (IPI) между LAPIC. LAPIC могут поддерживать до 224 используемых векторов прерываний от APIC ввода-вывода. Номера векторов от 0 до 31, от 0 до 255, зарезервированы для обработки исключений процессорами x86.

Все процессоры Intel, начиная с микроархитектуры P5 ( P54C ), имеют встроенный локальный APIC. Однако, если локальный APIC отключен в процессоре P5, он не может быть повторно включен программным обеспечением; это ограничение больше не существует в процессорах P6 и более поздних версиях.

Функция прерывания с сигнализацией сообщений (MSI) спецификации PCI 2.2 и более поздних версий не может использоваться без включения локального APIC. Использование MSI устраняет необходимость в APIC ввода-вывода. Кроме того, в режиме MSI поддерживается до 224 прерываний, а совместное использование IRQ не допускается.

Таймер APIC

Еще одно преимущество локального APIC заключается в том, что он также предоставляет таймер с высоким разрешением (порядка одной микросекунды или лучше), который можно использовать как в интервальном, так и в одноразовом режиме.

У таймера APIC были свои первые проблемы с приемкой. В документе Microsoft от 2002 года (который выступал за принятие вместо него высокоточного таймера событий ) критиковался таймер LAPIC за «плохое разрешение» и утверждается, что «микросхема часов иногда очень глючит». Тем не менее, таймер APIC используется, например, в Windows 7, когда профилирование включено, и в Windows 8 при любых обстоятельствах. (До того, как Windows 8 заявила об исключительных правах на этот таймер, он также использовался некоторыми программами, такими как CPU-Z .) В Microsoft Windows таймер APIC не является общим ресурсом.

Апериодические прерывания, предлагаемые таймером APIC, используются функцией ядра Linux без тиков
. Эта необязательная, но стандартная функция появилась в версии 2.6.18. Когда он включен на компьютере с таймером APIC, ядро ​​не использует программируемый интервальный таймер 8253 для хронометража. В документе VMware отмечается, что «у программного обеспечения нет надежного способа определения его частоты. Как правило, единственный способ определить частоту локального таймера APIC — это измерить ее с помощью таймера PIT или CMOS, который дает только приблизительный результат».

Что за ошибка APCI в биосе

Как мы уже отмечали, APCI заботится о правильном функционировании запуска и выключения нашего ПК. Если на синем экране появляется сообщение об ошибке ACPI_BIOS_ERROR, это может сопровождаться принудительной перезагрузкой системы. Эта ошибка вызовет система, чтобы остановить некоторые функции, которые нельзя использовать в обычном режиме, замедляет работу Windows, а также блокирует программу, идентифицированную с ошибкой 0xA5 или Error STOP 0xA5: ACPI_BIOS_ERROR

К тому же эти типы ошибок могут даже запретить запуск Windows 10 , поэтому важно решить ее как можно скорее

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

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

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

Adblock
detector