|
|
  |
Эффективность DMA в SAM7, Выделено из "ARM много,..." |
|
|
|
Sep 27 2008, 23:33
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(aaarrr @ Sep 28 2008, 01:19)  Да нет, это всего (я смотрел описание IP Core, а не DS). Чудес в 21 веке не бывает, ну не отрабатывает AHB и APB шина (с какой частотой SAM7 PIO машет?) и DMA арбитраж за 0 тактов... Цитата Все равно полоса внутренней шины многократно покрывает способности периферии, как ни крути. Сугубо внутренняя локальная на которой память висит это одно, AMBA AHB это другое, периферийная APB это третье и еще тормознее. Все определяет слабейший и некая полоса занимается и вопрос в том, хватает-ли остатков пропускной способности ядру, дабы дорваться до памяти и выполнить нужную работу.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Sep 28 2008, 11:11
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(zltigo @ Sep 28 2008, 03:33)  Сугубо внутренняя локальная на которой память висит это одно, AMBA AHB это другое, периферийная APB это третье и еще тормознее. Все определяет слабейший и некая полоса занимается и вопрос в том, хватает-ли остатков пропускной способности ядру, дабы дорваться до памяти и выполнить нужную работу. Остатков? У ядра 32бит * 55MHz = 1.76Гбит/с - сколько нужно вычесть UART'ов и SPI'ев, чтобы стало "не хватать"? Даже с учетом арбитража и тормозов периферийной шины, о которых мы ничего не знаем по большому счету? Цитата(Cemen @ Sep 28 2008, 14:30)  А я что?А я ничего  Так,DBGU - это плюс. А какие среды его поддерживают? Никакие. Это просто обкоцанный UART.
|
|
|
|
|
Sep 28 2008, 11:34
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(aaarrr @ Sep 28 2008, 13:11)  и тормозов периферийной шины, о которых мы ничего не знаем по большому счету? Ну встречал какртинку в SAM7 PDF на которой доступ к APB в два такта рисовался. Полагаю, что суммарная очень оптимистичная оценка по пересылке из периферии не менее 5 тактов. Если тот-же SPI байтовый, то на 20 мегабитах это 12,5 тактов из 55 уходит на пресылку. Уже очень заметная величина особенно еcли SPI две штуки да еще и MAC (там по невнятной ATmel картинки вроде мимо APB есть канал, но тем не менее) DMA пользует. Цитата(aaarrr @ Sep 28 2008, 13:11)  Никакие. Это просто обкоцанный UART. Ну вот  всю малину обломали. Я ждал ответа от DpInRock. Такое красивое маркетинговое слово DBGU - ну прямо "чернила для шестого класса". У Вас есть "чернила для шестого класса"? нет  А у Atmel есть - "это плюс"  ...
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Sep 28 2008, 11:40
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(zltigo @ Sep 28 2008, 15:34)  Ну встречал какртинку в PDF на которой доступ к APB в два такта рисовался. Да, 2 такта. Тоже видел картинку, правда не у Атмела. Цитата(zltigo @ Sep 28 2008, 15:34)  Полагаю, что суммарная очень оптимистичная оценка по пересылке из периферии не менее 5 тактов. Если тот-же SPI байтовый, то на 20 мегабитах это 12,5 тактов из 55 уходит на пресылку. Уже очень заметная величина особенно еcли SPI две штуки да еще и MAC (там по невнятной ATmel картинки вроде мимо APB есть канал, но тем не менее) DMA пользует. При 5-и тактах на слово и 20Мбит скорости будет занято 5.7% полосы шины. MAC висит на AHB. Давайте-ка я тесты проведу, уже самому интересно стало.
|
|
|
|
|
Sep 28 2008, 11:55
|
Местный
  
Группа: Свой
Сообщений: 381
Регистрация: 27-07-08
Из: теплые края
Пользователь №: 39 233

|
Цитата(aaarrr @ Sep 28 2008, 14:40)  Давайте-ка я тесты проведу, уже самому интересно стало. Давайте. Интересно будет посмотреть на результаты. Серьезно.
|
|
|
|
|
Sep 28 2008, 17:14
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Итак, результаты тестов готовы  Программа выполнялась из RAM, это простой цикл из кучи NOP'ов. Т.е. процессор только выбирал команды из памяти, не обращаесь к ней за чем-либо еще. Затем был запущен 8-bit SPI-поток на частоте MCK - это самые худшие условия: PDC вычитывает и записывает слово каждые 8 тактов процессора. Что получилось (время выполнения тестового куска в тактах): Код ошибка Как можно видеть, шина действительно занимается на 1 такт для записи в периферию и на 2 - для чтения из неё. Цитата(Cemen @ Sep 28 2008, 20:00)  Мысли вслух- а с какой скоростью можно ножками шевелить,а? 3 такта MCLK на одну запись в порт. Т.е. частота дрыганья = MCLK/6.
|
|
|
|
|
Sep 28 2008, 17:23
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
И еще более интересные результаты при работе из Flash (1WS): Код ошибка 0WS: Код ошибка Так что в смысле шинной организации все не так просто, как может показаться на первый взгляд. Бумажки, граждане, настоящие! (С)
|
|
|
|
|
Sep 28 2008, 17:23
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(aaarrr @ Sep 28 2008, 19:14)  Итак, результаты тестов готовы  Что за результаты без методики? Цитата Программа выполнялась из RAM, это простой цикл из кучи NOP'ов. Т.е. процессор только выбирал команды из памяти, не обращаесь к ней за чем-либо еще. Прелестые условия - чтоб я так работал  Цитата Как можно видеть, шина действительно занимается на 1 такт для записи в периферию и на 2 - для чтения из неё. Ну ну.. И чуть ниже про обращение к PIO висящем на той-же APB: Цитата 3 такта MCLK на одну запись в порт. Т.е. частота дрыганья = MCLK/6. Ну прямо чудо какое-то. Поскольку чудес не бывает, то методика "того"...
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Sep 28 2008, 17:25
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(zltigo @ Sep 28 2008, 21:15)  Причем тут захватывает? Пропускная полоса шины в разы падает при обращении к Flash. Пропускная полоса чего падает в разы ? Мы вроде как говорили об обмене между SRAM и переферией по DMA ? При чем здесь доступ к флеш ?
|
|
|
|
|
Sep 28 2008, 17:30
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(zltigo @ Sep 28 2008, 21:23)  Что за результаты без методики? Я в своей методике вполне уверен. Если имеете что предложить - предлагайте. Цитата(zltigo @ Sep 28 2008, 21:23)  Прелестые условия - чтоб я так работал  Процессор честно считывает команды из памяти каждый такт, что не устраивает для измерений? Цитата(zltigo @ Sep 28 2008, 21:23)  Ну прямо чудо какое-то. Поскольку чудес не бывает, то методика "того"... 2 такта выполняется STR, еще один на доступ к шине.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|