Перейти к содержанию
    

Эффективность DMA в SAM7

Да нет, это всего (я смотрел описание IP Core, а не DS).

Чудес в 21 веке не бывает, ну не отрабатывает AHB и APB шина (с какой частотой SAM7 PIO машет?) и DMA арбитраж за 0 тактов...

Все равно полоса внутренней шины многократно покрывает способности периферии, как ни крути.

Сугубо внутренняя локальная на которой память висит это одно, AMBA AHB это другое, периферийная APB это третье и еще тормознее. Все определяет слабейший и некая полоса занимается и вопрос в том, хватает-ли остатков пропускной способности ядру, дабы дорваться до памяти и выполнить нужную работу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сугубо внутренняя локальная на которой память висит это одно, AMBA AHB это другое, периферийная APB это третье и еще тормознее. Все определяет слабейший и некая полоса занимается и вопрос в том, хватает-ли остатков пропускной способности ядру, дабы дорваться до памяти и выполнить нужную работу.

Остатков? У ядра 32бит * 55MHz = 1.76Гбит/с - сколько нужно вычесть UART'ов и SPI'ев, чтобы стало "не хватать"? Даже с учетом арбитража и тормозов периферийной шины, о которых мы ничего не знаем по большому счету?

 

А я что?А я ничего :) Так,DBGU - это плюс. А какие среды его поддерживают?

Никакие. Это просто обкоцанный UART.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и тормозов периферийной шины, о которых мы ничего не знаем по большому счету?

Ну встречал какртинку в SAM7 PDF на которой доступ к APB в два такта рисовался. Полагаю, что суммарная очень оптимистичная оценка по пересылке из периферии не менее 5 тактов. Если тот-же SPI байтовый, то на 20 мегабитах это 12,5 тактов из 55 уходит на пресылку. Уже очень заметная величина особенно еcли SPI две штуки да еще и MAC (там по невнятной ATmel картинки вроде мимо APB есть канал, но тем не менее) DMA пользует.

 

 

 

Никакие. Это просто обкоцанный UART.

Ну вот :( всю малину обломали. Я ждал ответа от DpInRock. Такое красивое маркетинговое слово DBGU - ну прямо "чернила для шестого класса". У Вас есть "чернила для шестого класса"? нет :( А у Atmel есть - "это плюс" :)...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну встречал какртинку в PDF на которой доступ к APB в два такта рисовался.

Да, 2 такта. Тоже видел картинку, правда не у Атмела.

 

Полагаю, что суммарная очень оптимистичная оценка по пересылке из периферии не менее 5 тактов. Если тот-же SPI байтовый, то на 20 мегабитах это 12,5 тактов из 55 уходит на пресылку. Уже очень заметная величина особенно еcли SPI две штуки да еще и MAC (там по невнятной ATmel картинки вроде мимо APB есть канал, но тем не менее) DMA пользует.

При 5-и тактах на слово и 20Мбит скорости будет занято 5.7% полосы шины. MAC висит на AHB.

 

Давайте-ка я тесты проведу, уже самому интересно стало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давайте-ка я тесты проведу, уже самому интересно стало.

Давайте. Интересно будет посмотреть на результаты. Серьезно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, еще о шине Flash ведь не оаботает на 55MHz/18ns - там еще пару waitstates - ой что с пропускной способностью становится....
А это-то как повлияет ?

Еще не готов, шину не захватывает...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Итак, результаты тестов готовы :)

 

Программа выполнялась из RAM, это простой цикл из кучи NOP'ов. Т.е. процессор только выбирал команды из памяти, не обращаесь к ней за чем-либо еще.

Затем был запущен 8-bit SPI-поток на частоте MCK - это самые худшие условия: PDC вычитывает и записывает слово каждые 8 тактов процессора.

 

Что получилось (время выполнения тестового куска в тактах):

ошибка

 

Как можно видеть, шина действительно занимается на 1 такт для записи в периферию и на 2 - для чтения из неё.

 

Мысли вслух- а с какой скоростью можно ножками шевелить,а?

3 такта MCLK на одну запись в порт. Т.е. частота дрыганья = MCLK/6.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще не готов, шину не захватывает...

Причем тут захватывает? Пропускная полоса шины в разы падает при обращении к Flash.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И еще более интересные результаты при работе из Flash (1WS):

 

ошибка

 

0WS:

ошибка

 

Так что в смысле шинной организации все не так просто, как может показаться на первый взгляд.

 

Бумажки, граждане, настоящие! (С)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Итак, результаты тестов готовы :)

Что за результаты без методики?

Программа выполнялась из RAM, это простой цикл из кучи NOP'ов. Т.е. процессор только выбирал команды из памяти, не обращаесь к ней за чем-либо еще.

Прелестые условия - чтоб я так работал :)

Как можно видеть, шина действительно занимается на 1 такт для записи в периферию и на 2 - для чтения из неё.

Ну ну..

И чуть ниже про обращение к PIO висящем на той-же APB:

3 такта MCLK на одну запись в порт. Т.е. частота дрыганья = MCLK/6.

Ну прямо чудо какое-то. Поскольку чудес не бывает, то методика "того"...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Причем тут захватывает? Пропускная полоса шины в разы падает при обращении к Flash.
Пропускная полоса чего падает в разы ?

Мы вроде как говорили об обмене между SRAM и переферией по DMA ?

При чем здесь доступ к флеш ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мы вроде как говорили об обмене между SRAM и переферией по DMA ?

Говорим о том сколько остается от пропускной способности шины.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что за результаты без методики?

Я в своей методике вполне уверен. Если имеете что предложить - предлагайте.

 

Прелестые условия - чтоб я так работал :)

Процессор честно считывает команды из памяти каждый такт, что не устраивает для измерений?

 

Ну прямо чудо какое-то. Поскольку чудес не бывает, то методика "того"...

2 такта выполняется STR, еще один на доступ к шине.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Говорим о том сколько остается от пропускной способности шины.

Похоже, что Flash сидит на отдельной шине.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...