
Сообщение от
Alex
И ещё вопрос, сколько тактов 1801ВМ3 обрабатывает прерывание? Мне так сдаётся, что очень много(Впихнуть в стек два регистра, переключить моду процессора, пользователь/ядро, считать вектор, запустить выполнение...), на DMA издержки меньше.
А не важно. Ибо и там и там при чтении одного сектора прерывания будет (а значит и накладные расходы одинаковы) - просто в PIO нужно будет сектор перегнать в память - а по мои тестам WQ - тут задержек нет - цикл тупо пересылает из буфера без проверок готовности очередного слова (в R1 счётчик слов из запроса):
Код:
MOV #256.,R3
50$: TST R1
BEQ 60$
MOV @#WQDBUF,(R2)+
DEC R1
BR 70$
60$: TST @#WQDBUF
70$: SOB R3,50$
TST R1
BNE 40$
CLC
RETURN
- - - Добавлено - - -

Сообщение от
Alex
Большое число счётчика и объясняет сравнительно малую скорость обмена. А то, что обещает скорость поднять, значит автор понял, что можно улучшить :-)
И ему есть куда улучшать :-)
Наоборот - низкая скорость обмена и объясняет большое значение счётчика
И если что - авторы платы WQ и МС 1201.2018 - разные люди