Лабораторная работа: Исследование процессов самотестирования компьютерной системы при включении
Тема: Исследование процессов самотестирования компьютерной системы при включении (POST).
Цель: Анализ алгоритмов тестирования клавиатуры, CMOS-памяти и спикера и выявление особенностей процессов их диагностики.
Задача: Ознакомиться и выучить алгоритмы тестирования клавиатуры, CMOS-памяти и спикера с учетом выявленных особенностей процессов их диагностики.
Теоретические сведения
Когда в 1981 году фирма IBM начала выпуск персональных компьютеров, в них были предусмотрены методы повышения надежности, которые ранее никогда не применялись. Имеется в виду программа POST и контроль четности памяти. POST — последовательность коротких подпрограмм, предназначенных для проверки основных компонентов системы сразу после ее включения.
При каждом включении компьютера автоматически выполняется проверка его основных компонентов: центрального процессора, ПЗУ, вспомогательных элементов материнской платы, оперативной памяти и основных периферийных устройств. Эти тесты выполняются быстро и не очень тщательно по сравнению с тестами, выполняемыми диагностическими программами. При обнаружении неисправного компонента выдается предупреждение или сообщение об ошибке (неисправности).
Хотя выполняемая программой POST диагностика не совсем полная, она является первой "линией обороны", особенно если обнаруживаются серьезные неисправности в материнской плате. Если окажется, что неполадка достаточно серьезная, то дальнейшая загрузка системы будет приостановлена и появится сообщение об ошибке (неисправности), по которому, как правило, можно определить причину неисправности. Такие неисправности иногда называют фатальными ошибками (fatal error). Процедурой POST обычно предусматривается три способа индикации неисправности: звуковые сигналы, сообщения, выводимые на экран монитора; шестнадцатеричные коды ошибок, выдаваемые в порт ввода-вывода.
Звуковые коды ошибок, выдаваемые процедурой POST. При обнаружении процедурой POST неисправности компьютер издает характерные звуковые сигналы, по которым можно определить неисправный элемент (или их группу). Если компьютер исправен, то при его включении слышен один короткий звуковой сигнал, а при обнаружении неисправности выдается целая серия коротких или длинных звуковых сигналов, а иногда и их комбинация. Характер звуковых кодов зависит от версии BIOS и разработавшей ее фирмы.
Табл. 1 - Звуковые коды, используемые в IBM-совместимых компьютерах, и соответствующие им неисправности
Звуковой сигнал | Место возникновения неисправности |
1 короткий | Процедура POST завершена, система в порядке |
2 коротких | Есть неисправность: код ошибки выведен на экран |
Нет сигнала | Блок питания, системная плата |
Непрерывный сигнал | Блок питания, системная плата |
Повторяющиеся короткие сигналы | Блок питания, системная плата |
1 длинный, 1 короткий | Системная плата |
1 длинный, 2 коротких | Адаптер дисплея (MDA, CGA) |
1 длинный, 3 коротких | Расширенный графический адаптер (EGA) |
3 длинных | Плата клавиатуры 3270 |
Табл. 2 - Коды звуковых сигналов AMI BIOS, посылаемые в процессе выполнения процедуры POST
Звуковой сигнал | Фатальная ошибка |
1 короткий | Ошибка регенерации динамического O3У |
2 коротких | Ошибка схемы контроля четности |
3 коротких | Неисправность в первых 64 Кбайт O3У |
4 коротких | Неисправность системного таймера |
5 коротких | Ошибка процессора |
6 коротких | Ошибка в схеме управления линией А20 в контроллере клавиатуры |
7 коротких | Ошибка переключения в виртуальный режим |
8 коротких | Ошибка чтения/записи видеопамяти |
9 коротких | Ошибка контрольной суммы ROM BIOS |
10 коротких | Ошибка чтения/записи CMOS-памяти |
11 коротких | Ошибка кэш-памяти |
Звуковой сигнал | Нефатальная ошибка |
1 длинный, 3 коротких | Ошибка в основной или расширенной памяти |
1 длинный, 8 коротких | Не выполняется тест на ответный сигнал дисплея |
Табл. 3 - Критические ошибки, сообщения о которых могут быть выведены во время загрузки при выполнении процедуры POST Phoenix BIOS
Звуковой код | Код порта 80h | Описание |
Нет | 01h | Выполняется тестирование регистров CPU |
1-1-3 | 02h | Ошибка считывания или записи в CMOS-память |
1-1-4 | 03h | Неправильная контрольная сумма системной BIOS |
1-2-1 | 04h | Неисправность программируемого таймера интервалов |
1-2-2 | 05h | He удалась попытка инициализации прямого доступа к памяти |
1-2-3 | 06h | Ошибка считывания или записи в регистры страниц прямого доступа к памяти |
1-3-1 | 08h | Ошибка при проверке схемы регенерации памяти |
Нет | 09h | Выполняется тестирование первых 64 Кбайт памяти |
1-3-3 | 0Ah | Неисправность микросхемы или линии данных в первых 64 Кбайт памяти (несколько битов) |
1-3-4 | 0Bh | Логическая ошибка четности/нечетности в первых 64 Кбайт памяти |
1-4-1 | 0Ch | Неисправность линии адреса в первых 64 Кбайт памяти |
1-4-2 | 0Dh | Ошибка контроля четности в первых 64 Кбайт памяти |
2-1-1 | 10h | Ошибка в бите 0 первых 64 Кбайт памяти |
2-1-2 | 11h | Ошибка в бите 1 первых 64 Кбайт памяти |
2-1-3 | 12h | Ошибка в бите 2 первых 64 Кбайт памяти |
2-1-4 | 13h | Ошибка в бите 3 первых 64 Кбайт памяти |
2-2-1 | 14h | Ошибка в бите 4 первых 64 Кбайт памяти |
2-2-2 | 15h | Ошибка в бите 5 первых 64 Кбайт памяти |
2-2-3 | 16h | Ошибка в бите 6 первых 64 Кбайт памяти |
2-2-4 | 17h | Ошибка в бите 7 первых 64 Кбайт памяти |
2-3-1 | 18h | Ошибка в бите 8 первых 64 Кбайт памяти |
2-3-2 | 19h | Ошибка в бите 9 первых 64 Кбайт памяти |
2-3-3 | 1Ah | Ошибка в бите 10 первых 64 Кбайт памяти |
2-3-4 | 1Bh | Ошибка в бите 11 первых 64 Кбайт памяти |
2-4-1 | 1Ch | Ошибка в бите 12 первых 64 Кбайт памяти |
2-4-2 | 1Dh | Ошибка в бите 13 первых 64 Кбайт памяти |
2-4-3 | 1Eh | Ошибка в бите 14 первых 64 Кбайт памяти |
2-4-4 | 1Fh | Ошибка в бите 15 первых 64 Кбайт памяти |
3-1-1 | 20h | Ошибка в ведомом регистре прямого доступа к памяти |
3-1-2 | 21h | Ошибка в ведущем регистре прямого доступа к памяти |
3-1-3 | 22h | Ошибка в ведущем регистре маски прерываний |
3-1-4 | 23h | Ошибка в ведомом регистре маски прерываний |
Нет | 25h | Выполняется загрузка векторов прерываний |
3-2-4 | 27h | Ошибка при выполнении теста контроллера клавиатуры |
Нет | 28h | Неисправность питания CMOS-памяти или выполняется подсчет контрольной суммы CMOS-памяти |
Нет | 29h | Выполняется проверка правильности конфигурации экрана |
3-3-4 | 2Bh | Ошибка при инициализации экрана |
3-4-1 | 2Ch | Ошибка при проверке возвратного сигнала дисплея |
3-4-2 | 2Dh | Выполняется поиск ПЗУ видеоадаптера |
Нет | 2Eh | Вывод на экран обеспечивается ПЗУ видеоадаптера |
Нет | 30h | Видеосистема работоспособна |
Нет | 31h | Монохромный монитор работоспособен |
Нет | 32h | Цветной монитор (на 40 столбцов) работоспособен |
Нет | 33h | Цветной монитор (на 80 столбцов) работоспособен |
4-2-1 | 34h | Выполняется проверка прерывания синхроимпульсов таймера или обнаружена неисправность |
4-2-2 | 35h | Выполняется проверка отключения или обнаружена неисправность |
4-2-3 | 36h | Неисправность схемы управления линией А20 |
4-2-4 | 37h | Непредусмотренное прерывание в защищенном режиме |
4-3-1 | 38h | Выполняется проверка ОЗУ или обнаружена неисправность по адресу, превышающему FFFFh |
4-3-3 | 3Ah | Проверяется канал 2 таймера или обнаружена неисправность |
4-3-4 | 3Bh | Выполняется проверка часов текущего времени или обнаружена неисправность |
4-4-1 | 3Ch | Проверяются последовательные порты или обнаружена неисправность |
4-4-2 | 3Dh | Проверяются параллельные порты или обнаружена неисправность |
4-4-3 | 3Eh | Проверяется сопроцессор или обнаружена неисправность |
Low 1-1-2 | 41h | Ошибка выбора системной платы |
Low 1-1-3 | 42h | Неисправность расширенной CMOS-памяти |
"Low " означает, что звук более низкого тона предшествует всем остальным звукам.
Сообщения об ошибках, выдаваемые на экран процедурой POST. В компьютерах XT, AT, PS/2 и в большинстве IBM-совместимых моделей процедура POST отображает на экране ход тестирования оперативной памяти компьютера. Последнее выведенное на экран число является количеством памяти, успешно прошедшей проверку.
В общем случае последнее выведенное во время тестирования число должно совпадать с объемом всей установленной в компьютере памяти (как основной, так и расширенной). Однако в некоторых компьютерах может быть отображено несколько меньшее значение, например, в том случае, если не тестируется вся верхняя память UMA (Upper Memory Area) объемом 384 Кбайт или ее часть. Если по окончании тестирования число на экране не соответствует общему объему памяти, значит, в системной памяти обнаружена ошибка.
Информацию о служебных клавишах содержат два байта, которые находятся по адресу 0:0417 и 0:0418
Содержимое байта 0:0417
Бит | Описание |
0 | Правый Shift нажат |
1 | Левый Shift нажат |
2 | Ctrl нажат |
3 | Alt нажат |
4 | ScrollLock нажат |
5 | NumLock нажат |
6 | CapsLock нажат |
7 | Insert нажат |
Содержимое байта 0:0418
Бит | Описание |
0 | Левый Ctrl нажат |
1 | Левый Alt нажат |
2 | SysReq нажат |
3 | Ctrl + NumLock – пауза |
4 | ScrollLock нажат |
5 | NumLock нажат |
6 | CapsLock нажат |
7 | Insert нажат |
Структура CMOS-памяти
00h – 0Dh used by real-time clock
0Eh POST diagnostics status byte
0Fh shutdown status byte
10h diskette drive type
11h reserved
12h hard disk drive type
13h reserved
14h equipment byte
15h –16h base memory size
17h –18h extended memory above 1M
19h hard disk 1 type
--> ЧИТАТЬ ПОЛНОСТЬЮ <--