Jump to content

    
Sign in to follow this  
DASM

Avalon - арбитраж

Recommended Posts

Что-то совсем я тормоз. Вот вопросик такой, работает ядро, считаем там что-то из SDRAM одной (будем считать, что кеши отключены.) Еще имеется две SDRAM, и запущена DMA передача из одной в другую. Эта передача будет тормозить ядро, т.к. занимает шину или не будет ? К data master эти SDRAM подключены.

Share this post


Link to post
Share on other sites

и проц не сможет вообще ничего делать по data bus ? А ниизя какую-нить шину дополнительную между этими двумя SDRAM проложить, чтобы пока проц не нужен и идет DMA отключать их ШД проца, а по окончании DMA мультиплексировать ее назад к процу ?

Share this post


Link to post
Share on other sites
А ниизя какую-нить шину дополнительную между этими двумя SDRAM проложить, чтобы пока проц не нужен и идет DMA отключать их ШД проца, а по окончании DMA мультиплексировать ее назад к процу ?

пожалуй, можно сделать что-то типа моста для data master, который будет отключать этот участок шины для проца на время транзакции.

Share this post


Link to post
Share on other sites
и проц не сможет вообще ничего делать по data bus ? А ниизя какую-нить шину дополнительную между этими двумя SDRAM проложить, чтобы пока проц не нужен и идет DMA отключать их ШД проца, а по окончании DMA мультиплексировать ее назад к процу ?

В памяти после прочтения полгода назад про шины ниос осталось такое: было написано, что не надо бездумно соединять все устройства со всеми, поскольку для устройств ниос формирует несколько шин, чтобы максимизировать производительность системы.Так что в моем понимании прочитанного можно несколько шин сформировать, но на практике не пробовал. Хотя собирал систему, где проц, внутренняя память и внешняя память сидели на одной шине. Прога была во внутренней памяти. Измерял производительность процессора до включения DMA из внешней памяти в контроллер LCD и после (DMA на той же шине висел - все было на одной шине). Производительность не изменилась никак. В моем понимании если бы шина физически была одна, на время транзакции внешняяSRAM ->DMA->LCD шина должна бы забиться и исполнение команд из внутренней памяти приостановиться. А так похоже по отдельным шинам прокачивалось. На LCD шел поток 10 МБ/с, частота проца 80 МГц. Должно было повлиять на производительность, хоть на 5-10%, но не повлияло.

 

Хотя была еще program cache, может он цикл измерения производительности и кэшировал...

Share this post


Link to post
Share on other sites

Читаю вот " Unlike traditional

host-side arbitration architectures where each master must wait until it is granted

access to the shared bus, multiple Avalon-MM masters can simultaneously

perform transfers with independent slaves. Arbitration logic stalls a master only

when multiple masters attempt to access the same slave during the same cycle" То есть все OK выходит ?

Share this post


Link to post
Share on other sites

обращается но не в момент DMA . То есть к data master подключена, но транзакции со стороны DMA и ядра - по времени не пересекаются

Share this post


Link to post
Share on other sites
обращается но не в момент DMA .

Тогда прерываться не будет, т.к. прерывать просто некому.

Если это так важно - отключите все "лишние" прерывания, которые могут вызвать обращение к ОЗУ.

Share this post


Link to post
Share on other sites

Это все понятно, я просто по аналогии с системами с одной общей шиной, решил, что если шина занята - то никто ничего сделать не может.

Share this post


Link to post
Share on other sites

В SOPC арбитраж на стороне подчиненного. Поэтому пересечения и взаимные остановки будут только при одновременном обращении двух мастеров к одному подчиненному. Пока Ниос не полезет туда же, куда и ДМА, никто его останавливать не будет.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this