Mick, этот подход оказался плодотворным, одна штука стала ясной. Теперь я уверен, что при выполнении программы из внутреннего ПЗУ и из памяти, подключенной к разъему расширения, на каждое чтение из памяти добавляется один такт задержки. Т.е. dad будет не 10 а 11 тактов, inx не 5 а 6 и т.д. Дополнительное подтверждение
на правом скриншоте написано 2 МГц, но это просто результат умножения на неправильное число тактов (без учета введения задержки), я пересчитал, добавляя на каждое чтение из ПЗУ по 1 такту и получилось 2,5 МГц, как и должно быть. Т.е. реклама все же обманывала, 625000 оп/сек на ПК8000 не получишь, максимум 500000.
Главный итог - теперь понятно, как с точностью до такта определить быстродействие программы, выполняющейся из внутреннего ПЗУ или из памяти, подключенной к разъему расширения (если нет обращений к внутреннему ОЗУ или портам).
А вот результаты теста при выполнении из ОЗУ меня привели в ступор, как нужно считать, чтобы получить такое жуткое торможение при выполнении dad мне не понятно.
Забыл добавить, все вышесказанное справедливо по крайней мере для SCR0, забыл другие режимы проверить.





Ответить с цитированием