[Материнская плата] Основные Qcode / Q-code / Post коды для плат ASUS
Отсканируйте QR-код, чтобы открыть эту страницу на вашем смартфоне.
Основные Qcode / Q-code / Post коды для плат ASUS
Если на дисплее вашей платы отобразился Q-Code, вы можете обратиться к таблице ниже и ознакомиться с описанием Qcode и статуса системы.
Таблица также представлена в руководстве пользователя.
QCode / Q-code
Описание
Включено. Обнаружен сброс параметров (программный/аппаратный).
AP инициализация перед загрузкой микрокода
Инициализация системного агента перед загрузкой микрокода
PCH инициализация перед загрузкой микрокода
AP инициализация после загрузки микрокода
Инициализация системного агента после загрузки микрокода
PCH инициализация после загрузки микрокода
Инициализация после загрузки микрокода
Зарезервировано для будущих кодов ошибок AMI SEC.
Микрокод не найден
Микрокод не загружен
PEI Core запущен
Запущена инициализация CPU до памяти
Предварительная инициализация системного агента памяти запущена
Запущена инициализация PCH памяти
Инициализация памяти запущена
Тренинг памяти (только на серии плат X299)
Зарезервировано для ASL
CPU инициализация памяти
Запущена инициализация системного агента после памяти
Инициализация PCH после запуска памяти
Запущена DXE IPL
Ошибка инициализации памяти. Неверный тип памяти или несовместимая скорость памяти
Неопределенная ошибка инициализации памяти
Память не установлена
Неверный тип процессора или скорость
Сбой самопроверки процессора или возможная ошибка кэша
Микрокод ЦП не найден или обновление микрокода не выполнено
Ошибка встроенного процессора
Сброс PPI недоступен
Зарезервировано для будущих кодов ошибок AMI
S3 возобновление запуска (S3 возобновление PPI вызывается DUX IPL)
S3 выполнение загрузочного скрипта
OS S3 вектор вызова
Зарезервировано для будущих кодов прогресса AMI
S3 ошибка резюме
S3 резюме PPI не найдено
S3 ошибка загрузочного скрипта
S3 OS Wake ошибка
Зарезервировано для будущих кодов ошибок AMI
Состояние восстановления вызвано прошивкой (Авто восстановление)
Состояние восстановления, вызванное пользователем (принудительное восстановление)
Процесс восстановления начался
Образ прошивки восстановления найден
Загружен образ восстановления
Зарезервировано для будущих кодов прогресса AMI
Восстановление PPI недоступно
Капсула восстановления не найдена
Неверная капсула восстановления
Зарезервировано для будущих кодов ошибок AMI
DXE Core запущен
Установка PCH Runtime Services
Процесс инициализации DXE запущен
Инициализация моста хоста PCI
Инициализация DXE системного агента запущена
Инициализация системного агента DXE SMM запущена
Инициализация DXE системного агента (зависит от модуля системного агента)
Начата инициализация PCH DXE
Инициализация PCH DXE SMM запущена
Инициализация устройств PCH
Инициализация PCH DXE (PCH модуль)
Инициализация модуля ACPI
Зарезервировано для будущих кодов AMI DXE
Начата фаза выбора загрузочного устройства (BDS)
Подключение драйвера запущено
Инициализация шины PCI начата
Инициализация контроллера горячей замены шины PCI
Перечисление шины PCI
Ресурсы для запроса шины PCI
Ресурсы шины PCI
Устройства консольного вывода подключаются
Подключите консольные устройства ввода
Инициализация Super IO
USB запуск инициализации
Зарезервировано для будущих кодов AMI
IDE запуск инициализации
SCSI запуск инициализации
Настройка Проверочного пароля
Зарезервировано для ASL
Настройка входа ожидания
Зарезервировано для ASL
Готов к загрузке
Событие Legacy Boot
Событие Exit Boot Services
Запуск настройки виртуального адреса MAP начат
Запуск настройки виртуального адреса MAP завершено
Инициализация устаревшего дополнительного ПЗУ
USB горячее подключение
замена шины PCI
Сброс конфигурации (сброс настроек NVRAM)
Зарезервировано для будущих кодов AMI
CPU ошибка инициализации
Ошибка инициализации системного агента
PCH ошибка инициализации
Некоторые из архитектурных протоколов недоступны
Ошибка выделения ресурсов PCI. Вне ресурсов
Нет места для устаревшего дополнительного ПЗУ
Устройства консольного вывода не найдены
Устройства консольного ввода не найдены
Ошибка загрузки Boot Option (ошибка возврата LoadImage)
Не удалось запустить загрузочное устройство
Не удалось обновить Flash
Сброс протокола недоступен
Эта информация была полезной?
Что мы можем сделать, чтобы улучшить эту статью?
- Приведенная выше информация может быть частично или полностью процитирована с внешних веб-сайтов или источников. Пожалуйста, обратитесь к информации на основе источника, который мы отметили. Пожалуйста, свяжитесь напрямую или спросите у источников, если есть какие-либо дополнительные вопросы, и обратите внимание, что ASUS не имеет отношения к данному контенту / услуге и не несет ответственности за него.
- Эта информация может не подходить для всех продуктов из той же категории / серии. Некоторые снимки экрана и операции могут отличаться от версий программного обеспечения.
- ASUS предоставляет вышеуказанную информацию только для справки. Если у вас есть какие-либо вопросы о содержании, пожалуйста, свяжитесь напрямую с поставщиком вышеуказанного продукта. Обратите внимание, что ASUS не несет ответственности за контент или услуги, предоставляемые вышеуказанным поставщиком продукта.
- Support
Продукты и информация
- Ноутбуки
- Сетевое оборудование
- Материнские платы
- Видеокарты
- Смартфоны
- Мониторы
- Показать все продукты
-
Item_other —>
- Моноблоки (All-in-One)
- Планшеты
- Business Networking
- Серия ROG
- AIoT и промышленные решения
- Блоки питания
- Проекторы
- VivoWatch
- Настольные ПК
- Компактные ПК
- Внешние накопители и оптические приводы
- Звуковые карты
- Игровое сетевое оборудование
- Одноплатный компьютер
- Корпуса
- Компьютер-брелок
- Наушники и гарнитуры
- Охлаждение
- Chrome-устройства
- Коммерческие
Ap инициализация перед загрузкой микрокода что это
С высоты птичьего полета процесс загрузки UEFI выглядит так: 
Вообще говоря, нас интересует не весь это процесс, а его часть — Platform Initialization (PI), которая делится на 3 фазы: SEC , PEI и DXE .
Всю документацию по PI можно свободно загрузить с сайта UEFI Forum. Фазы SEC и PEI описаны в Volume 1, фаза DXE — в Volume 2, общие архитектурные элементы, в том числе интересующие нас форматы файлов и заголовков EFI FFS — в Volume 3, субфаза SMM (стартует в середине DXE и идет параллельно) — в Volume 4, стандарты на совместимое с PI оборудование и ПО — в Volume 5. Про оборудование и ПО здесь я писать не стану, а вот остальные фазы нужно упомянуть, т.к. не зная их, сложно понять, зачем в файле BIOS’а столько всего и чем это всё отличается друг от друга.
- Обработать все виды platform restart’ов: включение питания после неактивного состояния, перезагрузка из активного состояния, выход из режима глубокого сна, различного рода исключительные ситуации
- Подготовить временную память
- Стать Root of Trust системы: или доверять остальным частям PI, или проверить их валидность каким-либо способом
- Подготовить необходимые структуры данных и передать их и управление в фазу PEI. Как минимум, передаются состояние платформы, адрес и размер BFV , адрес и размер временной RAM, адрес и размер стека
- Reset Vector: сброс кэша и переход на главную процедуру иницилизации в ROM
- Switch to protected mode: переключение в защищенный режим процессора с плоской памятью без подкачки
- Initialize MTRRs for BSP: запись в кэш известных значений для различных областей памяти
- Microcode Patch Update: обновление микрокода всех доступных процессоров
- Initialize NEM : свободный кэш помечается как несбрасываемый, после чего его можно использовать как временную RAM до инициализации основной, а также позволяет написать эту самую инициализацию на обычных ЯП со стеком, в данном случае на C
- Early BSP /AP interactions: отправка всем AP прерывания INIT IPI , затем Start-up IPI, получение данных BIST со всех AP
- Hand-off to PEI entry point: передача управления и данных в фазу PEI
- Establish use of «memory»: перенос данных из ROM в раннюю RAM (т.е. в кэш)
- PEI Dispatcher: запуск модулей PEIM в порядке от не имеющих зависимостей до имеющих сложные зависимости. Это цикл, который заканчивается в момент, когда не запущенных модулей не остается
- CPI PEIM: инициализация CPU, настройка MSR и т.п. (Мы вернемся к этому модулю при обсуждении патча CPU PM)
- Platform PEIM: ранняя инициализация MCH , ICH , встроенных интерфейсов платформы (SMBus , Reset, и т.п.). Определение режима загрузки (обычный, Recovery, S3 Resume), используя данные, полученные в фазе SEC.
- Memory Initialization PEIM: инициализация основной RAM и перенос в нее данных из кэша, которым теперь можно пользоваться нормально. процесс зависит от определенного на предыдущем шаге состояния системы, например, при S3 Resume тестирование памяти не выполняется, что сокращает время загрузки
- Если система не находится в S3 Resume, то происходит передача HOB’ов и управления в фазу DXE, а фаза PEI на этом завершается
- Если все же находится — выполняется CPU PEIM for S3 Boot Script, выполняющий возврат всех процессоров в их сохраненное состояние
- S3 Boot Script Executor: восстановление состояния других устройств
- OS Resume Vector: переход к ОС
Cубфаза SMM
Completing the CAPTCHA proves you are a human and gives you temporary access to the web property.
What can I do to prevent this in the future?
If you are on a personal connection, like at home, you can run an anti-virus scan on your device to make sure it is not infected with malware.
If you are at an office or shared network, you can ask the network administrator to run a scan across the network looking for misconfigured or infected devices.
Another way to prevent getting this page in the future is to use Privacy Pass. You may need to download version 2.0 now from the Chrome Web Store.
Cloudflare Ray ID: 71af02b519be997a • Your IP : 82.102.23.104 • Performance & security by Cloudflare
Ap инициализация перед загрузкой микрокода что это
ROG Maximus IV Gene-Z/Gen 3
i7 2700k
4×4 Gb Corsair Vengance LP RAM
Coolermaster V8 CPU Cooler
ASUS GTX580 DirectCu
Fatality 750W power supply
2x 1Tb Hitachi 7k1000D
2x Samsung DVD writers
Icy Box front bay card reader
Corsair 500R
If i clear CMOS i can get it to turn on again and i see the splash screen but then i get stuck in the same vicious circle where it wont turn on after exiting BIOS.
Hoping someone on here know how to fix this or if i need to replace the board, which i really don’t want to have to do.
All tips and help are greatly appreciated
Well, I’m no expert, and I wouldn’t wrote me perfectly, but from what I’m seeing, your set up looks like it might not have enough juice from your Psh to power everything. I would personally try getting it to boot using on board graphics and pull off my video card. Is say this would be a very quick and easy test.
If you monitor doesn’t support hdmi, just plug it into a tv with hdmi in and see if it will do anything different.
Again, I’m no expert, just stating what I’m seeing.
check if every power plug, fan plug is connected in the right place and try with one memory stick only.
if it still don’t start or u get a another code look that up. if no other code appears try «Mem Ok» button.
I’ve tried the memOK button before and that had no help either.
The power supply should be plenty good enough but i will try removing the graphics card and then again with only 1 stick of RAM
ok so i removed the graphics card and 3 sticks of RAM and i still have the same problem.
take ur cpu out, and check the 1155 pins, if nuth wrong mount ur cpu again and maybe try another psu.
and remember to use the 8pin v12 connector at the top of the board together with all 24pins for power.
OK I’ve removed the CPU and all pins look fine and nothing wrong on the bottom of the CPU either.
Sadly i don’t have another power supply to test with.
Would it make any difference using the 8pin or the 4+4 pin connector to the CPU?
the extra four pin should be to oc but i have always used it, even at stuck speed.
Проблемы с загрузкой ПК
для начинающих пользователей
на страницах сайта
www.electrosad.ru
Как это работает
После включения компьютера в его оперативной памяти нет операционной системы. А без операционной системы, аппаратное обеспечение компьютера не может выполнять сложные действия, такие как, например, загрузку программы в память. Таким образом возникает парадокс, который кажется неразрешимым: для того, чтобы загрузить операционную систему в память, мы уже должны иметь операционную систему в памяти.
Решением данного парадокса является использование нескольких микропрограмм размещаемых в одной или нескольких микросхемах, BIOS (Basic Input/Output System). Процесс загрузки начинается с автоматического выполнения процессором команд, расположенных в постоянной (или перезаписываемой) памяти ( EEPROM или Flash ROM ), начиная с заданного адреса. Эти микропрограммы не обладает всей функциональностью операционной системы, но её (функциональности) достаточно для того, чтобы чтобы выполнить последовательную загрузку других программ, которые выполняются друг за другом до тех пор, пока последняя из них не загрузит операционную систему.
В процессе загрузки BIOS осуществляется, кроме перечисленного, подключение, отключение, установка режима работы контроллеров устройств системной платы в соответствии с настройками записанными в постоянную память.
В процессе его выполнения проверяется наличие загрузочных устройств которые должны быть проинициализировано до загрузки операционной системы.
Затем BIOS опрашивает устройства, перечисляемые в заранее созданном списке, пока не найдёт загрузочное устройство. Если такое устройство найдено не будет, будет выведено сообщение об ошибке, а процесс загрузки будет остановлен. Если BIOS обнаружит загрузочное устройство, он считает с него начальный загрузчик и передаст ему управление.
В случае жесткого диска, начальный загрузчик называется главной загрузочной записью (MBR) и часто не зависит от операционной системы. Обычно он ищет активный раздел жесткого диска, загружает загрузочный сектор данного раздела и передает ему управление. Этот загрузочный сектор, как правило, зависит от операционной системы. Он должен загрузить в память ядро операционной системы и передать ему управление.
Если активного раздела не существует, или загрузочный сектор активного раздела некорректен, MBR может загрузить резервный начальный загрузчик и передать управление ему. Резервный начальный загрузчик должен выбрать раздел (зачастую с помощью пользователя), загрузить его загрузочный сектор и передать ему управление.
Последовательность загрузки стандартного IBM-совместимого персонального компьютера
После включения персонального компьютера его процессор еще не начинает работу.
Первое устройство, которое запускается после нажатия кнопки включения компьютера, — блок питания. Если все питающие напряжения окажутся в наличии и будут соответствовать норме, на системную плату будет подан специальный сигнал Power Good, свидетельствующий об успешном тестировании блока питания и разрешающий запуск компонентов системной платы.
После этого чипсет формирует сигнал сброса центрального процессора, по которому очищаются регистры процессора, и он запускается.
Первая выполняемая команда расположена по адресу FFFF0h и принадлежит пространству адресов BIOS. Данная команда просто передает управление программе инициализации BIOS и выполняет следующую команду (микропрограмму BIOS ).
Программа инициализации BIOS с помощью программы POST проверяет, что все необходимые для работы BIOS и последующей загрузки основной операционной системы, устройства компьютера работают корректно и инициализирует их.
Таким образом, его работа — последовательно читать и выполнять команды из памяти.
Системная память сконфигурирована так, что первая команда, которую считает процессор после сброса, будет находиться в микросхеме BIOS.
Последовательно выбирая команды из BIOS, процессор начнет выполнять процедуру самотестирования, или POST.
Процедура самотестирования POST состоит из нескольких этапов.
В зависимости от конкретной версии BIOS порядок процедуры POST может немного раз отличаться, но приведенные выше основные этапы выполняются при загрузке любого компьютера.
Что такое POST-коды?
После включения питания компьютера, если исправны блок питания и основные узлы материнской платы (генератор тактовых частот, компоненты, отвечающие за работу системной шины и шины памяти), процессор начинает выполнение кода BIOS.
Если быть совсем точным, во многих современных чипсетах перед передачей команд процессору системным контроллером предварительно конфигурируется «умная» системная шина. Но это не меняет сути дела.
Основная задача BIOS на данном этапе — проверка исправности и инициализация основных аппаратных компонентов компьютера. Вначале конфигурируются внутренние регистры чипсета и процессора, проверяется целостность кода BIOS. Затем происходит определение типа и размера оперативной памяти, поиск и инициализация видеокарты (интегрированной в чипсет или внешней). Следом конфигурируются порты ввода-вывода, контроллер дисковода, IDE/SATA-контроллер и подключенные к нему накопители. И, наконец, осуществляется поиск и инициализация интегрированных на материнскую плату дополнительных контроллеров и установленных карт расширения. Всего получается около ста промежуточных шагов, после чего управление передается загрузчику BOOTStrap, отвечающему за старт операционной системы.
Каждый из шагов POST-тестов имеет свой уникальный номер, называемый POST-кодом. Перед началом выполнения очередной процедуры ее POST-код записывается в специальный порт, именуемый Manufacturing Test Port. При успешной инициализации устройства в Manufacturing Test Port записывается POST-код следующей процедуры и так далее, до полного прохождения всех тестов. Если сконфигурировать устройство не удалось, дальнейшее выполнение POST-тестов прекращается, а в Manufacturing Test Port остается POST-код процедуры, вызывавшей сбой. Прочитав его можно однозначно идентифицировать проблемное устройство.
Имейте в виду, после перезагрузки компьютера средствами операционной системы («мягкая» или «горячая» перезагрузка) или при выходе из энергосберегающего режима обычно выполняются не все шаги по тестированию и конфигурированию аппаратных компонентов, а только необходимый минимум — так быстрее. При поиске неисправности необходимо всегда выполнять «жесткую» («холодную») перезагрузку — клавишей RESET или отключением питания компьютера. Только так гарантируется, что все этапы инициализации будут выполнены в полном объеме.
Award BIOS 6.0: вариант полной загрузки
Данную таблицу можно использовать не только как список POST-кодов, но и как последовательность действий, которые выполняются при включении компьютера. Она содержит POST-коды, которые отображаются при полной процедуре POST.
| POST-код | Описание процедуры |
| CF | Определяется тип процессора и тестируется чтение/запись CMOS |
| C0 | Предварительно инициализируется чипсет и L1-, L2-кэш, программируется контроллер прерываний, DMA, таймер |
| C1 | Детектируется тип и объем оперативной памяти |
| C3 | Код BIOS распаковывается во временную область оперативной памяти |
| 0С | Проверяются контрольные суммы BIOS |
| C5 | Код BIOS копируется в теневую память и управление передается модулю Boot Block |
| 01 | Модуль XGROUP распаковывается по физическому адресу 1000:0000h |
| 02 | Инициализация процессора. Устанавливаются регистры CR и MSR |
| 03 | Определяются ресурсы ввода/вывода (Super I/O) |
| 05 | Очищается экран и флаг состояния CMOS |
| 06 | Проверяется сопроцессор |
| 07 | Определяется и тестируется контроллер клавиатуры |
| 08 | Определяется интерфейс клавиатуры |
| 09 | Инициализация контроллера Serial ATA |
| 0A | Определяется клавиатура и мышь, которые подключены к портам PS/2 |
| 0B | Устанавливаются ресурсы звукового контроллера AC97 |
| OE | Тестируется сегмент памяти F000h |
| 10 | Определяется тип flash-памяти |
| 12 | Тестируется CMOS |
| 14 | Устанавливаются значения для регистров чипсета |
| 16 | Первично инициализируется тактовый генератор |
| 18 | Определяется тип процессора, его параметры и объемы кэша L1 и L2 |
| 1B | Инициализируется таблица векторов прерываний |
| 1С | Проверяются контрольные суммы CMOS и напряжение питания аккумулятора |
| 1D | Определяется система управления питанием Power Management |
| 1F | Загружается матрица клавиатуры (для ноутбуков) |
| 21 | Инициализируется система Hardware Power Management (для ноутбуков) |
| 23 | Тестируется математический сопроцессор, дисковод, инициализация чипсета |
| 24 | Обновляется микрокод процессора. Создается карта распределения ресурсов устройств Plug and Play |
| 25 | Начальная инициализация PCI: перечисляются устройства, поиск адаптера VGA, запись VGA BIOS по адресу C000:0 |
| 26 | Устанавливается тактовая частота по CMOS Setup. Отключается синхронизация неиспользуемых слотов DIMM и PCI. Инициализируется система мониторинга (H/W Monitor) |
| 27 | Разрешается прерывание INT 09h. Снова инициализируется контроллер клавиатуры |
| 29 | Программируются регистры MTRR, инициализируется APIC. Программируется контроллер IDE. Измеряется частота процессора. Вызывается расширение BIOS видеосистемы |
| 2B | Поиск BIOS видеоадаптера |
| 2D | Отображается заставка Award, информация о типе процессора и его скорости |
| 33 | Сбрасывается клавиатура |
| 35 | Тестируется первый канал DMA |
| 37 | Тестируется второй канал DMA |
| 39 | Тестируются страничные регистры DMA |
| 3C | Настраивается контроллер 8254 (таймер) |
| 3E | Проверка контроллера прерываний 8259 |
| 43 | Проверяется контроллер прерываний |
| 47 | Тестируются шины ISA/EISA |
| 49 | Вычисляется объем оперативной памяти. Настраиваются регистры для процессора AMD K5 |
| 4E | Программируются регистры MTRR для процессоров Syrix. Инициализируются кэш L2 и APIC |
| 50 | Определяется шина USB |
| 52 | Тестируется ОЗУ с отображением результатов. Очищается расширенная память |
| 53 | Если выполнена очистка CMOS, то сбрасывается пароль на вход в систему |
| 55 | Отображается количество процессоров (для многопроцессорных платформ) |
| 57 | Отображается логотип EPA. Начальная инициализация устройств ISA PnP |
| 59 | Определяется система защиты от вирусов |
| 5B | Вывод подсказки для запуска обновления BIOS с дискеты |
| 5D | Запускается контроллер Super I/O и интегрированный аудиоконтроллер |
| 60 | Вход в CMOS Setup, если была нажата клавиша Delete |
| 65 | Инициализируется мышь PS/2 |
| 69 | Включается кэш L2 |
| 6B | Настраиваются регистры чипсета согласно BIOS Setup |
| 6D | Назначаются ресурсы для устройств ISA PnP и COM-порты для интегрированных устройств |
| 6F | Инициализируется и настраивается контроллер гибких дисков |
| 75 | Детектируются и устанавливаются IDE-устройства: жесткие диски, CD/DVD, LS-120, ZIP и др |
| 76 | Выводится информация об обнаруженных IDE-устройствах |
| 77 | Инициализируются последовательные и параллельные порты |
| 7A | Сбрасывается и готовится к работе математический сопроцессор |
| 7C | Определяется защита от несанкционированной записи на жесткие диски |
| 7F | При наличии ошибок выводится сообщение и ожидается нажатие клавиш Delete и F1 |
| 82 | Выделяется память для управления питанием и заносятся изменения в таблицу ESCD. Убирается заставка с логотипом EPA. Запрашивается пароль, если нужен |
| 83 | Все данные сохраняются из временного стека в CMOS |
| 84 | Вывод на экран сообщения Initializing Plug and Play Cards |
| 85 | Завершается инициализация USB |
| 87 | Создаются таблицы SYSID в области DMI |
| 89 | Устанавливаются таблицы ACPI. Назначаются прерывания для PCI-устройств |
| 8B | Вызывается BIOS дополнительных ISA- или PCI-контроллеров, за исключением видеоадаптера |
| 8D | Устанавливаются параметры контроля четности ОЗУ по CMOS Setup. Инициализируется APM |
| 8F | IRQ 12 разрешается для «горячего» подключения мыши PS/2 |
| 94 | Завершение инициализации чипсета. Отображение таблицы распределения ресурсов. Включение кэша L2. Установка режима перехода на летнее/зимнее время |
| 95 | Устанавливается частота автоповтора клавиатуры и состояния Num Lock |
| 96 | Для многопроцессорных систем настраиваются регистры (для процессоров Cyrix). Создается таблица ESCD. Устанавливается таймер DOS Time по показаниям часов RTC CMOS. Сохраняются разделы загрузочных устройств для использования встроенным антивирусом. Динамик оповещает об окончании POST. Создается таблица MSIRQ FF Выполняется прерывание BIOS INT 19h. Поиск загрузчика в первом секторе загрузочного устройства |
В мастерских или у занимающихся ремонтом специалистов контроль выполнения микропрограмм BIOS осуществляется с помощью специальной карты расширения. Она вставляется в свободный слот (большинство современных моделей рассчитано на шину PCI) и по мере загрузки отображает на своем индикаторе код выполняемой в текущий момент процедуры.
Однако POST-карта это не широко распространенное средство. Скорее, это инструмент профессионального ремонтника компьютеров. Осознавая данный факт, производители материнских плат стали оснащать модели, рассчитанные на энтузиастов экспериментирующих с настройками и разгоном компьютера, встроенными индикаторами POST-кодов.
Встречается и более дешевое решение — во время начальной инициализации компонентов POST-коды могут отображаться на экране наряду с другой служебной информацией. Правда у этого решения есть существенный недостаток: если проблема связана с видеокартой, вы, скорее всего, ничего не увидите.
Последняя возможность узнать о сбое проявившемся при тестировании Звуковые сигналы сообщений об ошибках.
Звуковые сигналы и сообщения об ошибках
Несмотря на то, что POST-коды являются самым мощным инструментом по выявлению аппаратных проблем при старте компьютера, BIOS предоставляет и другие средства диагностики. Если в вашем распоряжении нет POST-карты, а материнская плата не умеет индицировать POST-коды, можно ориентироваться на звуковые сигналы и сообщения об ошибках.
Но для этого необходимо, чтобы в корпусе ПК имел системный динамик и он был подключен к системной платы.
Звуковые сигналы особенно ценны на начальном этапе, когда видеокарта еще не проинициализирована и, как следствие, не в состоянии отобразить что-либо на экране. Уникальная комбинация длинных и коротких сигналов укажет на проблемный компонент.
На более поздних этапах проще сориентироваться по сообщению об ошибке, выводимому BIOS в случае аппаратной проблемы. В некоторых версиях BIOS это сообщение сопровождается особым звуковым сигналом, в некоторых — заменяет его. Но в любом случае информации обычно достаточно, чтобы выявить сбоящий компонент.
Надо заметить, что звуковые сигналы и сообщения об ошибках фактически являются более наглядным вариантом отображения определенных POST-кодов, а отнюдь не дополнительным средством диагностики. Если в вашем распоряжении есть POST-карта, либо материнская плата способна отображать POST-коды, ориентироваться надо именно на коды — они дают гораздо более точную и детальную картину. Сравните хотя бы количество POST-кодов (около ста) и количество различных сообщений об ошибках или звуковых сигналов (несколько десятков).
| Последовательность звуковых сигналов | Описание ошибки |
|---|---|
| 1 короткий | Успешный POST |
| 2 коротких | Обнаружены незначительные ошибки. На экране монитора появляется предложение войти в программу CMOS Setup Utility и исправить ситуацию. Проверьте надежность крепления шлейфов в разъемах жесткого диска и материнской платы. |
| 3 длинных | Ошибка контроллера клавиатуры |
| 1 короткий, 1 длинный | Ошибка оперативной памяти (RAM) |
| 1 длинный, 2 коротких | Ошибка видеокарты |
| 1 длинный, 3 коротких | Ошибка при инициализации клавиатуры или Ошибка видеокарты |
| 1 длинный, 9 коротких | Ошибка при чтении из ПЗУ |
| Повторяющийся короткий | Проблемы с блоком питания |
| Повторяющийся длинный | Проблемы с ОЗУ |
| Повторяющаяся высокая-низкая частота | Проблемы с CPU |
| Непрерывный | Проблемы с блоком питания |
Процедура Setup
Вход в BIOS Setup возможен только при включении компьютера и при успешном выполнении первоначального тестировании POST (слышен один короткий сигнал из системного динамика).
Для этого необходимо нажать определенную клавишу или сочетание клавиш.
Обычно на экранной заставке при тестировании отображается надпись типа «Press DEL to enter Setup» — это означает, что для входа в BIOS Setup необходимо нажать клавишу DEL. Узнать, за которой клавишей закреплен вход в BIOS, можно из инструкции к материнской плате. Если инструкции нет, а экранная заставка не отображает подсказки, можно опробовать наиболее известные варианты комбинаций:
Delete
Esc
Ctrl + Shift + S или Ctrl + Alt + S
Ctrl + Alt + Esc
Ctrl + Alt + Delete
Безопасная работа с BIOS Setup
Работа с BIOS Setup связана с определенным риском, поскольку при неправильном или неосторожном изменении параметра система может функционировать нестабильно либо не функционировать вообще. Есть несколько простых советов, которые позволяют свести возможный риск к минимуму:
Собственный BIOS имеется и на других платах устанавливаемых в компьютер, например:
Как BIOS инициализирует DRAM?
Я искал объяснение того, как именно сейчас работает BIOS в течение достаточно долгого времени. Я разработал загрузчик и перешел на 32-битный режим с ним, при этом успешно инициализируя как IDT, так и GDT, но при этом я обнаружил, что «операционные системы» кажутся довольно простыми, и ощущение как будто » BIOS «- это актуальная операционная система каждого компьютера.
Итак, теперь я взялся за новую задачу, пытаясь выяснить, как BIOS на самом деле инициализирует себя, выясняет, сколько ОЗУ можно использовать и как / где ПЗУ надстройки импортируется в ОЗУ. Насколько я понимаю, процессор не через скачок, а автоматически начинает выполнять код внутри ОЗУ в 16-битном сегменте: адрес смещения 0xFFFF: 0x0000. Это означает, что технически все компьютеры должны иметь изначально как минимум 1 МБ ОЗУ, чтобы они могли загружаться из-за исходного местоположения процессоров и из-за этих знаний я предполагал, что все BIOS автоматически записывают себя в ОЗУ до процессор получает сигнал RST. Я считаю, что это неправда, поскольку именно «Shadow BIOS» можно отключить через BIOS, я считаю. Я искал повсюду «Руководство дизайнера BIOS», однако я продолжаю выходить с пустыми руками с каждой спецификацией, которую я, кажется, читаю.
Как программист, я понимаю, что, вероятно, существует множество способов действительно выполнить то, что я на самом деле прошу, и что, вероятно, нет никакого пути в аду, чтобы дать достойный прямой ответ, и если я должен быть более конкретным, скажем, я работал с Dell Inspiron 518 или, по крайней мере, с компьютером с набором микросхем G33 (северный мост G33 и южный мост ICH9), и я хотел запрограммировать первоначальную программу Pre-POST и создать свою собственную 16-разрядную IDT со всеми стандартными прерываниями все необходимое для успешной загрузки другой операционной системы, такой как Windows 10. Как BIOS фактически знает, сколько ОЗУ там? Выполняет ли он тест на чтение и запись битов в самых высоких областях памяти и оттуда? А как же карты ПЗУ надстройки вообще загружаются в ОЗУ? Насколько я понимаю, BIOS создает очень простой список прерываний и / или «точек входа», которые могут использовать ПЗУ карт расширения и дают им возможность «фиксироваться» на других прерываниях BIOS, таких как «$ PMM»? И как производители BIOS знают, какие именно строки привязки необходимы в их BIOS для загрузки операционной системы, такой как Windows?
Любые ответы будут очень полезны, а также любые рекомендуемые спецификации и / или любые руководства, способные привести меня к знаниям, которые я искал. Например, руководство, в котором говорится, что «минимальные требуемые процессы должны быть выполнены в BIOS перед передачей IPL?» или даже пример исходного кода на C или Assembly с чем-то, что может показать мне, как на самом деле выглядит или выглядит образ ПЗУ карты расширения, было бы очень полезно.
2 ответа
Я ограничиваю этот ответ архитектурами Intel, так как я в основном знаком с ними.
Документ, который вы (а также я) ищите, называется BIOS Writer Guide и, к сожалению, является конфиденциальным и до сих пор не просочился (AFAIK).
Для продвижения своего продукта в сообществе разработчиков ПО с открытым исходным кодом корпорация Intel выпустила Пакет поддержки встроенного ПО. Это следует считать библиотекой для разработчиков микропрограмм и содержит (двоичный) код для инициализации контроллера памяти, PCH (периферийный контроллер, неформально известный как «набор микросхем») и ЦП 1 .
Разработчик с открытым исходным кодом или вообще любой разработчик, который не может позволить себе подписать NDA с Intel, может использовать FSP для написания собственной прошивки.
Можно отменить FSP (один из многих моих TODO), но быстрее использовать его в качестве эталона.
Когда питание включается, многое происходит до того, как процессор начинает выполнение из вектора сброса 2 , но важно помнить, что набор микросхем (то есть PCH) уже позволяет процессору обращаться к флэш-ПЗУ.
Фактически, именно так выполняются первые инструкции, поскольку ЦП может получать инструкции только из адресного пространства памяти.
Таким образом, пока микропрограмма поддерживает поток выполнения в области памяти, отображаемой на флэш-ПЗУ (эта область определяется описанием флэш-памяти, присутствующим в самой флэш-ПЗУ, PCH считывает ее во время сброса и конфигурирует маршрутизацию запросов памяти соответственно), его код может быть выполнен.
Поскольку память еще не инициализирована и флэш-ПЗУ доступна только для чтения (w.r.t. циклы записи в память), эту функцию нельзя использовать:
- звонки . Так как им нужен записываемый стек.
- переменные в памяти. Так как они, ну, различаются.
Оба являются раздражающими точками, в сборке вы можете использовать переходы и регистры, чтобы обойти их, но в Си вы не можете.
Поэтому первое, что делает прошивка, обычно это настройка «временной оперативной памяти».
Это TempRamInit() подпрограмма FSP (которая, кстати, должна вызываться с переходом), и на практике она устанавливает Cache-as-RAM (CAR).
Кэш — а — RAM
Идея состоит в том, чтобы использовать кеш как временную память.
Принципиальным моментом является то, что строки кэша не истекают, они удаляются только тогда, когда больше нет места для новой запрашиваемой строки, поступающей из памяти.
Так что, пока вы достаточно осторожны, чтобы избежать доступа к большему количеству переменных, которые могут поместиться в кеш, процессор будет только читать и записывать из кеша (конечно, для этого требуется режим кеширования с обратной записью).
Однако это потребует тщательного позиционирования переменных, и это действительно очень хрупко.
Лучший подход — включить кэш (очистив бит CD (Cache Disable) в регистре CR0 ), а затем выполнить фиктивные чтения (или даже записи) из области памяти, равной L1 3 .
Затем вы снова отключаете кэши, этот режим на самом деле известен как режим без заполнения , где новые строки не заносятся в кэш (поэтому никакая существующая строка не может быть «потеряна»), но чтение и запись могут все равно попал в кеш.
Это позволяет несколько Кбайт «оперативной памяти».
Существуют компиляторы C для сред CAR.
Инициализация ОЗУ
Теперь прошивка может инициализировать ОЗУ, для этого нужно сделать три вещи:
- Расскажите контроллеру памяти о таймингах DIMM (CAS, RAS вообще).
- Сообщите контроллеру памяти о размере и ранжировании модулей DIMM.
- Установите маршрутизацию.
Контроллер памяти конфигурируется через пространство конфигурации PCI и MMIO, подробности вы можете найти в томе технических данных вашего процессора 2 (Предполагая, что MC находится в кристалле процессора).
Например, Таблица данных ядра 8-го и 9-го поколения, том 2 содержит описание регистров контроллера памяти. Вот выдержка, в которой прошивка может установить параметр tRAS:

