Если пока нет готовых других тестов, то можно попробовать синтетические смеси
Если пока нет готовых других тестов, то можно попробовать синтетические смеси
Разобрал корпус, ткнулся осциллографом
b00005 - последовательность команд XTHL/XRA/OUT. Синхронизация осцилла (третий шуп) от выходной ножки порта.
опять налажал: CAS неправильный
Подсказывайте, что/где ещё посмотреть.
- - - Добавлено - - -
tstsp2_result_96khz_8bit.wav.7z по ссылке
Последний раз редактировалось DDp; 29.03.2021 в 19:55.
D356 47C0 35F8 F55E 8A52 A88F F3F8 B003 03EB 3D7F
ivagor (28.03.2021)
Результаты тестирования смесей не такие уж плохие, в том смысле, что сложение результатов тестирования одиночных команд в основном дает довольно близкие результаты. Самое большое отклонение - NOP+MOV A,M, почти два такта. Еще NOP+NOP+MOV A,A - отклонение почти такт. Вместо LXI+POP лучше было что-то новенькое, т.к. фактически это аналог теста POP из tstsp1.
DDp, картинки очень уж мелкие. Например, мне хотелось бы разглядеть, в какой момент READY переходит из 0 в 1.
- - - Добавлено - - -
Исправил ссылку на результаты
Последний раз редактировалось ivagor; 28.03.2021 в 14:54. Причина: исправил ссылку
Вот, вам комментарии на предыдущие результаты - ссылка
В какой команде на каком такте/цикле? Это поможет понять торможение во Львове???
D356 47C0 35F8 F55E 8A52 A88F F3F8 B003 03EB 3D7F
Надеюсь, что момент перехода READY 0->1 всегда одинаковый относительно границ слота доступа CPU к ОЗУ (в конце слота или за 50 нс до окончания, или за 100 нс или где-то еще). Поэтому в принципе должно быть без разницы, какую команду смотреть. Но для простоты лучше посмотреть на примере NOP или MOV A,A (или их аналогов, т.е. 4 или 5 тактных команд). Еще хорошо бы увидеть запись, лучше тоже на простом примере типа MOV M,A.
Без этого вряд ли возможно точно понять львовское торможение, по крайней мере у меня не получается.
чтение NOP
запись MOV M,A
D356 47C0 35F8 F55E 8A52 A88F F3F8 B003 03EB 3D7F
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Похоже получилось разобраться по крайней мере с чтением. Расписал NOP; MOV A,A и MOV A,M и точные растактовки установившихся циклов из одинаковых команд:
NOP - 6.4
MOV A,A - 7.(1)
MOV A,M - 11.(428571)
Если возникнет вопрос, почему везде чуть меньше, чем в tstsp1, то дело в накладных расходах на организацию цикла (оценить их величину можно по результатам при отсутствии торможения). Совсем без накладных расходов на цикл можно при наличии таймера, но это уже другая история. Очевидно можно уменьшить погрешность, вносимую командами организации цикла, если увеличить число команд в одном прогоне. Теперь надо бы и запись попробовать расписать (отмечу, что вручную весьма неудобно).
Последний раз редактировалось ivagor; 30.03.2021 в 09:19. Причина: более точное значение для MOV A,M
Pyk (30.03.2021)
Посчитал для последовательности MOV M,A - 12.(4) такта. Все это познавательно, но малоприменимо в эмуляторе, там желательно какие-нибудь сравнительно простые и похожие на правду правила расчета. В принципе сейчас уже точность эмулятора весьма хорошая.
Если кто-то не понял, 11.(428571) - это 11 3/7
Пока не уверен насчет всех команд, но последовательности 4 попробованных после переходного процесса вышли на циклы: 32/5=6.4; 64/9=7.(1); 80/7=11.(428571); 112/9=12.(4). Числитель - длительность цикла в тактах проца, знаменатель - сколько соответствующих команд там помещается. Теоретически можно попробовать так считать любые команды и их сочетания, но по хорошему вероятно надо писать какую-то программку, вручную много не насчитаешь.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)