Цитата Сообщение от Patron Посмотреть сообщение
Сегодня Voland сообщил, почему 1801ВМ1 иногда зависает при работе с 1801ВП1-128.

Выяснилось, что причиной зависания является изменение содержимого регистра статуса или данных в тот момент, когда этот регистр читается процессором.
Небольшое уточнение - является причиной зависания ПЛИС-реализации ВП1-128 в рамках контроллера СМК512,
а на оригинальном СМК64, построенном на заводской ВП1-128 - именно такие зависания отсутствуют.

Закономерным будет вопрос - откуда зависания взялись. Логика контроллера не менялась, логика формирования самих данных в регистрах осталась абсолютно прежней, отчасти это подтверждается тем, что на БК0010-01 данная проблема зависаний ИЗНАЧАЛЬНО ОТСУТСТВОВАЛА. Другое дело, что никто точно не знает, почему 1801ВМ1 так может реагировать на происходящее на шине, ибо это нормально, когда содержимое какого-нибудь периферийного регистра может меняться в процессе считывания - это же асинхронные события. Вполне возможно, что к примеру у оригинального контроллера задержки и фронты длинее, поэтому такие модификации при чтении не сбивают процессор. Для защиты теперь поставили регистр-защелку, который фиксирует состояние шины во время чтения из регистров FDD.