К вопросу проектирования тестов памяти: скорость работы для них не самое важное, а важна способность определять сбои. При этом следует ориентироваться не на здравый смысл, а на опыт обнаружения различных дефектов микросхем памяти. Я когда-то читал доку на QMT (Qualitas Memory Test), позднее переименованный в RamExam. Так вот, там шла речь о специфических дефектах микросхем ОЗУ, которые обнаруживаются не за один и не за два прохода теста (при этом в память каждый раз записываются различные комбинации). Есть такие штуки, как замыкание линий адреса и т.д. На PC серьезный тест работал несколько часов, а то и сутки. И было у меня пара случаев обнаружения ошибки через много часов работы. При этом быстрая версия теста ошибок не обнаруживала.
---------- Post added at 00:35 ---------- Previous post was at 00:31 ----------
Еще я считаю, что тест по возможности должен размещаться в ПЗУ и в идеале работать только на регистрах процессора, чтобы тест сам не сбился в случае неисправности ОЗУ. Такие тесты есть, я сам один тоже делал на 256Кб (быстрый, с PUSH/POP). Правда, тогда я не знал о сложных тестах и реализовал простой тест "Марш", который, однако, обнаруживает многие дефекты ОЗУ. Однажды этот тест (он отрабатывал при первом включении компьютера) на компе моего друга обнаружил ошибку на одном и том же адресе. Заменил РУшку - стало все нормально.




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