
Старт пк
Вмикається БЖ, якщо всі напруги в нормі, то через 0,1...0,5 сек БП видає на материнську плату сигнал PowerGood (PG).
На материнській платі зібрана спеціальна схема, що виробляє сигнал RESET. Ця ж схема може бути зав'язана з хардваремонітором, що контролює напруги живлення, які надходять на материнську плату від БЖ і\або виробляються перетворювачами материнської плати для живлення різних вузлів (процесора, пам'яті, чіпсета тощо). В обов'язок хардваремонітора входить контроль температури основних елементів плати й контроль обертів вентиляторів.
Тільки після одержання PG від БЖ, а також сигналу від хардваремонітора "Усе в порядку" схема формування RESETa знімає цей самий RESET із чіпсета, мультика (південного моста) й різної дрібної логіки, а також із самого процесора.
Сигнал RESET тримає зкинутими значення всіх бітів керуючих регістрів і обнуляє регістри процесора, крім регістра CS (Code Segment) утримуючи початкову адресу сегмента коду, у ньому встановлюється значення FFFFh.
Після зняття RESETa процесор починає роботу в реальному режимі й протягом приблизно 7 циклів синхронізації приступає до виконання інструкції, що зчитується з ROM BIOS по тій самій адресі FFFF:0000. (Сучасний процесор (починаючи з i386DX) виконує першу інструкцію з адреси FFFFFFF0h, що перебуває в топі 4 Гб простору.) До цього моменту клокер уже повинен видавати стабільні тактові задаючі частоти на PCI, процесор, USB, чипсет і оперативну пам'ять.
Розмір області ROM BIOS від адреси FFFF:0000 дорівнює 16 байт, і в ній по зазначеній адресі записана команда переходу на виконуваний код . У цей момент процесор не може виконувати ніяку іншу послідовність команд, оскільки ніде в кожній з областей пам'яті, крім BIOS, її просто не існує. Отже, починається виконання конкретного коду ROM BIOS. Послідовно виконуючи команди цього коду, процесор реалізує функцію початкового самотестування POST ( Power-On Self Test).
На даному етапі крім процесора тестуються пам'ять і системні засоби вводу/виводу. Виявивши помилку, система подасть звуковий сигнал, тому що відеоадаптер поки ще не ініціалізований. Також виробляється конфігурування програмно-керованих апаратних засобів материнської плати.
Частина конфігурування виконується однозначно, інша частина може визначатися положенням джамперів (перемичок або перемикачів) системної плати, але ряд параметрів можливо (а іноді й необхідно) установлювати користувачеві. Для цих цілей служить утиліта Setup, вбудована в код BIOS, зпереважно ця утиліта викликається натисканням DEL під час виконання POST.
Параметри конфігурування, установлені за допомогою цієї утиліти, запам'ятовуються в енергонезалежній пам'яті, що живиться від тривольтової батарейки, розміщеної на материнській платі. Частина з них завжди зберігається в традиційної CMOS Memory, об'єднаної з годинниками й календарем RTC (Real Time Clock). Інша частина (залежно від фірми-виробника) може міститися й в енергонезалежну (наприклад, флэш) пам'ять (NVRAM).
При виконанні кожної підпрограми POST записує її сигнатуру (код) у діагностичний регістр. Цей регістр фізично повинен розташовуватися на спеціальній платі діагностики (сигнатурному аналізаторі, або так званій POST-карті), установленій в слот системної шини при аналізі несправності.
Такі POST-карти бувають у двох виконаннях: для шин ISA і PCI. На даній платі обов'язково встановлюється двохрозрядний семисегментний індикатор, що висвітлює уміст регістра діагностики. Можливо також наявність двійкового індикатора адреси.
У просторі вводу/виводу регістр займає одну адресу, що залежить від архітектури РС (версії BIOS). Наприклад, для ISA, EISA - 80h; ISA Compaq - 84h; ISA-PS/2 - 90h; для деяких моделей EISA - 300h; MCA-PS/2 - 680h. Маючи в наявності POST-Карту по індикованих кодах, можна визначити, на якому етапі зупинився процес POST.
Знаючи специфічну таблицю сигнатур для кожної версії BIOS, легко визначити несправність системної плати.
Слід зазначити, що далеко не все коди видні на індикаторі в процесі нормального завантаження комп'ютера: деякі висвітлюються лише в тому випадку, якщо POST зупиняється. Відбувається це тому, що багато підпрограм POST виконуються настільки швидко, що людське око не в змозі встежити за індикацією станів регістра діагностики, а деякі коди з'являються тільки при виявленні несправності.
Програмний старт комп'ютера (приближено):
Визначається тип процесора, результат міститься в CMOS. Якщо за якимись причинами визначення типу процесора закінчилося невдало, для платформи на інтелівському процесорі така помилка стає фатальної й система, а відповідно й виконання POST, зупиняється. При невдалому визначенні типу процесора на платформі АМД в CMOS міститься "невідомий процесор".
Здійснюється перевірка й ініціалізація контролера клавіатури, однак на даний момент прийом кодів натиснутих клавіш ще не можливий.
Перевіряється функціонування CMOS і напруга живлення її батареї. Якщо фіксується помилка живлення, виконання POST не зупиняється, однак BIOS "запам'ятовує" цей факт. Помилка при контрольному записі/читанні CMOS вважається фатальної й POST зупиняється.
Перевіряється контрольна сума комірок CMOS, виконується сканування пристроїв ISA і ініціалізація їхніх параметрів. Для PCI-пристроїв встановлюються основні (стандартні) поля в блоці конфігураційних регістрів.
Визначається наявність відеоадаптера шляхом перевірки наявності сигнатури 55АА за адресою початку Video BIOS (C0000:0000h). Якщо Video BIOS виявлений і його контрольна сума правильна, включається процедура ініціалізації відеоадаптера. Із цього моменту з'являється зображення на екрані монітора, висвітлюється заставка відеоадаптера, ініціалізується клавіатура. Далі - тестується контролер DMA і контролер переривань.
Визначається обсяг Base Memory і External Memory, і із цього моменту починається відображуваний на екрані тест оперативної пам'яті.
Ініціалізується PS/2 mouse.
Виробляється ініціалізація підсистеми гнучких дисків.
Настроюється клавіатура USB. На даному етапі стає можливий вхід в CMOS Setup по натисканню клавіші DEL.
Здійснюється запит на уведення пароля, якщо це передбачено установками CMOS Setup.
Успішна ініціалізація апаратних засобів комп'ютера супроводжується одиночним звуковим сигналом, після чого керування передається завантажувачу BOOT-сектора.