Page 1 of 3

Universal Memory Tester

PostPosted: Wed, 05.03.2014 14:25:41
by Koshi
umt2_3beta.png

Universal MEMORY tester v2.3

Supported:
1.Spectrum 128
2.Pentagon 1024/512
3.Scorpion1024/256
4.KAY 1024
5.KAY 2048 (Phoenix)
6.Profi1024/512
7.ATM4.5 (1024/512)
8.ATM7.1 (1024)
9.PentEvo (TSConf)
10.Sprinter (4096)

Алгоритмы тестирования памяти:
1. быстрое тестирование памяти, проверяется записью одного и тогоже байта в страницу.
  • Вначале проверяется наличие всех страниц 8(128kb)-256(4mb). Если хоть одна страница не совпала - выводит мессадж: "WRONG PAGING!!!".
    (проверяется записью номера страницы в её начало и затем проверки оного после записи кодов во все страницы)
  • Затем идёт проверка самих страниц. Если страница в порядке то она помечается ярко-зелёным квадратом!
    (вначале страница заполняется кодом #00 и проверяется, затем заполняется кодом #FF и опять же проверяется. То же самое повторяется с кодами #55 и #AA)
2. проверка памяти через запись псевдо-случайных чисел
  • Вначале проверяется наличие всех страниц 8(128kb)-256(4mb). Если хоть одна страница не совпала - выводит мессадж: "WRONG PAGING!!!".
    (проверяется записью номера страницы в её начало и затем проверки оного после записи кодов во все страницы)
  • Затем начинается двухпроходный тест. Вначале во все страницы пишутся случайные числа, пройденные страницы помечаются ярко-циановым цветом. Потом начинается второй проход - проверка сгенерированных данных. Страницы в которых всё нормально помечаются ярко-зелёным цветом, сбойные страницы - ярко-красным!
3. проверка памяти битовыми сдвигами
  • Вначале проверяется наличие всех страниц 8(128kb)-256(4mb). Если хоть одна страница не совпала - выводит мессадж: "WRONG PAGING!!!".
    (проверяется записью номера страницы в её начало и затем проверки оного после записи кодов во все страницы)
  • В начале, с помощью ГПСЧ, создаётся паттерн размером 2кб (находится прямо в экране). Этот блок данных размножается на всю память, следом запускается сам тест. Вначале сверяем память по паттерну, потом сдвигаем всю память на 1 бит, и заново запускаем сверку с паттерном, но так же сдвинутым на 1 бит. Продолжаем в цикле... Соответственно данные в память кидаются только 1 раз, а далее просто сдвигаются (модифицируются), с последующей проверкой.
P.S. если есть мысли по поводу алгоритмов тестинга - пишем!

Исходник: UMT 2.3.ASM + FONT32.C

Re: Universal Memory Tester

PostPosted: Wed, 05.03.2014 14:27:50
by Koshi
начинаю потихоньку переселять темы, ещё живых проектов ;P

Re: Universal Memory Tester

PostPosted: Wed, 05.03.2014 15:15:42
by TS-Labs
Гуд. :ok2:

Re: Universal Memory Tester

PostPosted: Fri, 07.03.2014 00:40:43
by introspec
Очень интересно, хотя использовать по-назначению мне это и негде :)

Re: Universal Memory Tester

PostPosted: Fri, 07.03.2014 01:08:41
by introspec
А исходники планируются к публикации? мой интерес к собственно тестам памяти невелик, но вот практический код манипулирующий 100500 сортами памяти - это довольно интересно, как мне кажется.

Re: Universal Memory Tester

PostPosted: Fri, 07.03.2014 08:04:39
by g0blinish
ехехе, в старые времена 7zip служил не как тест, а как детектор глючной памяти..

Re: Universal Memory Tester

PostPosted: Fri, 07.03.2014 21:29:31
by TS-Labs
Как детектор глючной памяти служил инсталлятор винды.
Кстати, как железяка, могу сказать, что совсем не всегда из софтверного теста ОЗУ можно выловить багу ОЗУ, которая может вылезти на другом софте.

Re: Universal Memory Tester

PostPosted: Sat, 08.03.2014 11:53:02
by EARL
Я в свое время детектил глючную память, путем запуска компиляции ядра FreeBSD и сборка влилась с ошибкой, если память была глючной, в то время как другие тестилки показывали, что с ОЗУ все норм. На профике у меня был какой-то косяк с некоторыми РУ7 при нагреве, поэтому начинали плавать биты в одной паге, но только когда машинка поработала перед этим какое-то время.

Re: Universal Memory Tester

PostPosted: Sat, 08.03.2014 12:27:20
by Black_Cat
Koshi, архитектура управления памятью указанная у тебя как KAY 2048 (Phoenix), насамделе именуется SKAY (т.е. Scorpion & KAY), она объединяет не токо управление ОЗУ, но и ПЗУ. Исправь пож. на "SKAY 2048 (Scorpion & KAY)", если не трудно.

Re: Universal Memory Tester

PostPosted: Sat, 08.03.2014 14:55:26
by MC68k
TS-Labs wrote:Как детектор глючной памяти служил инсталлятор винды OS/2 Warp.
fixed

Re: Universal Memory Tester

PostPosted: Mon, 15.12.2014 21:31:12
by palsw
чем отличается 0.9 от 1.0 ?

Re: Universal Memory Tester

PostPosted: Tue, 20.01.2015 22:15:16
by Koshi
palsw wrote:чем отличается 0.9 от 1.0 ?

