Цитата(jcxz @ Apr 7 2018, 22:29)

А что делал CPU и другие bus-master-ы во время этого теста?
Если он у Вас крутился в цикле ожидания некоего флага и постоянно перечитывал из памяти участок кода с циклом и приоритет доступа к шине у CPU выше чем у DMA, то в таком случае вообще ничего гарантировать нельзя - DMA в таком случае может и вообще ни одной транзакции не выполнить.
Вобщем - непонятно как меряете - правильно ли? Или среднюю температуру по больнице?

Думаю, что если положить CPU в сон на время копирования, то процесс может ускориться.
Да, процессор ждал флага, с памятью работал только видеомодуль, отображая статическую картинку из пямяти.
Не забывайте одну вещь - у процессора есть кэш 1 и 2го уровня, причем большой (64+512Кбайт), вся программа умещается в него т.ч. к памяти (в смысле внешней) он не лезет вообще...
На счет результатов и "средней температуры" - за конкретными цифрами и их точностью не гонюсь, мне гораздо интереснее, можно-ли что ускорить, результаты были получены, измеряя скорость 5 раз, и были одинаковыми, что исключает влияние каких-либо случайных процессов. Программа baremetal, ОС не использовалось.
Сообщение отредактировал mantech - Apr 7 2018, 19:46