
Сообщение от
Vslav
терять целый цикл в случае возникновения прерывания все равно жалко
Тест VM1C8 проверяет, сколько тактов занимает приём вектора прерывания.
На тестировавшейся ДВК-1 результат был такой:
Код:
.ru my1:vm1c8
1801VM1 Timings Test #8a
Scale: 1024
Retry: 100
Return : 35:100
RtI : 46:100
IOT + RtI : 126:100
Handler cycles : 1024
Handler clocks : 405:100
IOT + Handler : 483:10 484:90
Interrupts : 1024
Interrupt + Handler : 501:100
Если вычислить разницу между [IOT + Handler] и [Interrupt + Handler], а потом добавить время выборки кода команды IOT ( 12 тактов ), то получается, что адрес вектора прерывания принимался за 30 тактов, а сохранение РС и PSW с последующей загрузкой новых значений из вектора - занимало у IOT и Interrupt по 68 тактов.
По сравнению с такими расходами, один цикл шины длиной 12 тактов ( при задержке RPLY = 6 тактов ) - не очень шокирует.