Ниже прикрепляю файл с LogiSim-эскизом схемы переключения режимов.
Триггер ТМ2 просто сохраняет старший бит A15 счётчика команд PC во время выборки очередного кода инструкции в цикле M1 синхронно по Ф2TTL и SYNC, когда на ШД D5 выдаётся флаг M1.
Получается, что верхний ИД7 - системный на плате РЛК активируется только на командах, работающих по адресам выше 8000 и программа Монитор работает только с ним.
Напротив, дополнительный нижний ИД7 - пользовательский и служит лишь для выбора всех верхних ячеек дополнительного ОЗУ, которое не видно из-под Монитора и открывается лишь для пользовательского кода, работающего в нижних адресах 0000…7FFF.
Разметка памяти при этом может получиться такой (на вход D подаются A13…A15 через элемент 3-И):Код:ПАМЯТЬ ПОД БСВВ / ДОС (PC>DFFF) ПАМЯТЬ ПОЛЬЗОВАТЕЛЯ (PC<E000) FFFF +-------------------------+ FFFF +-------------------------+ | ПЗУ "МОНИТОР" / ПДП | | | F800 +-------------------------+ | ОЗУ | | ПЗУ #2 / РЕГИСТРЫ КНГМД | | ПОЛЬЗОВАТЕЛЯ | F000 +-------------------------+ | (ТОЛЬКО ДАННЫЕ) | | ПЗУ "ДОС" | | | E000 +-------------------------+ E000 +-------------------------+ | ВГ75 | | | C000 +-------------------------+ | ОЗУ | | D14 ВВ55 | | ПОЛЬЗОВАТЕЛЯ | A000 +-------------------------+ | (ПРОГРАММЫ И ДАННЫЕ) | | D20 ВВ55 | | | 8000 +-------------------------+ 8000 +-------------------------+ | БУФЕР ЭКРАНА | | БУФЕР ЭКРАНА | 76D0 +-------------------------+ 76D0 +-------------------------+ | РАБОЧИЕ ЯЧЕЙКИ МОНИТОРА | | РАБОЧИЕ ЯЧЕЙКИ МОНИТОРА | 7600 +-------------------------+ 7600 +-------------------------+ | | | | | ОЗУ | | ОЗУ | | | | | | ПОЛЬЗОВАТЕЛЯ | | ПОЛЬЗОВАТЕЛЯ | | | | | | (ПРОГРАММЫ И ДАННЫЕ) | | (ПРОГРАММЫ И ДАННЫЕ) | | | | | 0000 +-------------------------+ 0000 +-------------------------+




Ответить с цитированием