Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
I семестр.doc
Скачиваний:
201
Добавлен:
18.02.2016
Размер:
1.52 Mб
Скачать

Основная память

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

Основные тесты памяти определяют, могут ли тестовые данные быть правильно записаны в одну и только одну ячейку ОЗУ. Ошибкой считается несовпадение прочитанных потом данных с ранее записанными. Если читаемые данные правильны, но могут быть прочитаны из нескольких различных ячеек памяти, то эта ситуация называется ошибкой адресации. Известно много алгоритмов для тестирования памяти.

1. Тест на простое чтение и запись записывает определенное значение в каждой ячейке выбранного участка памяти. Затем он читает содержимое каждой ячейки, чтобы убедиться, что значение записано правильно. Например, сначала во все блоки памяти записывается нули, затем во все блоки памяти записываются единицы, и после этого просматривается память по каждому биту на наличие "0". Это быстрый и простой, но неточный тест.

2. Тест последовательных чисел заключается в последовательной записи всех двоичных числовых комбинаций 8-битового слова в блок памяти из 256 ячеек. Затем программа считывает данные начиная с первой ячейки и проверяет, те ли это значения, сравнивая их с данными, которые должны здесь быть.

3. Псевдослучайный тест (Pseudo Random) проверяет запись-чтение случайных данных по случайным адресам. Считается, что при достаточно высокой скорости он лучше проверяет память, чем два предыдущие.

4. Все упомянутые тесты плохо выявляют замыкания между битами. Простейший тест, нацеленный на выявление замыканий - “шахматная доска” (Checker Board). Записывается код 01010101 в четные байты и код 10101010 - в нечетные байты блока памяти. Затем байты читаются и проверяются. Инвертированная шахматная доска - записывается код 10101010 в четные байты и код 01010101 - в нечетные байты блока памяти. Затем байты читаются и проверяется. Отметим, что для любого варианта тестовых данных (образа) существует инвертированный образ. В тестовых программах часто делается двойной прогон теста - с прямым образом и с инвертированным, что повышает достоверность тестирования.

5. Более качественный тест - бегущая единица (Walking Bit) - проверяет, не приведет ли установка одного из битов двоичного слова к неправильной установке другого бита этого слова. Тест начинается с загрузки двоичного числа 00000001 по самому младшему адресу ОЗУ. Содержимое по этому адресу затем считывается и проверяется. Если число 00000001 было правильно считано, единичный бит сдвигается на один разряд влево, число становится равным 00000010, и тест повторяется. После того как единичный бит пройдет все двоичные комбинации в одном слове, будет прочитан и проверен, все повторяется со следующей ячейкой памяти.

6. Двухадресный тест производит проверку адресации. Начиная с младшего адреса выбранного блока памяти программа заполняет его нулями (очищает). Затем записывает все единицы (11111111) в первую ячейку и проверяет, не появились ли единицы в каких-либо других ячейках по ошибке. Если все остальные ячейки по-прежнему содержат нули, то проверяемая ячейка очищается, и тестирование передвигается на следующую ячейку с более старшим адресом, устанавливая в ней все единицы и проверяя остальные ячейки памяти. Процесс повторяется до достижения программой конца выбранной области памяти.

Все тестовые пакеты общего назначения содержат тесты для проверки данных, замыканий и адресации. Достаточно мощным из них считается полный тест памяти, выполняемый программой Norton Diagnostics из пакета Norton Utilities. Тем не менее, доказано, что полная проверка всех возможных комбинаций ошибок невозможна за ограниченное время.

Проверка записи-чтения, замыканий, обрывов адресов относится к традиционным направлениям тестирования памяти. Кроме этого желательно было бы иметь тесты, выявляющие микросхемы, склонные к ошибкам под влиянием внешних условий: температуры, напряжения питания, внешних наводок и излучений. Подобную более тщательную проверку выполняет программа QMT (в другой версии RAMexam). В ней реализована более сложная последовательность операций записи/чтения, что позволяет, по мнению авторов теста, выявить влияние наводок от быстрого изменения информации в ячейке на другие ячейки. На практике QMT смогла за время около получаса обнаружить ошибку, не выявляемую с помощью NDiags.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]