А я-то думаю, зачем там и ABORT и TO_RPLY.
Просто пока руки не дошли до этого блока. Слишком много всего в ВМ2.
Вид для печати
Интересная особенность у блока программного сброса по команде RESET (000005).
Таймингами генерации INIT в этом случае заведует блок таймаута. Вот такая унивесальность.
Когда активируется программный INIT, на выход процессора выдается сигнал INIT и блок таймаута начинает считать, а микропрограммный автомат приостанавлвиается.
Когда блок таймаута досчитал до 53 (сигнал TOUT), с выхода процессора снимается INIT, но микропрограмма все еще стоит на месте.
Видимо, в этом интервале внешнем устройствам дается время переинициализироваться после INIT.
Далее блок таймаута достчитывает до 512 (спад сигнала TINIT), и работа процессора продолжается.
Кстати, сигнал PLI_NRDY - это вовсе не сигнал неготовности ПЛМ прерываний, как можно подумать из названия. Он как раз и отвечает за альтернативный режим работы таймера, и приостановку микропрограммы на это время. Но переименовывать его я конечно же не стану)
Из такого алгоритма работы INIT, использующего таймер, возникает определенный вопрос. А что если при выборке команды RESET, была предвыборка следующей команды с несуществующего адреса, и начался отсчет таймаута. А тут бац, и INIT решила воспользоваться таймером. Накладочка получается)
- - - Добавлено - - -
Далее можно порассуждать. Вот у нас завис DIN из-за того, что шина не отвечает. При этом включился режим INIT.
Приоритет у INIT выше, поэтому событие TEVENT (таймаут шины) по достижении таймером значения 53 - не произойдет.
В общем, программный INIT отработает полностью, затем таймер таймаута пойдет считать по кругу, и уже на втором круге возьмет свое.
Таким образом, если случился таймаут по предвыборке следующей команды после RESET, то DIN зависнет на 565 тактов.
А учитывая, что внешние устройства при этом сбросятся, еще не известно, как они среагирует на этот активный DIN.
Как-то ту не совсем понятно с MTPS. В начальном описании её нет, но в алгоритме исполнения микрокода она упоминается.
Далее интереснее:
А по адресу 0x18 обработка JMP/JSR:
Я конечно понимаю, что здесь много общего с MTPS Rn, но на этом как-то не акцентируется внимание.
Забыл в шапке ее вписать. Конечно, она есть.
- - - Добавлено - - -
Тут видится несостыковка потому что по адресу 0x18 находится И обработчик JMP/JSR, и обработчик окончания MTPS.
Попробую это обозначить специально.
- - - Добавлено - - -
Исправил описание, добавил MTPS.