Описание логики работы теста памяти ДОЗУ тестов v4.3 и v4.4.
Общее замечание. Тест памяти оперирует 16 килобайтными половинками 32 килобайтной страницы памяти контроллера АльтПро. Для этого, он подключает одну страницу дважды в двух режимах: 0160 и 060 для БК0010; и 0120 и 020 для БК0011.
Далее, под страницей памяти будем иметь в виду 16 кб половинку страницы памяти, подключаемую в одном из режимов.
Тест памяти разбит на 3 этапа
-
Перебор всех 32 кодов подключения страниц независимо от количества памяти, и заполнение массива ошибок страниц. Если страница была подключена ранее, проверки на ошибки чтения-записи не производятся.
В таблице отмечается факт повторного подключения, возникновения прерывания по вектору 4 при чтении и при записи, а так же результат байт-теста.
-
Подсчёт доступного количества ОЗУ.
При этом на экран вместе со счётчиком ОЗУ выводятся результаты проверки первого этапа, соответствующие той странице, на которой возникли ошибки:
«стр. с кодом XXXX уже подключали с YYYY»,
где XXXX - текущий код подключения страницы вместе с режимом,
а YYYY - предыдущий код, с которым эта страница уже подключалась
«write-halt» - если произошло прерывание по вектору 4 при записи.
«read-halt» - если произошло прерывание по вектору 4 при чтении.
«byte-test fail» - если байт-тест провален.Повторно подключённая страница не подсчитывается при подсчёте количества ОЗУ, в то время как страница с ошибками чтения-записи и байт-тестом - подсчитывается.
-
Проверка на битые ячейки памяти.
Проверяются все страницы кроме повторно подключаемых.
Проверка производится в два этапа:
-
Этап 1: методом записи и последующего чтения битовой маски в каждую ячейку страницы.
-
Этап 2: методом заполнения всей страницы маской, и последующего чтения маски со всей страницы.
Перед первым этапом, между этапами и после второго этапа все страницы памяти заполняются определённым значением. На каждом этапе, перед началом тестирования каждая страница проверяется на целостность заданного определённого значения. Если оно не совпадёт с заданным, то будет выведено сообщение:
«XXXX - синхро ADDRESS:VALUE:ошибка»,
что означает следующее: во время изменения данных в одной странице, изменились данные по адресу на этой странице, это свидетельствует о внутренних повреждениях чипа памяти.Если во время синхротеста возникнет ошибка чтения/записи, то выведется следующее сообщение:
«XXXX - BBBBBBBBBBBBBBBB ADDRESS:write-halt» или
«XXXX - BBBBBBBBBBBBBBBB ADDRESS:read-halt»,где BBBBBBBBBBBBBBBB - синхрокод, (число 04260 для v4.3 или 051400 для v4.4) в бинарной системе счисления.
Во время проверки на экране отображаются: текущий код страницы вместе с режимом, битовая маска, а так же сбойные адреса и сам сбой при его наличии. И отображается адрес на котором произошла ошибка чтения и/или записи, информацию о которой можно было видеть при подсчёте количества ОЗУ:
«XXXX - BBBBBBBBBBBBBBBB ADDRESS:EEEEEEEEEEEEEEEE» или
«XXXX - BBBBBBBBBBBBBBBB ADDRESS:write-halt» или
«XXXX - BBBBBBBBBBBBBBBB ADDRESS:read-halt»,где XXXX - текущий код подключения страницы вместе с режимом,
BBBBBBBBBBBBBBBB - текущая битовая маска,
ADDRESS - адрес, где произошёл сбой,
EEEEEEEEEEEEEEEE - сбойное значение,
write-halt - означает, что произошло прерывание по вектору 4 при записи,
read-halt - означает, что произошло прерывание по вектору 4 при чтении.Проверку страницы можно пропустить, нажав почти любую клавишу (кроме СТОП, СУ, АР2, ЗАГЛ, СТР и Шифт). Чтобы одним махом не напропускать лишнего, тоже делается проверка, если вы нажали клавишу, и на экране ничего не происходит - отпустите её, процесс пойдёт дальше. Это полезно, если на странице сплошняком прут ошибки, на каждом адресе. Клавишу жать надо дважды - сперва чтобы пропустить синхротест, затем, чтобы пропустить тест памяти.
-