Последний раз редактировалось nzeemin; 08.01.2023 в 15:14.
Alex_K(08.01.2023), Oleg N. Cher(08.01.2023), Radon17(08.01.2023)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Да, есть ещё куда работать. И особенно с сигналами внешних прерываний - ACLO, EVNT, HALT и VIRQ. Особенно с сигналами радиальных прерываний (которые по уровню) HALT и VIRQ. ACLO и EVNT защёлкиваются по обратному фронту и с ними таких проблем нету. А вот с HALT и VIRQ есть проблема в том, что процессор начинает их обрабатывать с запаздыванием на одну команду. Если я не ошибаюсь, регистр прерываний формируется в начале исполнения команды и уже после исполнения команды, когда происходит обработка прерываний с учётом маскирования, то используется этот регистр. Т.е. командой выставили требование HALT или VIRQ, то оно не исполнится сразу после команды, а после следующей. Вот поэтому при обращении к эмулируемым регистрам после команд, стоят NOP. Это кстати не сделано и в UKNCBTL, поэтому там и отсутствует прерывание по неполучению адреса вектора прерывания (SEL274).
И кстати, IOSCAN-а лучше сделать два. Один классический без NOP, а второй с NOP, чтобы видеть разницу между аппаратным TRAP4 и эмулируемым.
- - - Добавлено - - -
А точно из всего диапазона? 1610XX - это реально присутствующее оборудование, 1612XX - регистры UR и HR, 1614XX - RTC. Сигналы для выбора диапазонов 1611XX, 1613XX, 1615XX заводятся на внешние разъёмы. В схеме есть формирование сигнала 161XXX, а вот сигналов 1616XX, 1617XX нет.
nzeemin(08.01.2023)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)