Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Для начинающих (http://zx-pk.ru/forumdisplay.php?f=43)
-   -   обесните пожалуйста что такое WAIT (http://zx-pk.ru/showthread.php?t=13892)

psb 24th September 2010 20:27

а, ну да, понятно:)

jerri 25th September 2010 00:03

Quote:

Originally Posted by caro (Post 318283)
Косяк в том, что при таком коротком цикле опроса, контроллеру просто нет времени заниматься
ещё чем нибудь, кроме отработки прерывания по запросу порта клавиатуры со стороны Спектрума.
И дело в данном случае не в большой длительности /WAIT,
а в большом времени выхода контроллера из процедуры прерывания после снятия /WAIT.

Кстати да, а в чем именно причина такого поведения контроллера скорпионовского?
с точке зрения железа там или еще чего

caro 25th September 2010 14:34

Quote:

Originally Posted by jerri
Кстати да, а в чем именно причина такого поведения контроллера скорпионовского?
с точке зрения железа там или еще чего

Всё дело в низком быстродействии МК (семейство MSC51) , который используется в Скорпионовском контроллере.
Вот фрагмент кода, завершающего обработку прерывания по запросу от Спектрума:
Code:

        movx        @DPTR, A        ;Снять /WAIT
;---- Восстановление регистров и выход из прерывания
        mov        DPH, R0                ;1
        mov        R0, temp_R0        ;1
        pop        PSW                ;2
        pop        ACC                ;2
        reti                        ;2
                                ;8 мксек при 12 Мгц
;----------------------------------

Тоесть после снятия WAIT контроллер еще 8 мксек занят, прежде чем будет выполнять остальные задачи.
За это время Спектрум при тактовой частоте 3.5 Мгц выполнит несколько команд (можете сами прикинуть сколько).

PS. То же самое выполняется на ATTiny2313 на порядок быстрее, что исключает указанную проблему.


All times are GMT +4. The time now is 23:54.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.