Код:
Результаты тестирования таймера УКНЦ:
=======================================
УКНЦ L7t.2-001 (Alex K.)
==========================
Чтение из памяти (8-битная шина):
Мнемоника Тактов Циклы шины Фазы шины Замечания
MOV R0,R0 16 R+R 4 TBus
MOV (R0),R1 36 R+R+R+R 9 TBus
MOV (R0),(R0)+ 60 R+R+R+R+R+R 15 TBus 60..61 такта, 15/16 TBus
MOVB (R0),(R0)+ 68 R+R+R+RMW(?) 17 TBus 68..68.4 такта, 17/18 TBus
Чтение стандартных регистров системных устройств ПП (16-битная шина):
MOV (R0),R1 28 R+R+R 7 TBus
Чтение регистров дисковода (16-битная шина):
MOV (R0),R1 31.88 R+R+R 7/8 TBus 31.88..31.91
Чтение стандартных регистров системных устройств ПП (16-битная шина) в память (8-битная шина):
MOVB (R0),(R0)+ 60 R+R+R+RMW(?) 15 TBus 60..61 такта, 15/16 TBus
Чтение регистра текущего значения таймера при периоде 16мкс (16-битная шина) в память (8-битная шина):
MOVB (R0),(R0)+ 64 R+R+R+RMW(?) 16 TBus
Замечание по тесту:
1) Плавающие такты говорят о том, что конец цикла доступа к памяти расположен на границе двух фаз шины.
Так как длительность цикла задается аналоговым способом, и может плавать на несколько процентов.
2) Доступ к регистрам контроллера дисковода имеет завышенный дробный коэффициенет, что означает одну из двух
причин - либо доступ к регистрам возможен только в определенные фазы работы дисковода, что вызывает биение
и, как результат, дробный коэффициент с чередованием примерно 40 циклов задержанного чтения (8 TBus)
на 1 цикл обычного чтения (7 ТBus). Либо же возможен вариант, когда цикл чтения стандартен (7 TBus), но
изредка затормаживается на на какое-то большое количество тактов.
3) Регистры таймера имеют стандартные временные характеристики, за исключением регистра текущего значения (177714)
и ТОЛЬКО(!) при периоде таймера 16мкс. В данном случае мы имеем лишний цикл TBus для чтения. Ввиду такой точной
градации исключается теория длинновременного биения, как в случае с регистрами дисковода.
УКНЦ L7.1-031 (Alex K.)
==========================
Чтение из памяти (8-битная шина):
Мнемоника Тактов Циклы шины Фазы шины Замечания
MOV R0,R0 20 R+R 5 TBus
MOV (R0),R1 40 R+R+R+R 10 TBus
MOV (R0),(R0)+ 68 R+R+R+R+R+R 17 TBus
MOVB (R0),(R0)+ 76 R+R+R+RMW(?) 19 TBus
Чтение стандартных регистров системных устройств ПП (16-битная шина):
MOV (R0),R1 32 R+R+R 8 TBus
Чтение регистров дисковода (16-битная шина):
MOV (R0),R1 32.16 R+R+R 8/9 TBus 32.16..32.25
Чтение стандартных регистров системных устройств ПП (16-битная шина) в память (8-битная шина):
MOVB (R0),(R0)+ 68 R+R+R+RMW(?) 17 TBus 68..68.90 такта, 17/18 TBus
Чтение регистра текущего значения таймера при периоде 2 и 4 мкс (16-битная шина) в память (8-битная шина):
MOVB (R0),(R0)+ 68/72 R+R+R+RMW(?) 17/18 TBus
Чтение регистра текущего значения таймера при периоде 8 и 16 мкс (16-битная шина) в память (8-битная шина):
MOVB (R0),(R0)+ 68.56 R+R+R+RMW(?) 17/18 TBus
Замечания по тесту:
1) В данном случа различается работа регистра текущего значения таймера в зависимости от его периода:
2мкс - часто 68 тактов, редко 72 такта, и только при ВКЛЮЧЕННОМ(!) таймере.
4мкс - часто 72 такта, редко 68 тактов, и только при ВКЛЮЧЕННОМ(!) таймере.
8 и 16мкс - всегда 68.56 тактов.
Вывод: Для периодов 2 и 4мкс исключается биение циклов, т.к. фазы шины целые. Возможно, связано с изначальным
попаданием в ту или иную фазу работы таймера, и синхронное выполнение в более медленном или быстром
образовавшимся таким образом синхронном цикле.
Для периодов 8 и 16мкс присутствует биение с чередованием примерно 6 циклов стандартных (17 TBus),
и один цикл медленный (18 TBus).
УКНЦ L3t.1-031 (Alex K.)
==========================
Идентично модели УКНЦ L7t.2-001 (Alex K.)
Чтение регистров дисковода (16-битная шина):
MOV (R0),R1 30.95 R+R+R 7/8 TBus 30.95..31.02
Замечания по тесту:
1) Единственное отличие от L7t.2-001 (Alex K.) - это незначительное отличие в таймингах регистра дисковода, что, очевидно
определяется разбросом характеристик времязадающей цепочки на разных машинах.
УКНЦ L?.? (Titus)
===================
Идентично модели УКНЦ L7.1-031 (Alex K.)
Чтение из памяти (8-битная шина):
Мнемоника Тактов Циклы шины Фазы шины Замечания
MOV R0,R0 20 R+R 5 TBus
MOV (R0),R1 40 R+R+R+R 10 TBus
MOV (R0),(R0)+ 64.08 R+R+R+R+R+R 16 TBus 64.08 16/17 TBus
MOVB (R0),(R0)+ 72.09 R+R+R+RMW(?) 18 TBus 72.09 18/19 TBus
Чтение регистров дисковода (16-битная шина):
MOV (R0),R1 32.11 R+R+R 8/9 TBus 32.11..32.19
Чтение стандартных регистров системных устройств ПП (16-битная шина) в память (8-битная шина):
MOVB (R0),(R0)+ 64.15 R+R+R+RMW(?) 16 TBus 64.15..64.52 такта, 16/17 TBus
Чтение регистра текущего значения таймера при периоде 8 и 16 мкс (16-битная шина) в память (8-битная шина):
MOVB (R0),(R0)+ 64.82 R+R+R+RMW(?) 17/18 TBus 64.12..64.82 такта, 16/17 TBus
Чтение стандартных регистров системных устройств ПП (16-битная шина) в память (8-битная шина):
MOV (R0),(R0)+ 52.08 R+R+R+R+R 13 TBus 52.08..52.55 такта, 13/14 TBus
Чтение регистра текущего значения таймера при периоде 2, 4 и 8 мкс (16-битная шина) в память (8-битная шина):
MOV (R0),(R0)+ 56.16 R+R+R+R+R 17/18 TBus 56.16..56.26 такта, 14/15 TBus
Чтение регистра текущего значения таймера при периоде 16 мкс (16-битная шина) в память (8-битная шина):
MOV (R0),(R0)+ 57.58 R+R+R+R+R 17/18 TBus
Замечания по тесту:
1) В связи с несколько иными характеристиками времязадающей цепочки времени доступа к памяти, слегка отличаются
характеристики от L7.1-031 (Alex K.), однако принципиальных различий не выявлено.
УКНЦ L7t.0-031 (palsw)
==========================
Идентично модели L7t.2-001 (Alex K.)
Чтение стандартных регистров системных устройств ПП (16-битная шина) в память (8-битная шина):
MOVB (R0),(R0)+ 60 R+R+R+RMW(?) 15 TBus 60..61 такта, 15/16 TBus
Чтение регистра текущего значения таймера при периоде 8мкс (16-битная шина) в память (8-битная шина):
MOVB (R0),(R0)+ 61.70 R+R+R+RMW(?) 16 TBus 61.70 15/16 TBus
Чтение регистра текущего значения таймера при периоде 16мкс (16-битная шина) в память (8-битная шина):
MOVB (R0),(R0)+ 64 R+R+R+RMW(?) 16 TBus
Замечания: небольшие отличия от модели L7t.2-001 (Alex K.) в связи с разбросом таймингов времязадающей цепочки.
Итоговый результат:
1) По итогам тестов таймингков отличий между 1515ХМ1-031 и 1515ХМ2-001 не выявлено.
2) Регистры контроллера дисковода имеют собственные фазы доступа, отличающиеся от системных регистров ПП.
3) Временные характеристики чтения из регистра состояния таймера зависят от периода таймера.
4) Временные характеристики чтения из регистра состояния таймера не зависят от того, запущен таймер или нет,
что подтверждает теорию о том, что продвижение информации внутри таймера по направлению буферный регистр ->
счетчик -> регистр текущего значения происходит постоянно по такту с предделителя, и работа таймера в режиме
пуск/стоп различается лишь тем, передает ли счетчик по такту предделителя данные со своего входа на выход
с декрементом, или же без него.
Замечание: тест машинки УКНЦ L7.1-031 (Alex K.) выявил различия таймингов в режиме пуск и стоп, что может быть
случайностью и нуждается в перепроверке.