Speccy - наш выбор!  
ZXPRESS
ZXTUNES
Virtual TR-DOS
World of Spectrum
ZX Spectrum Old Demos •

Go Back   Speccy - наш выбор! > ZX Spectrum Hardware > Память

Reply
 
Thread Tools Display Modes
Old 14th May 2010, 13:30   #1
Activist
 
Join Date: 21st August 2006
Location: Ижевск
Posts: 452
Thanks: 3
Thanked 298 Times in 133 Posts
DDp is just really niceDDp is just really niceDDp is just really niceDDp is just really niceDDp is just really nice
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 клонах можно отключать ПЗУ?)

Last edited by DDp; 19th October 2014 at 19:04. Reason: version update
DDp is offline   Reply With Quote
The Following 8 Users Say Thank You to DDp For This Useful Post:
Alex_NEMO (14th May 2010), Barmaley_m (18th November 2010), doorsfan (14th May 2010), Mirazh (17th May 2010), perestoronin (17th July 2013), SoftFelix (16th May 2010), solegstar (11th November 2014), tm-bd446 (11th November 2012)
Old 14th May 2010, 13:33   #2
Master
 
Join Date: 25th April 2009
Location: Днепропетровск
Posts: 693
Thanks: 211
Thanked 124 Times in 92 Posts
doorsfan will become famous soon enoughdoorsfan will become famous soon enough
Default

out #7f,1 в БК Орель 48К впечатывает теневое озу; ,0 - обратно впечатывает ПЗУ.
doorsfan is offline   Reply With Quote
Old 17th May 2010, 23:27   #3
Activist
 
Join Date: 21st August 2006
Location: Ижевск
Posts: 452
Thanks: 3
Thanked 298 Times in 133 Posts
DDp is just really niceDDp is just really niceDDp is just really niceDDp is just really niceDDp is just really nice
Default