Аналогично, вы найдете регистры для размера и типа модулей DIMM, размера канала и так далее:


Эти регистры охватывают пункты 1 и 2 (и немного пункта 3, в зависимости от определения), но как встроенное ПО может узнать, какие значения использовать?
В конце концов, модули DIMM являются заменяемыми.
Как уже отмечалось, это Serial Presence Detect (SPD), небольшое решение ЭСППЗУ интегрировано в сами модули DIMM, которые описывают временные параметры памяти, топологию и размер.
Доступ к EEPROM осуществляется через шину, совместимую с I2C.
В архитектуре Intel фактически используется шина SMBus (System Management Bus), которая совместима с I2C и была создана соответствующим образом.
Мастер SMBus находится в PCH и задокументирован в техническом описании тома 2 соответствующей серии.
Например, Техническое описание PCH серии 200, том 2.
Мастер SMBus должен быть настроен перед использованием, но это очень просто. После настройки его можно использовать для чтения данных SPD.
Это работает точно так же, как доступ к любому другому устройству I2C.
SPD EEPROM (их может быть несколько, конечно, по одному на DIMM) зарезервированы адреса от 0x50 до 0x57 (в серии 200 PCH).
Можно написать в SPD, и в мастере SMBus есть бит для отключения такого поведения:

