Lavr wrote:Обсуждали мы уже "мега-глюк" здесь на форуме раза два. И господин ММ давал рекомендацию,
как его практически избегать, так что этот "мега-глюк" реально никогда не случится.
Но если вам лень покопаться на собственном форуме, то я вам ссылки искать тоже не буду...
Да вроде понятно как избегать - не использовать команд типа MOV (PC), R0
Но тем не менее глюк есть
Я тут за главного - если что шлите мыло на me собака shaos точка net
Vslav wrote:Сигнал WTBT имеет двойное назначение - при ниспадающем SYNC низкий уровень на WTBT говорит что сейчас будет цикл записи. А уже позже, при активном (низком) DOUT, WTBT служит для различения циклов записи байта/слова.
Пользуясь этим знанием можно разрулить одновременный доступ к видеопамяти процессора и схемы формирования видео
Посмотрел диаграммы из производственной документации - действительно при цикле записи на время выдачи адреса сигнал WTBT уходит в 0, однако при цикле "чтение-модификация-запись" - такое поведение отсутствует! Получается хоть заранее и можно понять, что будет цикл записи, однако цикл простого чтения от цикла "чтение-модификация-запись" заранее никак не отличить - значит прозрачному доступу в видеопамять это не поможет, т.к. мы не все записи можем предсказать
Я тут за главного - если что шлите мыло на me собака shaos точка net
В том-то и дело, что при соблюдении некоторых условий никакого глюка просто нет.
Собственно поэтому процессор и выпустли в жизнь, иначе бы глюк и увидели, и устранили.
Shaos wrote:Получается хоть заранее и можно понять, что будет цикл записи, однако цикл простого чтения от цикла "чтение-модификация-запись" заранее никак не отличить - значит прозрачному доступу в видеопамять это не поможет, т.к. мы не все записи можем предсказать
А вот, кстати, да - я для этого и искал схемы, как они разруливают с доступом в видеопамять?
Lavr wrote:искал схемы, как они разруливают с доступом в видеопамять?
Если речь про БКшку, то на схеме сразу увидите видеоконтроллер 1801ВП1-037, но с той схемы кроме квадратика ничего не увидите и ничего не поймете, поэтому вам сразу сюда. Там и схемное описание видеоконтроллера, и описание в HDL.
Альтернатива - разыскать КР1801ВП1-037, они еще, возможно, кое-где остались, и поставить на стенд. Будет сразу видно все.
Я в свое время так сам делал и людям советовал.
Shaos wrote:а напомни чем ноги DMR и RPLY отличаются от всех остальных?
Lavr wrote:RPLY - входо-выход...
С другой стороны в официальной конструкторской документации и RPLY, и DMR на ихнем, вручную отрисованном УГО, обозначены кругляками и судя по описанию вот на этой странице это обычные входы:
с таймером и регистрами БК все просто - если запросить прямой доступ к памяти у ВМ1, он шину отпускает, но другое активное устройство может работать с его регистрами, в этом случае выходы управления ВМ1 работают как входы, а RPLY является выходом, именно для этого в оригинальной схеме БК между выходом ТМ2/ТМ1 и этим выводом процессора стоит проходной резистор...
Это и на нашем форуме где-то было, скорее всего в описаниях тех схем, на основе которых
я и рисовал свою схему тестирования процессора.
Но я не люблю такие вот развязки через резисторы, поэтому и зацепил на RPLY открытый
коллектор с резистором к питанию.
Но не вижу достойных причин изменить поведение RPLY в "другой каше".
На то оно и "развитие", что подразумевается значительная совместимость.
В большинстве отечественных справочников ВМ2 идет следом за ВМ1 и
расписаны только отличия. Остальное - кивок на ВМ1.
И, кстати, это пошло от разработчика - Дшхуняна.
Shaos wrote:Ну не подключай SEL как 16-й адресный сигнал - только и всего. Тогда адресные пространства USER и HALT будут совпадать...
Я вот еще думаю, если я задействую на макетке статическую память типа UM61512AK-15 64K X 8 BIT
В количестве двух штук, то в режиме USER 1801ВМ2 использует лишь 32 К слов из них обеих,
но если подключить SEL как 16-й адресный сигнал, то оставшиеся 32 К слов можно будет
использовать в режиме HALT ?
Или надо будет еще чего-то намудрить в схемотехнике?
В схемотехнике мудрить не надо. Схемотехника должна быть целесообразной. Но в данном случае заморочек к счастью не требуется. SEL это и есть дополнительная адресная линия, разделяющая пространства USER и HALT. У SEL есть еще одна функция, никак не интерферирующая с адресной и ухищрений не требующая. По совпадению активных DIN и SEL при старте процессора на шину данных считывается адрес вектора начального пуска. По этому адресу читаются начальные PC и PSW. И если SEL как адресная линия используется, то нужно учитывать, что читаются они из пространства HALT.