Quote:
Originally Posted by doorsfan View Post
out #7f,1 в БК Орель 48К впечатывает теневое озу;...
Видимо, OUT (#7F),2 - правильнее.

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

Quote:
Originally Posted by SoftFelix View Post
Тест хороший. Единственное, я не совсем понял, можно ли _зациклить_ любой тест только на _чтение_ ранее записаной последовательности? Т.е. заполнили все банки неким значением и потом бесконечно считываем/проверяем. Поможет выявить сбои разрушения данных в памяти при длительной работе компа.
Если проверять регенерацию памяти это одно, а если "разрушения данных в памяти при длительной работе" - это другое. Думаю вероятность разрушения данных будет даже больше, если не только читать, но ещё и писать.
DDp is offline   Reply With Quote
The Following User Says Thank You to DDp For This Useful Post:
Barmaley_m (18th November 2010)
Old 16th May 2010, 13:03   #4
Veteran
 
SoftFelix's Avatar
 
Join Date: 20th March 2007
Location: Санкт-Петербург
Posts: 1,655
Thanks: 469
Thanked 523 Times in 409 Posts
SoftFelix is a glorious beacon of lightSoftFelix is a glorious beacon of lightSoftFelix is a glorious beacon of lightSoftFelix is a glorious beacon of lightSoftFelix is a glorious beacon of lightSoftFelix is a glorious beacon of light
Default

DDp, Тест хороший. Единственное, я не совсем понял, можно ли _зациклить_ любой тест только на _чтение_ ранее записаной последовательности? Т.е. заполнили все банки неким значением и потом бесконечно считываем/проверяем. Поможет выявить сбои разрушения данных в памяти при длительной работе компа.
SoftFelix is online now   Reply With Quote
Old 26th June 2010, 12:46   #5
Master
 
Join Date: 26th June 2009
Location: Днепропетровск
Posts: 618
Thanks: 348
Thanked 50 Times in 42 Posts
sevol will become famous soon enough
Default

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

а у вас нормально тест проверку проходит?
sevol is offline   Reply With Quote
Old 26th June 2010, 14:09   #6
Banned
 
Black_Cat's Avatar
 
Join Date: 15th June 2006
Location: S.Pb
Posts: 5,931
Thanks: 26
Thanked 116 Times in 106 Posts
Black_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of light
Default

Quote:
Originally Posted by DDp View Post
(Вопрос: в каких ещё 48K клонах можно отключать ПЗУ?)
#000F/15 Novosibirsk 64k CPU0 CONFIGURATION PORT
--------------------------------------------------------------------------------
D0 ROMsel:0-DOS,1-ZX
D1 CPU0:0-RAM,1-ROM
Black_Cat is offline   Reply With Quote
Old 8th July 2010, 03:35   #7
Master
 
Join Date: 8th May 2007
Location: Dnepropetrovsk
Posts: 801
Thanks: 340
Thanked 389 Times in 195 Posts
Barmaley_m is a glorious beacon of lightBarmaley_m is a glorious beacon of lightBarmaley_m is a glorious beacon of lightBarmaley_m is a glorious beacon of lightBarmaley_m is a glorious beacon of lightBarmaley_m is a glorious beacon of light
Default

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

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

Еще я считаю, что тест по возможности должен размещаться в ПЗУ и в идеале работать только на регистрах процессора, чтобы тест сам не сбился в случае неисправности ОЗУ. Такие тесты есть, я сам один тоже делал на 256Кб (быстрый, с PUSH/POP). Правда, тогда я не знал о сложных тестах и реализовал простой тест "Марш", который, однако, обнаруживает многие дефекты ОЗУ. Однажды этот тест (он отрабатывал при первом включении компьютера) на компе моего друга обнаружил ошибку на одном и том же адресе. Заменил РУшку - стало все нормально.
Barmaley_m is offline   Reply With Quote
Old 18th November 2010, 11:23   #8
Member
 
MegaMyth's Avatar
 
Join Date: 4th December 2006
Location: Ижевск
Posts: 139
Thanks: 1
Thanked 1 Time in 1 Post
MegaMyth is on a distinguished road
Default

Quote:
Originally Posted by DDp View Post
(Вопрос: в каких ещё 48K клонах можно отключать ПЗУ?)
"Компаньон-1" вот порт правда не помню, толи 0,128 толи 128,0.
Помню точно, что в теневое ОЗУ можно писать и при включенном роме
Code:
10 FOR A=0 TO 16383
20 POKE A,PEEK A
30 NEXT A
делало полное копирование РОМа в РАМу. после OUT куда-то, что-то и ты в раме.
MegaMyth is offline   Reply With Quote
Old 18th November 2010, 12:27   #9
Veteran
 
Vadim's Avatar
 
Join Date: 24th July 2008
Location: Курган
Posts: 1,446
Thanks: 79
Thanked 297 Times in 195 Posts
Vadim is a jewel in the roughVadim is a jewel in the roughVadim is a jewel in the roughVadim is a jewel in the rough
Default

Quote:
Originally Posted by Barmaley_m View Post
Еще я считаю, что тест по возможности должен размещаться в ПЗУ и в идеале работать только на регистрах процессора, чтобы тест сам не сбился в случае неисправности ОЗУ.
Правильно. А на мой взгляд, ещё лучше если тест будет писать в память некую последовательность чисел, а не только значения 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
[свернуть]
Vadim is offline   Reply With Quote
Old 18th November 2010, 15:29   #10
Master
 
Join Date: 8th May 2007
Location: Dnepropetrovsk
Posts: 801
Thanks: 340
Thanked 389 Times in 195 Posts
Barmaley_m is a glorious beacon of lightBarmaley_m is a glorious beacon of lightBarmaley_m is a glorious beacon of lightBarmaley_m is a glorious beacon of lightBarmaley_m is a glorious beacon of lightBarmaley_m is a glorious beacon of light
Default

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

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


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +4. The time now is 17:26.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Map Яндекс.Метрика