Так в моём случае не работала не периодическая регенерация, а регенерация после чтения. Насколько я знаю - содержимое ячейки динамического ОЗУ разрушается операцией чтения (заряд конденсатора тратится при операции чтения). Поэтому после любой операции чтения, заряд конденсатора должен восстанавливаться циклом записи, следующим сразу после цикла чтения. Это выполняется внутренней схемой в чипе дин.памяти. Вот это и не работало.
Да, я знаю что в Векторе видеоконтроллер тоже читает ОЗУ постоянно (да и сбойные биты находились как раз в области видео-ОЗУ). Возможно цикл регенерации после чтения сбивался при следующих друг за другом подряд двух операциях чтения - CPU и видеоконтроллером. Или ещё из-за какой-то комбинации причин. Тут можно только гадать. Но факт был в том, что после записи в эти биты, их содержимое не портилось сколь угодно долго, пока их не прочитает именно CPU. А как только читал CPU - сразу портилось (на экране появлялась россыпь точек в местах сбойных бит). И случалось это только в тех программах, которые и читали ОЗУ. Которые только писали в видеоОЗУ - сбойных точек не возникало.
Например - если в этой области нарисовать закрашенный прямоугольник, то он таким и оставался; сколько угодно долго. Но если выполнить закраску этого же участка при помощи заливки области, то сразу возникали точки (так как алгоритм заливки должен читать видеоОЗУ, когда ищет пути заливки).
Причём - первая операция чтения ячейки процессором возвращала правильное (неразрушенное значение). А уже последующие чтения - возвращали разрушенное значение.
Естественно - если в эти адреса расположить какой-то программный код, то он тоже портился после первого выполнения. Думаю поэтому на моём экземпляре не работали некоторые программы. Которые заработали сразу после замены сбойной КР565РУ6.
PS: Да и сам по себе алгоритм теста: "запись-ожидание-чтение", имхо - бессмысленный. Потому как ожидание тогда нужно делать очень длительным (на несколько десятков секунд минимум). Я как-то (уже на современных чипах SDRAM) в одном своём проекте (где были такие чипы) делал тест: выключал регенерацию SDRAM (как внешнюю так и внутреннюю) и делал паузу, потом заново включал регенерацию и проверял содержимое ОЗУ. Так вот - портиться ОЗУ начинала только после нескольких секунд выдержки без регенерации (или даже нескольких десятков секунд?... уже точно не помню, но при желании можно найти тот проект и заново измерить). А некоторые биты держались даже несколько десятков секунд. А тот тест ОЗУ (в "Тесте устройств") явно не ждёт достаточно долго и, даже если бы схема периодической регенерации вообще бы не работала, то он скорей всего тоже не находил бы сбоев.





Ответить с цитированием