Цитата Сообщение от Titus Посмотреть сообщение
Не знаю, какая предвыборка у ВМ1, но явно иная. А у ВМ2 действительно есть предвыборка слова команд. И я это даже реализовывал в своем эмуляторе. Подробно об этом можно почитать в доках на ВМ2, которые я выкладывал.
Подробного описания алгоритма предвыборки в доках ВМ2 мне найти не удалось. То, что там написано о предвыборке - довольно малоинформативно.

Достаточно представить себе ( или нарисовать ), как фазы выполнения различных команд соотносятся с тем, что происходит в этот момент на шине, чтобы стало ясно, что большой разницы в алгоритмах предвыборки команд у ВМ1 и ВМ2 быть не может.

Главная причина в том, что цикл чтения занимает кучу тактов, поэтому начать предвыборку до завершения любой команды, которая работает с операндами в памяти - невозможно. Но это значит, что предвыборку нельзя начать и до того момента, пока текущая команда не будет раскодирована и не станет ясно, потребуются ли ей дальнейшие циклы шины или нет.

Процессор ВМ1 выполняет две последовательных команды TST R0 быстрее, чем одну команду TST (R0). Такое возможно только при наличии предвыборки регистровых команд.