да ничем по сути, манагер бейзы (4мб) заменен манагером тсконфы (4мб).
P.S. все порываюсь переписать umt с нуля. ибо то, что там щас - тихий ужас... ;P

Re: Universal Memory Tester

PostPosted: Tue, 20.01.2015 23:21:16
by TS-Labs
Категорически советую попробовать данный алгоритм:
? MM @ - 29.12.2012 00:01
Самый вредный и длинный тест ОЗУ:
1.Копируем в А-адрес массив (например, из ПЗУ) длиной Б.
2.Размножаем в ОЗУ вышеупомянутый массив.
3.Сравниваем с Оригиналом.
4.Сдвигаем на 1 бит по всей длине ОЗУ.
5.Сравниваем с оригиналом с бит-поправкой.
6.Повторить циклы сдвиг-контроль много раз.(например, 10000 раз)
7.Не забывать между циклами делать паузу не менее 0.5 с без обращения к ОЗУ вообще (например, какой-либо цикл в ПЗУ).
8.Считается, что такой цикл, пройденный 2 самых полных круга (полных - по количеству бит в массиве - например, 100000 бит) -
гарантирует от ошибок "утечка в смежный конденсатор в матрице ДОЗУ". Применяется для выходного контроля милитарисских ЭВМ.
П.С.Для сельской месности выбирать массив длиной больше 8 кбайт не рекомендуется.

(Отсюда.)

Re: Universal Memory Tester

PostPosted: Sat, 04.04.2015 07:30:20
by Koshi
Обновил тест.

Изменения:
.добавлен русский язык
.переписан интерфейс
.появился тест на 128к
.сделана возможность запуска основного теста, даже если проверка мапинга страниц не прошла (в некоторых случаях может быть полезно)

P.S. фонт будет другой, так же добавится 3й алг (с битовыми сдвигами)
P.P.S. обладателям 2мб по схеме kay1024+scorp1024 (kay2048), просьба проверить тест, мне проверить негде...

Re: Universal Memory Tester

PostPosted: Sat, 04.04.2015 23:25:34
by palsw
Как бы еще sprinter добавить в тест - реально есть железки рабочие , а озу нечем проверить...

Re: Universal Memory Tester

PostPosted: Sun, 05.04.2015 08:04:36
by Koshi
добавил спринтер, проверяет только основную память 4мб. (кэш и видео рам не проверяется)
заодно исправил пару опечаток и глюк на тесте 4мб в быстром алгоритме...

P.S. тест памяти Sprinter'a не проверялся, посему тестируем...

Re: Universal Memory Tester

PostPosted: Sun, 05.04.2015 09:53:05
by palsw
Koshi, даже не ожидал!
у меня походу 1 спринтер остался ,который я притом включаю для проверки ново писанных программ .(которые в эмуляторе работают ,а на реале не совсем :) ).

Сейчас попробую запустить...

Re: Universal Memory Tester

PostPosted: Sun, 05.04.2015 10:28:39
by Sayman
Нельзя ли выдать часть исходника теста памяти Спринтера, чтобы засунуть его в местную дос. а то запускать из образа трд как то не очень хотелось бы. Спасибо!

Re: Universal Memory Tester

PostPosted: Sun, 05.04.2015 10:36:00
by palsw
Видео готово!
первый блин комом ,но за столько лет - это очень вкусный блин!

Re: Universal Memory Tester

PostPosted: Sun, 05.04.2015 10:39:58
by palsw
Sayman, в эмуле запускал -- как там?я еще позавтракать не успел уже реал гоняю.Вот радости с утра привалило :) ))

Re: Universal Memory Tester

PostPosted: Sun, 05.04.2015 10:52:20
by Sayman
при тестировании нужно обходить стороной страницу dcp, страницы видеопамяти гонять нужно отдельно как-то и по всей видимости при тестировании этих страниц на экране будут артефакты.
в эмуле не смогу запустить - нет режима эмуляции трдоса (переход в трдос).

Re: Universal Memory Tester

PostPosted: Sun, 05.04.2015 11:01:09
by palsw
раз такая пьянка - протестирую Феникс 0.5.1 новым тестом - так как старую версию 0.9 очень активно использовал при наладке турбо режима 7мгц и тест очень помог в свое время...

Работает тест в режиме Феникс 2048 в турбо режиме :)

Re: Universal Memory Tester

PostPosted: Sun, 05.04.2015 13:19:04
by Koshi
Sayman wrote:Нельзя ли выдать часть исходника теста памяти Спринтера, чтобы засунуть его в местную дос. а то запускать из образа трд как то не очень хотелось бы.

исходники вскоре выложу...
Sayman wrote:при тестировании нужно обходить стороной страницу dcp

паги #50-#5F так понимаю?

Re: Universal Memory Tester

PostPosted: Sun, 05.04.2015 14:33:27
by Sayman
паги #50-#5F так понимаю?

это страницы видеопамяти. по доступу к ним я буду потом отдельно разбираться и их пока лучше тоже обходить стороной. страница с дешифратором портов (dcp), это страница #40.
таким образом получается, что страницы #40, #50 - #5f обходим за километр.

Re: Universal Memory Tester

PostPosted: Sun, 05.04.2015 22:19:40
by palsw
Sayman,
это страницы видеопамяти


запись в видео озу идет парраллельно и в основное озу .считывание с видео озу идет на самом деле только с основного озу и некогда с видео озу. (каламбур) .

таким образом можно смело писать страницы #50 - #5f и верифицировать их - так как это будут именно страницы основного озу (SIMM).
а кратковременные артефакты на экране не страшные для теста и юзера.Имхо