Война с в/в со стороны процессора (в первую очередь - из памяти) продолжается. Пока счёт сколько то там : 1 не в мою пользу. Пока не знаю, как (лучше) определить, что запрос на в/в - это уже выставленный новый, а не ещё не снятый старый. Штуки три вариантов попробовал, но всё они правильно отработали только если или память работает медленней проца или проц очень сильно медленней (1 Гц) памяти. Да и то в варианте явного шага - закончить в/в. Пока плюнул. Попричёсывал код в процессоре и перешёл к разборкам с ДП.
Думаю, как его аккуратно прицепить к процессору, корзине и 18 битным устройствам с ПДП (читай - UMR).
Задачу усложняет то, автор PDP2011 обращение со стороны процессора к верхним 256 кб памяти (минус страница в/в) пропускает то же через блок UMR.
- В доках этот момент пока не попадался,
- Unibus процессора под рукой, на котором можно было провести натурную проверку нет,
- логические рассуждения пока приводят к выводу - вполне возможно, что оно действительно так,
- но вот PDP-11/84 и PDP-11/94 с PMI памятью, опять же, логическими рассуждениями, а так же один из вопросов в SYSGEN от RSX-11M-Plus говорят, что, по крайне мере на этих машинах - возможно, что и не так.
Можно было бы, конечно, в описании процессоров сделать ещё один флажок - как идёт обращение в область UMR со стороны проца - напрямую в память или через UMR, но пока это не только не упростит задачу, но и усложнит. Хотя, опять же, по логическим рассуждениям, это будет самый правильный вариант.
В общем, надо подумать.




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