Да, предвыборка команд в 1801ВМ2 играет большую роль, т.к. следующая команда читается из памяти во время дешифрации текущей. И может произойти такая ситуация, что дешифрация команды завершилась, требуется обращение на шину для обмена, а чтение следующей команды еще идет.
Тут для выяснения влияния предвыборки неплохо сделать тесты из двух команд, одна из которых занимает одно слово, а вторая - два. В этом случае предвыборка будет работать на команду из двух слов, а на команду из одного не будет.
Есть еще интересный тест для выяснения из команды MOV R0,(R1)+, где R0=010021, т.е. команда записывает сама себя на следующий адрес для исполнения. Т.к. запись происходит по следующему адресу исполнения, то предвыборка также не будет работать. Чтобы команда не затерла всю память, то в УКНЦ в магистрали ЦП есть ловушка адреса, возникнет прерывание, соответственно цикл можно начать сначала. В этом случае придется делать скидку на время прерывания и возврата из него.





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