Цитата Сообщение от Alex Посмотреть сообщение
Интересно бы было ещё попробовать на ПП уменьшить число SOB вышеописанным образом ...
Любопытна была бы кратность ускорения.
Итого: Во всех тестах копируется 1мб (миллион байт) по словам. В ЦП копируется буфер 10кб -> 10кб и зацикливается 100 раз. В ПП копируется буфер 5кб -> 5кб и зацикливается 200 раз. Не думаю что тут сильно большое влияние окажет. Все цифры замера это количество тиков прерывания 50Гц. Для перевода в кб/с - 50000/цифра = кб/с

ЦП:
1) стандартный mov sob = 250 (200кб/с)
2) замена sob на dec bne = 279 (sob лучше)
3) разворот цикла, 10 раз подряд mov и только затем sob = 170 (294 кб/с, ускорение почти в полтора раза)
(попробовал развернуть цикл на 50mov-ов - получилось 306кб/с, ну думаю дальше не надо уже)

ПП:
1) mov sob = 435 (114кб/с)
2) разворот цикла, 10 раз mov и затем sob = 290 (172кб/с, ускорение в полтора раза, аналогично ЦП вообщем ускорение)

После прогрева УКНЦ результаты ухудшаются примерно на 1-2% поэтому тут циферки все "приблизительные".

Для эмулятора UKNCBTL 2022-окт билд (использовался лучший вариант с 10 раз mov):
ЦП: 190 (263кб/с немного медленнее реала)
ПП: 245 (204кб/с немного быстрее реала)

- - - Добавлено - - -

Цитата Сообщение от Alex_K Посмотреть сообщение
А в ПП доступ к памяти 8-битный, потому что слово контроллером считывается за два приёма.
Ах вон видимо где собака закопана. А то думаю "чего он ПП так тормозно работает".

---
Еще один момент, я тут посмотрел на замеры скорости на БК-0010-01: mov (R0)+,(R1)+ , замерял Manwe ему можно верить. Так у него получилось 44 такта процессора.
У УКНЦ сейчас начал замерять - у меня 51.52 такта.
У Alex_K было 50 тактов (быстрее машинка либо кварцы либо я не знаю, у меня СЭМЗ, у него была Квант).