![]() |
|
|
|
|
|
#1 |
|
Activist
Join Date: 21st August 2006
Location: Ижевск
Posts: 452
Thanks: 3
Thanked 298 Times in 133 Posts
![]() ![]() ![]() ![]() ![]() |
Загружаемый, работает в ОЗУ.
(Имеет смысл применять когда вроде бы всё работает, но есть подозрения...) ----------------------------- 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 |
|
|
|
| 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) |
|
|
#3 | |
|
Activist
Join Date: 21st August 2006
Location: Ижевск
Posts: 452
Thanks: 3
Thanked 298 Times in 133 Posts
![]() ![]() ![]() ![]() ![]() |
Видимо, OUT (#7F),2 - правильнее.
---------- Post added at 22:27 ---------- Previous post was at 22:14 ---------- Quote:
|
|
|
|
|
| The Following User Says Thank You to DDp For This Useful Post: | Barmaley_m (18th November 2010) |
|
|
#4 |
|
Veteran
Join Date: 20th March 2007
Location: Санкт-Петербург
Posts: 1,655
Thanks: 469
Thanked 523 Times in 409 Posts
![]() ![]() ![]() ![]() ![]() ![]() |
DDp, Тест хороший. Единственное, я не совсем понял, можно ли _зациклить_ любой тест только на _чтение_ ранее записаной последовательности? Т.е. заполнили все банки неким значением и потом бесконечно считываем/проверяем. Поможет выявить сбои разрушения данных в памяти при длительной работе компа.
|
|
|
|
|
|
#5 | |
|
Master
Join Date: 26th June 2009
Location: Днепропетровск
Posts: 618
Thanks: 348
Thanked 50 Times in 42 Posts
![]() |
Quote:
а у вас нормально тест проверку проходит? |
|
|
|
|
|
|
#6 |
|
Banned
Join Date: 15th June 2006
Location: S.Pb
Posts: 5,931
Thanks: 26
Thanked 116 Times in 106 Posts
![]() ![]() ![]() ![]() ![]() ![]() |
|
|
|
|
|
|
#7 |
|
Master
Join Date: 8th May 2007
Location: Dnepropetrovsk
Posts: 801
Thanks: 340
Thanked 389 Times in 195 Posts
![]() ![]() ![]() ![]() ![]() ![]() |
К вопросу проектирования тестов памяти: скорость работы для них не самое важное, а важна способность определять сбои. При этом следует ориентироваться не на здравый смысл, а на опыт обнаружения различных дефектов микросхем памяти. Я когда-то читал доку на QMT (Qualitas Memory Test), позднее переименованный в RamExam. Так вот, там шла речь о специфических дефектах микросхем ОЗУ, которые обнаруживаются не за один и не за два прохода теста (при этом в память каждый раз записываются различные комбинации). Есть такие штуки, как замыкание линий адреса и т.д. На PC серьезный тест работал несколько часов, а то и сутки. И было у меня пара случаев обнаружения ошибки через много часов работы. При этом быстрая версия теста ошибок не обнаруживала.
---------- Post added at 00:35 ---------- Previous post was at 00:31 ---------- Еще я считаю, что тест по возможности должен размещаться в ПЗУ и в идеале работать только на регистрах процессора, чтобы тест сам не сбился в случае неисправности ОЗУ. Такие тесты есть, я сам один тоже делал на 256Кб (быстрый, с PUSH/POP). Правда, тогда я не знал о сложных тестах и реализовал простой тест "Марш", который, однако, обнаруживает многие дефекты ОЗУ. Однажды этот тест (он отрабатывал при первом включении компьютера) на компе моего друга обнаружил ошибку на одном и том же адресе. Заменил РУшку - стало все нормально. |
|
|
|
|
|
#8 |
|
Member
Join Date: 4th December 2006
Location: Ижевск
Posts: 139
Thanks: 1
Thanked 1 Time in 1 Post
![]() |
"Компаньон-1" вот порт правда не помню, толи 0,128 толи 128,0.
Помню точно, что в теневое ОЗУ можно писать и при включенном роме Code:
10 FOR A=0 TO 16383 20 POKE A,PEEK A 30 NEXT A |
|
|
|
|
|
#9 | |
|
Veteran
Join Date: 24th July 2008
Location: Курган
Posts: 1,446
Thanks: 79
Thanked 297 Times in 195 Posts
![]() ![]() ![]() ![]() |
Quote:
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 ![]() [свернуть] |
|
|
|
|
|
|
#10 |
|
Master
Join Date: 8th May 2007
Location: Dnepropetrovsk
Posts: 801
Thanks: 340
Thanked 389 Times in 195 Posts
![]() ![]() ![]() ![]() ![]() ![]() |
Vadim, твоя ошибка ОЗУ была бы обнаружена тестом "Марш". Запись псевдослучайной последовательности называется тестом "Шум". Проблема в том, что тестировать память таким способом довольно долго. Запись в память определенных последовательностей, обоснованных теорией, позволяет обнаружить типичные ошибки быстрее. Ведь память портится не абы как, а существует целый перечень типичных неисправностей. Некоторые из них могут тестом "Шум" даже не обнаруживаться. Например, представь, что при записи по адресу 00 одновременно происходит ошибочная запись по адресу 10, но не наоборот. И вот тест записал сначала некое число по адресу 0, потом подряд в ячейки 1,2,3 и так далее до 10, при этом следы ошибочной записи были стерты. Последующая проверка покажет, что все нормально.
Тест "Шум" следует применять только после того, как все предыдущие тесты прошли успешно. Даже если оставить за скобками относительно низкую вероятность обнаружения ошибок таким тестом: генерация псевдослучайной последовательности - процесс затратный по вычислительным ресурсам. Тест будет проходить медленно за счет этого. |
|
|
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|