Если говорить об АПС типа персональный компьютер, то программы комплексного тестирования для них практически отсутствуют, т. к. разработка подобных программ, в общем случае, невозможна. АПС, используя одно и то же вычислительное ядро (системную плату), могут иметь самую различную аппаратную конфигурацию в зависимости от задач, на которые они ориентированы. Поэтому, для функционального контроля РС используются тест-программы общего применения, такие как рассмотренные выше CheckIt, NDiags, Sandra и т. п.
3.1.1. Контроль и диагностика компонент системной платы.
Системные платы РС, в зависимости от их модификаций, могут содержать либо только собственно вычислитель (CPU с его системной обвеской, оперативную память и систему шин со своими контроллерами и формирователями), либо дополнительно – некоторые из контроллеров периферийных устройств (НЖМД, видеоконтроллер, коммуникационные порты, аудиоконтроллер, сетевые средства межкомпьютерной связи и т. д.). Это нужно иметь в виду и, когда разговор пойдет о контроле и диагностике системной платы, то будет подразумеваться системная плата минимальной конфигурации, без интегрированных в нее контроллеров периферийных устройств.
3.1.1.1) Контроль работы CPU и FPU.
Функциональный контроль центрального процессора РС происходит первым и обязательно – при каждом выполнении POST-программы. При этом тестируется файл регистров процессора, его переключения из режима RМ в PM и обратно, и его реакция на запросы прерывания. CPU, как известно, имеет собственную микропрограмму самотестирования, которая запускается автоматически, если CPU достаточно долго находится в режиме простоя (TiIdle).
Контроль функционирования CPU можно проводить специально, с использованием внешних тест-программ. Так, если в программе CheckIt выбрать пункт меню Tests, а в его контекстном меню пункт SystemBoard, то этот тест проверит в части микропроцессора:
- общиефункции CPU (General Function),
- ошибки по прерывания CPU (InterruptBug),
- 32-разрядное умножение (32-bitMultiply),
- защищенный режим работы (ProtectedMode),
- арифметические функции FPU (NPUArithmeticFunctions),
- тригонометрические функции FPU (NPUTrigonometricFunctions),
- функциисравнения FPU (NPU Comparison Function).
Если в программе NDiags выбрать пункт СИСТЕМА/ТЕСТ СИСТЕМНОЙ ПЛАТЫ, то тест-программа проведет:
- общий тест ЦПУ,
- тест регистров ЦПУ
- арифметический тест ЦПУ,
- тест защищенного режима работы ЦПУ.
Если в программе PC-Doctor выбрать пункт Diagnostics/CPU/Coprocessor, то будут выполнены тесты:
- CPU Registers,
- CPU Arithmetic’s,
- CPU Logical Operations,
- CPU String Operations,
- CPU Interrupt/Exceptions (/исключение),
- CPU Buffer/Cache.
- CPU C&T/Cyrix Specific (еслиЦПУихподдерживает),
- CoProc Registers,
- CoProc Commands,
- CoProc Arithmetic’s,
- CoProc Transcendental,
- CoProc Exceptions,
- CoProc Cyrix/IIT.
Как видно, самый большой набор проверок предлагает программа PC-Doctor.
3.1.1.2) Контроль средств системной поддержки CPU
Тестирующие способности системной поддержки процессора у программы CheckIt весьма скромные. Если в программе CheckItвыбрать пункт меню Tests, а в его контекстном меню пункт SystemBoard, то этот тест проверит из средств системной поддержки CPU только:
- контроллер(ы) DMA и
- контроллер(ы) прерываний (InterruptControllers).
ПрограммаNDiags,при выборе пункта меню СИСТЕМА/ТЕСТ СИСТЕМНОЙ ПЛАТЫ,из устройств системной поддержки процессора тестирует контроллер ПДП и контроллер прерываний.
ПрограммаPC-doctor в пункте Diagnostics/Motherboard тестирует те же средства системной поддержки процессора:
- контроллер прерываний,
- контроллер ПДП.
3.1.1.3) Контроль и диагностика DRAM
Оперативная память персонального компьютера выполняется, как известно, на микросхемах динамического типа, что и соответствует аббревиатуре DRAM – Dynamics-Random-AccessMemory (динамическая память произвольного доступа). Запоминающими элементами таких микросхем являются элементарные конденсаторы, образованные плавающими затворами полевых транзисторов. Эти переходы могут находиться в заряженном (логическая единица) или разряженном (логический нуль) состояниях.
Особенностью динамической памяти, в отличие от статической, является требование периодической регенерации всей хранящейся в ней информации, т. к. запоминающие емкости имеют тенденцию к саморазряду. Кроме того, элементарный запоминающий конденсатор памяти может разрядиться, если в него попадет высокоэнергетическая космическая частица, что не редкость на земной поверхности. Таким образом, динамическая память имеет склонность к искажениям отдельных бит информации. Это может иметь фатальные последствия для компьютера, т. к. в DRAM хранятся как данные, так и рабочие программы, и сама операционная система. Искажение одного бита в машинной команде может привести к тому, что, например, вместо операции чтения выполнится операция записи, которая может испортить данные, программу и даже саму ОС.
Именно поэтому динамическая оперативная память снабжается схемой паритетного контроля – свертки каждого записанного байта по модулю-2. В ответственных ЭВМ используются коды, исправляющие ошибки, например, код Хемминга. При записи, каждый байт информации сопровождается контрольным разрядом, вырабатывающимся схемой свертки, а при чтении, той же схемой свертки каждый байт проверяется на четность и, в случае нарушения паритета, вырабатывается немаскируемое прерывание, формирующее сообщение об ошибке DRAM. В этом случае автоматическое выполнение дальнейших операций блокируется и на экране дисплея появляется сообщение:
ErrorParityDRAM. SystemHalted (Ошибка четности динамической памяти. Система остановлена).
Контроль работоспособности оперативной памяти РС выполняется соответствующими секциями POST-программы при каждом включении питания компьютера, или при “холодном” рестарте системы (нажатие кнопки RESET).
При появлении симптома ошибки DRAM, следует перезагрузить операционную систему и попытаться снова запустить ту же прикладную программу. Если ошибка не повторится, то этот случай классифицируется как одиночный сбой. Если же ошибка повторяется, то это – симптом жесткой ошибки. В таком случае следует отключить механизм выработки NMI и запустить программу диагностики ошибок памяти, например, CheckIt/Tests/Memory. Можно воспользоваться и услугами программы NDiags, выбрав пункт меню ПАМЯТЬ\Тест основной (базовой) памяти, иТест расширенной памяти, а если конфигурация предусматривает и дополнительную память, то и ее тест. NDiags протестирует выбранную память следующими шаблонами:
- записью и проверкой нулей во все разряды всех ячеек проверяемой памяти,
- записью и проверкой единиц во все разряды всех ячеек проверяемой памяти,
- пробегом и проверкой единицы по всем разрядам по-очереди в каждом адресе,
- пробегом и проверкой нуля по всем разрядам по-очереди в каждом адресе,
- записью и проверкой кода 10101010 в каждый адрес (шахматный код),
- записью и проверкой кода 01010101 в каждый адрес (инверсный шахматный код).
Обе эти программы достаточно подробно тестируют DRAM, но программа CheckIt позволяет протестировать память как минимальным (QuickMemoryTestOnly), так и расширенным набором тестов и даже повторить тестирование не один раз, а до 999 раз, чтобы обнаружить плавающие ошибки памяти. Кроме того, программа CheckIt позволяет локализовать ошибку памяти до компоненты (ИМС или модуля SIMM).
Тестирование памяти с помощью программыPC-doctorвыполняется при выборе пункта Diagnostics/RAMMemory. Программа предлагает выбрать режим тестирования:
- Fast – быстрый, по одному проходу каждого теста,
- Medium – средний, по 10 раз,
- Heavy – тяжелый, по 20 раз,
тип тестирования:
- Pattern – 18-ти шаблонный,
- Address – по адресным линиям выборки ИМС,
- BusThroughput – случайными сигналами выборки,
- CodeTest – случайными кодами.
Далее следует выбрать тип тестируемой памяти:
- Base – базовую память до 640 КБ.
- Extended – расширенную, до 16 МБ.
- Expanded – дополнительную, от 1 до 32 МБ,
- UMB – блок высшей памяти, от 1 до 1,064 МБ.
Тесты могут выполняться с различными параметрами: с печатью протокола, запомнить протокол в файле, полный протокол или только протокол ошибок, с заданием адресов для каждого типа памяти. Таким образом, можно тестировать не всю, а только выбранные участки памяти.
Временные характеристики оперативной памяти под Windows прекрасно определяются с помощью программы Sandra, но если память неисправна, или ошибается, Sandra просто откажется ее тестировать. В этом случае, можно воспользоваться программами, о которых упоминалось в подразделе 2.6.2.
3.1.1.4) Контроль работы системной шины
Все типы системной шины, от ISA до PCI и USB, формируются из локальной шины центрального процессора, с помощью шинных формирователей и контроллеров системной шины. Однако, поскольку системная шина не представляет собой отдельного устройства, ее функциональный контроль непосредственно невозможен, и неисправности системной шины проявляются в одновременном отказе работы некоторых, или всех внешних устройств.
Неисправность системной шины может быть локализована, только, если внимательно наблюдать за выполнением тест-секций POST-программы, с помощью анализатора шины типа AnalBus. Для более подробной локализации неисправностей системной шины можно зациклить начальные секции POST-программы и просматривать осциллографом адресные сигналы, сигналы передачи данных по системной шине и сигналы управления шиной: запрос и подтверждение захвата шины, состояние линий запросов прерываний, сигналы циклов шины – IOR, IOW, MemR, MemW, Lock, Unlock и т. д. Бегло просмотреть исправность шинных формирователей можно, если замерить и сравнить с таблицей эталонных состояний уровни напряжений на всех контактах разъемов слотов расширения в режиме, оговоренном таблицей эталонных состояний..