- Тесты SMK-512
-
? grf@ - 11.05.2021 12:54
В очередной раз запустив Принца на своей реплике БК11М + SMK-512, я обнаружил, что он перестал на ней работать. При этом он успешно продолжал работать на оригинальной БК. И на реплике BD тоже работал. Начал откатывать версии принца, пока он не заработал. Заработала та версия, которая еще не использовала СМК в таком объеме, как теперь. Тогда я скачал тест СМК отсюда: http://gid.pdp-11.ru/altpro_test.html и проверил им. Довольно долго он пиликал, потом сообщил, что тест закончен. Про ошибки ничего не сообщил - видимо все ок? В итоге с помощью отладчика я выяснил, что данные из СМК возвращаются мне не из всех страниц.
Накатал вот такой тест:
¤
mov #6,@#177130
mov #160,@#177130
mov #0,@#177130
¤
mov #100000,@#140000
mov #0,@#1400002
mov #33333,@#1400004
¤
mov @#140000,@#10000
mov @#140002,@#10002
mov @#140004,@#10004
¤
mov #6,@#177130
mov #140,@#177130
mov #0, @#177130
¤
И в итоге выяснилось, что в режимах 160, 124, 144, 164 в ответ мне приходит совсем не то, что записано, а в режимах 24,44 - все ок
¤
Собственно, вопрос, а что тогда проверяет тест СМК?
-
? grf@ - 11.05.2021 13:33
144 это опечатка конечно
-
? gid - 11.05.2021 14:56
В режимах 160 и 120 по адресам 140000-157777 происходит наложение ОЗУ СМК на ПЗУ БОС БК11.
Например у моей реплики СМК-512 и оригинальной БК11М, из-за того что в СМК-512 стоит быстрое СОЗУ, от него RPLY приходит быстрее, чем от ПЗУ, поэтому я этого наложения не замечаю. У меня при чтении по адресу 140000, получается то, же, что я туда записал.
А например, у моего оригинального A16M и оригинальной БК11М, из-за медленного СОЗУ прямо всё по документации - ОЗУ наложено на ПЗУ и читается совсем не то, что пишется.
Тест СМК проверяет ОЗУ на ошибки в режиме, где есть только ОЗУ СМК, без всяких наложений.
А ещё тест самих режимов, где показывает наличие/отсутствие наложений ОЗУ на ОЗУ/ПЗУ БК. (это особо проверялось, т.к. у меня есть такая возможность и эмулятор не эмулирует такое наложение, поэтому я вижу разницу в работе теста ни реальном железе и в эмуляторе.)
¤
У вас вообще, что-то странное, в режимах 160,120, когда подключены страницы с кодом 0 и 4 - в ответ приходит не то, а как я понимаю, когда подключены другие страницы, с кодами 2000,2004,10,2010,14,2014,1,2001,5,2005,11,2011,15,2015, то с ними уже всё в порядке, читается то, что записано?
-
? grf@ - 11.05.2021 15:32
[Например у моей реплики СМК-512 и оригинальной БК11М, из-за того что в СМК-512 стоит быстрое СОЗУ, от него RPLY приходит быстрее, чем от ПЗУ, поэтому я этого наложения не замечаю. У меня при чтении по адресу 140000, получается то, же, что я туда записал.]
¤
У меня тоже на оригинальном БК11М и СМК все работает как надо. А вот на новоделе два СМК одинаково глючат. И что же с этим делать в итоге? Доступ к сегментам в СМК итак яростный треш, а если еще и половина режимов работать "не обязано", то как его вообще юзать?
¤
[с кодами 2000,2004,10,2010,14,2014,1,2001,5,2005,11,2011,15,2015, то с ними уже всё в порядке, читается то, что записано?]
¤
Завтра попробую, не думаю, что результат будет отличаться.
-
? gid - 11.05.2021 21:32
[А вот на новоделе два СМК одинаково глючат]
Новодел БК11М тоже на статической памяти и быстром ПЗУ? Т.е. тоже на современных быстрых микросхемах?
Если да, то вот всё и вернулось на свои места - вот вам прелести наложения.
¤
[Доступ к сегментам в СМК итак яростный треш]
Ну да, там надо табличку режимов держать перед глазами, и помнить, что половина режимов пригодна только для записи данных в ОЗУ СМК,
А для полноценного чтения/записи на БК11 подходят только два режима: 120 и 20 и только в диапазоне 100000-137777, т.е. вместо Окно ОЗУ №1 БК11. Памяти вроде дофига, а доступ к ней - через узкое окошко, и целых 15,5 КБ (с адреса 140000 и до конца) при этом пропадает впустую, т.к. при обмене данными с СМК ничего полезного там поместить невозможно. Т.е. одновременно выполнять доступ к разным страницам ОЗУ СМК и выполнять код из ОЗУ СМК - очень, очень сложно.
Ну в режиме 20 ещё доступно ОЗУ по адресам 140000-167777 по чтению/записи, и 170000-176777 только по чтению, но чехарда с сегментами затрудняет использование.
Остальные режимы - узкоспецифические для каких-либо частных задач.
-
? grf@ - 12.05.2021 01:22
[Новодел БК11М тоже на статической памяти и быстром ПЗУ? Т.е. тоже на современных быстрых микросхемах?]
¤
Вот такая, производства Voland
16 микросхем ОЗУ КР565РУ5 заменены одной DRAM TC511664BJ-80 (к ней дополнительно идут две КР1533АП6 и одна КР555ЛА3)
¤
https://forum.pk-fpga.ru/viewtopic.php?f=15&t=5427
-
? svinka@ - 12.05.2021 01:52
А какая микросхема памяти припаяна в ваших СМК-512??
+
Может протестировать новодел 11М+ старый СМК-64?
-
? gid - 12.05.2021 06:18
[А какая микросхема памяти припаяна в ваших СМК-512?]
CY7C1041D-10ZSXI SRAM 512kb (256k x 16bit)
¤
[Может протестировать новодел 11М+ старый СМК-64?]
Подозреваю, что будет наоборот. В режимах с наложением ОЗУ СМК на память БК, ОЗУ СМК просто не будет доступно.
-
? Voland - 12.05.2021 12:44
grf, в Вашем новоделе БК11М стоит ТМ7 серии 1533 или 555? Не так давно было замечено, что 1533 приводит к глюкам с заводским КНГМД. Возможно, в данном случае она тоже оказывает влияние - попробуйте заменить на 555.
-
? Voland - 12.05.2021 12:50
Я правильно понимаю, что в смк изначально эти режимы перекрытия задуманы как некий варианты кривой логики? Битва токов и/или таймингов, и если так, то это уже изначально косяк проектирования оригинального СМК и лучше такие режимы не использовать.
-
? gid - 12.05.2021 15:36
[эти режимы перекрытия задуманы как некий варианты кривой логики?]
Эти режимы, да и вся конструкция задуманы такими, чтобы упростить и удешевить изделие до такой степени, что его можно было бы массово производить и продавать без убытка, и его могли бы даже покупать в те времена.
¤
[Битва токов и/или таймингов]
Не совсем так. Конструктивно, электрически шина МПИ это допускает, просто так стараются не делать, т.к. это - ведёт к неопределённому состоянию. Но если очень надо - то делают, но потом вылазит куча оговорок, что можно делать, а что не стоит, ибо ничего хорошего не получится.
¤
[это уже изначально косяк проектирования оригинального СМК и лучше такие режимы не использовать]
В документации все это оговорено, правда в двух словах и без объяснения причин.
-
? grf@ - 12.05.2021 16:04
[Возможно, в данном случае она тоже оказывает влияние - попробуйте заменить на 555.]
¤
Замена как-то поможет в этой "битве токов" ?
-
? gid - 13.05.2021 08:18
Из справочников я помню, что 555 по быстродействию медленнее 1533 и тока жрут больше. Так что наверное, эта замена призвана немного замедлить времянки на общей шине новодела, чтобы поведение было как у оригинальной 11М. Но это не точно.
Но уж точно это никак не поможет исправить ситуацию при неправильном использовании режимов контроллера.
-
? grf@ - 17.05.2021 07:39
Переделал работу с памятью, все заработало.
-
? svinka@ - 21.05.2021 10:12
В современной плате в качестве ПЗУ - РЕ-мулятор????
-
? grf@ - 21.05.2021 10:19
РЕ-мулятора нет
-
? svinka@ - 24.05.2021 17:34
А что есть?
-
? svinka@ - 25.05.2021 18:22
неужели никому не надо? ведь такую схемотехническую проблему интересно решать! или все деградировали???
- << Форум