|
IMX6S, Скорость SDMA |
|
|
|
Apr 7 2018, 17:27
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Приветствую.
Вопрос к тому, кто копал данный сабж поглубже, а именно на предмет работы контроллера SDMA. Решил посмотреть, с какой скоростью он перекачивает данные из памяти в память, копировал блоками по 64Кб (16384х32 бита) (больше за одну транзакцию он не может). Создал 21 транзакцию (buffer descriptor) (1376235 байт) И засек время, итого получилось 30 копирований в сек. Что составляет примерно 42 мегабайта в сек. Это очень мало, если сравнить, например, скорость выдачи данных на дисплей - при разрешении 1024х768, 32х битном цвете и 2хслойной графике - это будет 158 мегабайт в сек. Что в несколько раз быстрее. Конечно, здесь разные получатели, в первом случае память, во втором дисплейный порт, но это не должно давать такой разницы.
Может у кого есть варианты, почему так и можно-ли ускорить копирование?
|
|
|
|
|
 |
Ответов
|
Apr 7 2018, 19:29
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(mantech @ Apr 7 2018, 20:27)  Может у кого есть варианты, почему так и можно-ли ускорить копирование? А что делал CPU и другие bus-master-ы во время этого теста? Если он у Вас крутился в цикле ожидания некоего флага и постоянно перечитывал из памяти участок кода с циклом и приоритет доступа к шине у CPU выше чем у DMA, то в таком случае вообще ничего гарантировать нельзя - DMA в таком случае может и вообще ни одной транзакции не выполнить. Вобщем - непонятно как меряете - правильно ли? Или среднюю температуру по больнице?  Думаю, что если положить CPU в сон на время копирования, то процесс может ускориться.
|
|
|
|
|
Apr 7 2018, 19:38
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(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
|
|
|
|
Сообщений в этой теме
mantech IMX6S Apr 7 2018, 17:27 Шаманъ Цитата(mantech @ Apr 7 2018, 20:27) копир... Apr 14 2018, 19:03 mantech Цитата(Шаманъ @ Apr 14 2018, 22:03) Если ... Apr 17 2018, 16:54  aaarrr Цитата(mantech @ Apr 17 2018, 19:54) DDR3... Apr 17 2018, 21:24  Шаманъ Цитата(mantech @ Apr 17 2018, 19:54) в да... Apr 18 2018, 05:33  jcxz Цитата(mantech @ Apr 17 2018, 19:54) ДМА ... Apr 18 2018, 08:52   mantech Цитата(jcxz @ Apr 18 2018, 11:52) А почем... Apr 18 2018, 10:36    mantech Цитата(mantech @ Apr 18 2018, 13:36) ЗЫ. ... Apr 26 2018, 17:38     mantech Цитата(mantech @ Apr 26 2018, 20:38) Вооб... Apr 27 2018, 12:18 aaarrr Больше 19МБайт/с!!!!1111
Или даже ... Apr 18 2018, 09:15 jcxz Цитата(aaarrr @ Apr 18 2018, 12:15) В люб... Apr 18 2018, 09:45  aaarrr Цитата(jcxz @ Apr 18 2018, 12:45) Раз ест... Apr 18 2018, 09:51
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|