После считывания данных SPD MC можно настроить, а затем использовать RAM.
Это подпрограмма FspMemoryInit () FSP.
Последний шаг — настройка маршрутизации.
Это включает в себя настройку конца области ОЗУ в адресном пространстве памяти (см. Таблицу данных PCH для полного изображения) и в системе NUMA декодер исходного адреса и целевого адреса для маршрутизации запросов памяти через сокеты через QPI / UPI. ссылки .
Все это делается через пространство конфигурации PCI встроенных устройств в PCH.
В системах NUMA необходима загрузка других процессоров приложений (по одному на сокет) для настройки их контроллеров памяти.
Это делается с помощью межпроцессорных прерываний (IPI), передаваемых через LAPIC, который является компонентом MMIO в каждом ЦП.
Резюме
Грубые шаги, выполняемые прошивкой:
- Выполните любую базовую инициализацию среды (например, переключитесь в 32-битный режим).
- Инициализируйте Cache-As-RAM.
- Инициализируйте мастер SMBus в PCH, используя перечисление PCI.
- Прочитайте SPD EEPROM каждого DIMM.
- Настройте контроллер памяти каждого сокета с данными SPD.
- Настройте карту памяти PCH.
- Настройте маршрутизацию NUMA.
2 Они не будут здесь обсуждаться, но, вкратце, встроенный контроллер (для ноутбуков, аппаратная логика для настольных компьютеров) будет включен, после загрузки (с использованием встроенного ПЗУ) его прошивка будет использовать GPIO для включите необходимые силовые вентили платы. Один из этих шлюзов обеспечивает питание PCH, который после того, как микропрограмма EC установит правильный вывод, загрузит свою собственную микропрограмму (которая называется микропрограммой модуля управления, поскольку она связана с остальной частью кода ME, внутри области ME той же флэш-памяти). ПЗУ, которое также содержит код BIOS, но технически это Bring-Up, BUP, модуль) и сбрасывает чипсет. Как только набор микросхем будет готов, он установит вывод энергопотребления ЦП, а затем вывод (-ы) сброса / инициализации, которые заставят ЦП начать выполнение POST, а затем, предполагая, что ЦП с поддержкой TXT, микрокод для извлечения Таблица интерфейса микропрограммы из флэш-ПЗУ и из нее SINIT ACM (модуль управления с проверкой подлинности System Init, который устанавливает безопасность, необходимую для измеренного запуска ) и, необязательно, BIOS ACM (который будет выполнять конкретные задачи, возможно, включая загрузку, пропуская устаревший вектор сброса). В конце концов, BIOS ACM (или микрокод, если в FIT не было найдено BIOS ACM) перейдет к вектору сброса. Это устаревший поток загрузки. Обратите внимание, что ACM выполняются в специально созданной среде, в которой используется Cache-as-RAM (см. Выше), следуя семантике любого другого запуска TXT (см. Спецификации Intel TXT).
3 Согласно Intel, если задано CD , замена строки не производится. Я предполагаю, что это не будет перемещать строки назад и вперед более высокие кэши.
BIOS в настоящее время неправильно используется. Но когда вы покупаете BIOS у AMI и т. Д., Он загружает микросхему / систему, а также предоставляет устаревшие базовые услуги ввода / вывода через программные прерывания.
Он написан на языке высокого уровня, скомпилирован со стеками и потребностями оперативной памяти, поэтому на чипе есть некоторый sram, который он использует для прохождения процесса загрузки. Сам код живет на вспышке на материнской плате. Я не знаю, работает ли он прямо со вспышки, как mcu, или как-то скопирован в ram.
Модули Dram содержат EEPROM с данными SPD (стандарт JEDEC), который, помимо прочего, сообщает загрузчику, сколько существует драм. Вот как загрузчик (BIOS) знает сколько оперативной памяти.
В случае UEFI, или даже BIOS в этом отношении, производителей BIOS, производителей материнских плат, поставщиков операционных систем, в их интересах обеспечить использование этого уникального стандарта совместимости с ПК, формальным или нет. UEFI изменил положение вещей, вначале им руководил Intel (EFI), а затем — сообщество. Я бы сказал, что устаревший режим BIOS поддерживался / поддерживался Microsoft и Intel на людях BIOS / материнских плат, поскольку они не были бы в бизнесе, если бы они разозлили эти компании.
TL; DR
Поймите, что между конкретной материнской платой и BIOS существует тесная связь. Когда вы разрабатываете материнскую плату, существует много общего в мире ПК или в мире чипов / сокетов Intel или AMD. Но все же есть причина, почему вы делаете еще одну материнскую плату. Из-за предыстории и разных причин существует очень и очень мало поставщиков BIOS, и если вы хотите иметь хорошие шансы на успех, просто позвоните одному и заплатите то, что вам нужно, и получите BIOS. Это не то, что я купил компьютер, и, не обсуждая его с кем-то еще, я решил запустить на нем windows, bsd, Linux или другой. Поставщик процессора / чипа (Intel или AMD), поставщик BIOS (ami, insyde, phoenix и т. Д.) И вы, создатель материнской платы, имеете три пути сотрудничества, если есть надежда на успех. Существует также причина, по которой производителей материнских плат относительно немного.
То, что делает и предлагает BIOS, также имеет историю, о которой я не буду здесь подробно рассказывать.
Процессор должен загружаться с энергонезависимого носителя в той или иной форме. Вспышка на материнской плате. Так что с точки зрения загрузки подумайте о микроконтроллере, где у вас есть код, работающий с флэш-памяти. Теперь это не означает, что вам нужно полностью запустить его, возможно, вы запускаете небольшой цикл, который копирует его в какой-то фиксированный sram, или может быть, что аппаратное обеспечение считывает флэш-память для вас в оперативную память. Я не в курсе того, как текущие процессоры Intel и AMD работают в отношении загрузки с перезагрузки и ресурсов чипа (просто заплатил биосу, следовал эталонному дизайну и запрограммировал флэш-память байтами от биосов, и он загрузился ) .
DRAM / DDR — это беспорядок, для правильной работы могут потребоваться недели или месяцы, это не обязательно тривиальная задача (новый IP и т. Д., Существующий / известный ip и соответствующий макет платы, возможно часы или дни). В любом случае, из-за стоимости и истории мы привыкли к тому, что наш драм подключается к модулям, в результате чего вы узнаете, что там, и, возможно, это ваш вопрос. Если вы будете искать последовательное обнаружение присутствия в Википедии, вы увидите спецификацию JEDEC для информации, предоставляемой модулем контроллеру / хосту. В модуле на известной шине есть eeprom или эквивалент (i2c, я полагаю), который содержит информацию SPD для этого модуля. Из этой информации вы узнаете не только объем памяти, но и несколько настроек синхронизации, необходимых для работы драм-микросхемы на этом модуле (и DRAM tech / поколения DDR2, DDR3, DDR3L и т. Д.). Ранг / банк, ширина и т. Д. Он также будет включать в себя от одной до нескольких возможных скоростей.
Программное обеспечение на стороне хоста, которое мы вписываем в термин BIOS (думаю, загрузчик), которое обладает глубокими знаниями о материнской плате и процессоре или допустимых процессорах, которые будут работать. А также знание того, на что способен контроллер драма, и сопоставление с одной из возможных комбинаций, объявленных модулем драмы. Так, например, модуль может поддерживать 2133, но хост-контроллер может поддерживать до 1666, только если эта скорость поддерживается модулем, который является или будет пытаться использовать скорость.
Естественно, BIOS — это не какая-то сборка с ручным кодированием, которая не требует оперативной памяти и опирается только на регистры общего назначения. Так что да, где-то должна быть какая-то SRAM, я не знаю этих чипов Intel на этом уровне (опять-таки очень-очень мало людей используют эти чипы таким образом), если вы посмотрите на ARM-чипы с поддержкой Linux, то на них есть какой-то срам. чипы . Чип (не x86), с которым я знаком, кеш драмы может использоваться в качестве прямого доступа для такой работы наряду с некоторыми другими на чип-памяти, поэтому чип может быть загружен с использованием этих данных на чип-памяти (используется для стека и данных). запускать код из флэш-памяти или также запускать код из зависимости), затем, когда драма будет запущена, кеш будет переконфигурирован как кеш, и драм станет доступен. Затем загрузчик завершает свою работу, а затем ищет носители, содержащие операционную систему, загружает и запускает ее.
IMO, например, становится проще, например, для создания материнской платы AMD, с тех пор как я лично увидел Intel. Они оба вытягивают больше ранее многочиповых решений в один чип / многочиповый модуль. Существует много чёрной магии, если хотите, основываясь на истории существования материнских плат. Можно было бы ожидать, что Intel или AMD будут располагать подробной информацией, необходимой для понимания этого, но является ли она общедоступной (сколько людей делают материнские платы, сколько людей пишут BIOS, как люди могут платить за контракты на поддержку, сколько людей готов купить макетные платы / эталонные конструкции). В любом случае, если есть общедоступная информация, вам нужно начать с Intel или AMD. Ожидайте, что некоторый процент ответа будет общим для нескольких поколений этих продуктов, а некоторые ответы могут относиться к одному конкретному продукту.
Есть флэш-память, которая содержит загрузчик, и конструкция платы такова, что она соответствует требованиям к загрузке процессоров, чтобы поместить содержимое флэш-памяти перед загрузкой процессора. Да, на чипе sram должно быть немного, чтобы помочь в процессе загрузки. Как вы определяете, сколько драм основано на знании спецификаций / параметров драм-чипа и контроллера. Для подключаемых модулей, к которым мы привыкли, существует небольшой EEPROM или аналогичный, который содержит данные SPD для модуля / микросхем на модуле, так что загрузчик знает не только, сколько всего оперативной памяти, но много параметров синхронизации, необходимых для разговора к этому драм правильно.
Предположительно, существуют некоторые BIOS с открытым исходным кодом, если я правильно помню, они немного устарели и, вероятно, ограничены тем, какие материнские платы, если таковые имеются, они могут быть просто реальным BIOS, реализующим вызовы BIOS, а не полноценным загрузчиком x86, предназначенным для воспитание материнской платы. Обычно BIOS / загрузчик — это то, что вы просто приобретаете у AMI или Insyde и т. Д., Процессор, который вы выбрали для разработки, может определять, какого поставщика BIOS или поставщиков выбрать. Исходный код для ami bios или другого имеет высокую цену, а также длинное юридическое соглашение. Возможно, в том или ином виде «если вы потеряете / утечете код, который вы разрешите разрешить, это истощит ваш банковский счет, чтобы устранить утечку». Я подозреваю, что флэш-память читаема, и вы можете попытаться ее перепроектировать, но я также подозреваю, что это скомпилированный код, а не рукописный asm, поэтому его будет не так легко прочитать. Лучше всего просто понять процесс и оставить все как есть.
Если вы действительно хотите испытать этот переход с x86 и перейти на ARM, поскольку есть загрузчики с открытым исходным кодом, документация в некоторой степени по логике (контроллеры dram и pcie и т. Д. Приобретаются IP у какой-то третьей стороны с NDA, так что только некоторый процент деталей этого периферийного устройства находится в чипе TI, Broadcom, Allwinner и т. д.). Но по крайней мере исходный код с открытым исходным кодом и драйверы для Linux, что лучше, чем что-то разбирать. Вы можете взять черный гончий кость или малиновый пи (драм плохого примера сделан в gpu, хотя он теперь открыт, я думаю, в некоторой ненулевой степени) или бесчисленные доски на основе Allwinner.
На высоком уровне опыт и процесс одинаковы: загрузка, инициализация, загрузка ОС, запуск ОС. init, pcie init, usb init, ethernet, происходят в нужное время для загрузки и запуска. Технологии одинаковы (ddr2, ddr3, ddr4, pcie gen 1,2,3, usb 1,2,3 и т. Д.), В некоторых случаях приобретенный IP-адрес такой же или похожий и т. Д.
Да, BIOS означает базовые сервисы ввода / вывода, и исторически он представлял собой набор программных обработчиков, основанных на прерываниях, для выполнения таких вещей, как общение с видео или с жестким диском и т. Д., Таким образом, чтобы при покупке видеокарты она физически имела На том, что содержало видеобиос для этой видеокарты, был процесс, с помощью которого этот биос был связан с системой, чтобы при вызове одного из этих системных вызовов он использовал код на этой флэш-памяти. То же самое относится к контроллеру жесткого диска и т. д. Идея чтения одного сектора не требовала, чтобы вы знали подробности контроллера флоппи-дисковода или контроллера жесткого диска, которые вы использовали для этих системных вызовов высокого уровня.
Термины BIOS и CMOS были перегружены, чтобы включать не только то, что было BIOS (который, вероятно, также включал загрузчик, исходный код был / был доступен в оригинальных руководствах для Intel pc, которые у меня все еще есть где-то от моего оригинала). ПК (которого у меня больше нет, к сожалению)). Сегодня операционная система полагается на bios или efi, чтобы получить этот универсальный подход, который мне не нужно знать, но затем, когда операционная система запускается, она загружает драйверы, специфичные для контроллера, и больше не нуждается в использовании системных вызовов BIOS. Это очень важная вещь для ПК, основанная на истории ПК, а не-ПК — более традиционный подход.
Так что да, BIOS — это / был некоторый код, который обрабатывал программные прерывания (системные вызовы), но мы также неправильно или правильно применяем этот термин для включения загрузчика. Когда вы покупаете «BIOS» у AMI и т. Д., Он загружает чип.