Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19

Тема: Ещё один универсальный тест памяти

  1. #1
    Master
    Регистрация
    21.08.2006
    Адрес
    Ижевск
    Сообщений
    630
    Благодарностей: 531
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Wink Ещё один универсальный тест памяти

    Загружаемый, работает в ОЗУ.
    (Имеет смысл применять когда вроде бы всё работает, но есть подозрения...)

    -----------------------------

    AUMT.SCL AUMT.TAP (131116)

    Цели:
    1. Претендовать на звание Stress-теста.
    2. Работать как можно быстрее (1Мб - не 48кб;).

    Исходя их этого...
    Неважно, какой там бит, по какому адресу... Главное - был сбой или нет.
    Фиксируется сбой с точностью до страницы.
    Счётчик проходов, счётчик сбоев.
    Попробовать внести дополнительные "помехи" тесту (для некоторых клонов
    [Pent1024, Profi, Turbo2+] хаотично переключаются видеорежимы, режим турбо -
    для этого запускать тест клавишей <0>, а не <Enter>).
    Пятая страница тоже участвует в проверках, за исключением 2 килобайт,
    где находится программа.

    Вначале происходит перебор страниц, из проверки исключаются копии страниц.

    Проводится 32 теста с разными паттернами.
    Сначала заполняется вся память, затем проверяется.

    Индикация в верхней части экрана:
    Зелёный - всё ок.
    Красный - был сбой. При следующих тестах на этом месте остаётся жёлтый "след".

    Удержание любой клавиши задерживает начало очередного теста.

    Ограничения:
    Т.к. тест универсальный, страницы тестируются только через "верхнее очко".
    Предполагается, что на Turbo2+ нет перепутывания адресов ОЗУ
    (доработка http://atmturbo.nedopc.com/dev_ram.htm)
    На Turbo2+ должен отключаться контроллер 8031 (только мех. клавиатура).

    -----------------------------

    A48MT.SCL A48MT.TAP (100517)

    Версия, тестирует только 48К.

    Для "Балтика" и "Орели" возможно проверить все 64К.

    (Вопрос: в каких ещё 48K клонах можно отключать ПЗУ?)
    Последний раз редактировалось DDp; 19.10.2014 в 18:04. Причина: version update

  2. Эти 9 пользователя(ей) поблагодарили DDp за это полезное сообщение:
    Alex_NEMO (14.05.2010), Astrolux (31.07.2015), Barmaley_m (18.11.2010), doorsfan (14.05.2010), Mirazh (16.05.2010), perestoronin (17.07.2013), SoftFelix (16.05.2010), solegstar (11.11.2014), tm-bd446 (11.11.2012)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Master
    Регистрация
    25.04.2009
    Адрес
    Днепропетровск
    Сообщений
    752
    Благодарностей: 130
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    out #7f,1 в БК Орель 48К впечатывает теневое озу; ,0 - обратно впечатывает ПЗУ.

  5. #3
    Guru Аватар для SoftFelix
    Регистрация
    20.03.2007
    Адрес
    Санкт-Петербург
    Сообщений
    2,380
    Благодарностей: 784
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    DDp, Тест хороший. Единственное, я не совсем понял, можно ли _зациклить_ любой тест только на _чтение_ ранее записаной последовательности? Т.е. заполнили все банки неким значением и потом бесконечно считываем/проверяем. Поможет выявить сбои разрушения данных в памяти при длительной работе компа.

  6. #4
    Master
    Регистрация
    21.08.2006
    Адрес
    Ижевск
    Сообщений
    630
    Благодарностей: 531
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от doorsfan Посмотреть сообщение
    out #7f,1 в БК Орель 48К впечатывает теневое озу;...
    Видимо, OUT (#7F),2 - правильнее.

    ---------- Post added at 22:27 ---------- Previous post was at 22:14 ----------

    Цитата Сообщение от SoftFelix Посмотреть сообщение
    Тест хороший. Единственное, я не совсем понял, можно ли _зациклить_ любой тест только на _чтение_ ранее записаной последовательности? Т.е. заполнили все банки неким значением и потом бесконечно считываем/проверяем. Поможет выявить сбои разрушения данных в памяти при длительной работе компа.
    Если проверять регенерацию памяти это одно, а если "разрушения данных в памяти при длительной работе" - это другое. Думаю вероятность разрушения данных будет даже больше, если не только читать, но ещё и писать.

  7. Этот пользователь поблагодарил DDp за это полезное сообщение:
    Barmaley_m (18.11.2010)

  8. #5
    Master
    Регистрация
    26.06.2009
    Адрес
    Днепропетровск
    Сообщений
    618
    Благодарностей: 49
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SoftFelix Посмотреть сообщение
    DDp, Тест хороший. Единственное, я не совсем понял, можно ли _зациклить_ любой тест только на _чтение_ ранее записаной последовательности? Т.е. заполнили все банки неким значением и потом бесконечно считываем/проверяем. Поможет выявить сбои разрушения данных в памяти при длительной работе компа.

    а у вас нормально тест проверку проходит?

  9. #6
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,646
    Благодарностей: 231
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DDp Посмотреть сообщение
    (Вопрос: в каких ещё 48K клонах можно отключать ПЗУ?)
    #000F/15 Novosibirsk 64k CPU0 CONFIGURATION PORT
    --------------------------------------------------------------------------------
    D0 ROMsel:0-DOS,1-ZX
    D1 CPU0:0-RAM,1-ROM

  10. #7
    Master
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    890
    Благодарностей: 478
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    К вопросу проектирования тестов памяти: скорость работы для них не самое важное, а важна способность определять сбои. При этом следует ориентироваться не на здравый смысл, а на опыт обнаружения различных дефектов микросхем памяти. Я когда-то читал доку на QMT (Qualitas Memory Test), позднее переименованный в RamExam. Так вот, там шла речь о специфических дефектах микросхем ОЗУ, которые обнаруживаются не за один и не за два прохода теста (при этом в память каждый раз записываются различные комбинации). Есть такие штуки, как замыкание линий адреса и т.д. На PC серьезный тест работал несколько часов, а то и сутки. И было у меня пара случаев обнаружения ошибки через много часов работы. При этом быстрая версия теста ошибок не обнаруживала.

    ---------- Post added at 00:35 ---------- Previous post was at 00:31 ----------

    Еще я считаю, что тест по возможности должен размещаться в ПЗУ и в идеале работать только на регистрах процессора, чтобы тест сам не сбился в случае неисправности ОЗУ. Такие тесты есть, я сам один тоже делал на 256Кб (быстрый, с PUSH/POP). Правда, тогда я не знал о сложных тестах и реализовал простой тест "Марш", который, однако, обнаруживает многие дефекты ОЗУ. Однажды этот тест (он отрабатывал при первом включении компьютера) на компе моего друга обнаружил ошибку на одном и том же адресе. Заменил РУшку - стало все нормально.

  11. #8
    Member Аватар для MegaMyth
    Регистрация
    04.12.2006
    Адрес
    Ижевск
    Сообщений
    139
    Благодарностей: 1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DDp Посмотреть сообщение
    (Вопрос: в каких ещё 48K клонах можно отключать ПЗУ?)
    "Компаньон-1" вот порт правда не помню, толи 0,128 толи 128,0.
    Помню точно, что в теневое ОЗУ можно писать и при включенном роме
    Код:
    10 FOR A=0 TO 16383
    20 POKE A,PEEK A
    30 NEXT A
    делало полное копирование РОМа в РАМу. после OUT куда-то, что-то и ты в раме.

  12. #9
    Veteran Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    Курган
    Сообщений
    1,811
    Благодарностей: 375
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Еще я считаю, что тест по возможности должен размещаться в ПЗУ и в идеале работать только на регистрах процессора, чтобы тест сам не сбился в случае неисправности ОЗУ.
    Правильно. А на мой взгляд, ещё лучше если тест будет писать в память некую последовательность чисел, а не только значения 00, FF, AA, 55. Ведь при временном замыкании пары адресных линий и при определенном алгоритме тест может запросто не заметить сбойных ячеек. Неплохой вариант был бы генерить псевдослучайную последовательность и писать её во всё ОЗУ. Потом считывать её и сравнивать с вновь генерируемой, потом менять начальный адрес и стартовые значения генератора. Либо тест нужно писать опираясь на схему конкретного компа. Дабы знать по каким адресам идут "паттерны" из строк и адресов.

    P.S. Мой пример. Я купил на ebay'е zx +2, у него была неисправно ОЗУ. Причем интересно так, запись в ячейку дублирует значение далее (вроде через 64 байта, я не помню уже деталей). Тест в ПЗУ басик-128 посчитал что ОЗУ исправно. (при неисправном ОЗУ он зависает с цветом бордюра соотв. странице).

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  13. #10
    Master
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    890
    Благодарностей: 478
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vadim, твоя ошибка ОЗУ была бы обнаружена тестом "Марш". Запись псевдослучайной последовательности называется тестом "Шум". Проблема в том, что тестировать память таким способом довольно долго. Запись в память определенных последовательностей, обоснованных теорией, позволяет обнаружить типичные ошибки быстрее. Ведь память портится не абы как, а существует целый перечень типичных неисправностей. Некоторые из них могут тестом "Шум" даже не обнаруживаться. Например, представь, что при записи по адресу 00 одновременно происходит ошибочная запись по адресу 10, но не наоборот. И вот тест записал сначала некое число по адресу 0, потом подряд в ячейки 1,2,3 и так далее до 10, при этом следы ошибочной записи были стерты. Последующая проверка покажет, что все нормально.

    Тест "Шум" следует применять только после того, как все предыдущие тесты прошли успешно. Даже если оставить за скобками относительно низкую вероятность обнаружения ошибок таким тестом: генерация псевдослучайной последовательности - процесс затратный по вычислительным ресурсам. Тест будет проходить медленно за счет этого.

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Специалист: Тест памяти
    от Protom в разделе Специалист
    Ответов: 32
    Последнее: 22.03.2013, 15:33
  2. Универсальный джойстик
    от breeze в разделе Устройства ввода
    Ответов: 7
    Последнее: 13.12.2007, 17:11
  3. Ответов: 10
    Последнее: 18.10.2006, 14:35
  4. Тест памяти
    от spleen в разделе Софт
    Ответов: 2
    Последнее: 02.05.2006, 13:15
  5. Ответов: 24
    Последнее: 01.07.2005, 05:16

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •