Jump to content

    

Экранный буфер в DRAM

5 minutes ago, quato_a said:

сами же пишите про экранный буфер. тогда что под этим подразумевается? 

Экранный (кадровый) буфер формируется самим изделием путём копирования большого количества изображений разного размера по разным координатам этого кадрового буфера, причем как правило эти изображения перекрываются (накладываются друг на друга).

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

20 minutes ago, pavlovconst said:

А преимущества чтения буфера по частям какие? Я не понимаю. Поэтому и предложил не усложнять =)

:wacko2:похоже я не смогу вас понять.

Share this post


Link to post
Share on other sites

У интела есть вот такие темплейты мастеров на шине Avalon

https://www.intel.com/content/www/us/en/programmable/support/support-resources/design-examples/intellectual-property/embedded/nios-ii/exm-avalon-mm.html

Со стороны пользователя указывается начальный адрес чтения/записи и желаемый размер данных. Модуль сам выровняет транзакции по границам берста путем манипуляции с сигналом burstcount

Share this post


Link to post
Share on other sites
1 hour ago, zombi said:

Экранный (кадровый) буфер формируется...

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

 

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

Share this post


Link to post
Share on other sites
1 hour ago, Burenkov said:

У интела есть вот такие темплейты мастеров на шине Avalon

Да, это круто. наверное:biggrin:

Но мне нужно на MAXII ну в крайнем случае на 10M02 

52 minutes ago, quato_a said:

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

Спасибо Кэп! Только я спрашивал о другом.

Share this post


Link to post
Share on other sites
12 часов назад, zombi сказал:

Как сделать так что-бы писать в экранную область можно было теми же пачками но начиная с любого адреса?

Видеопроцессоры работают с целыми строками — читают, обрабатывают и пишут. Также, обычно страницы чередуются и в третьей хранится фон.

Share this post


Link to post
Share on other sites
14 часов назад, zombi сказал:

Пишу прямоугольниками с произвольными XY

При "прямоугольнике" Nx1 всё будет хорошо на DRAM. При "прямоугольнике" 1xN будет не хорошо - фактически это буден N одиночных обращений, из которых немало будет попадать в разные страницы памяти. Тут скорость просядет в разы.

Share this post


Link to post
Share on other sites

Коллеги, простите, что маленько не в тему, но всё же рядом. Может быть кто-то подскажет хороший и адекватный документ, описывающий принцип работы SDRAM. Интересует назначение сигналов, таких как DQML/DQMH и подобных. Естественно, в инете есть документы, но как-то не могу сформировать полного понимания работы этой памяти. Особенно непонятно назначение всех таймингов типичной микросхемы. В общем, может быть есть такой хороший труд, рассказывающий всё подробно? Спасибо заранее.

Share this post


Link to post
Share on other sites
8 hours ago, zombi said:

Да, это круто. наверное:biggrin:

Но мне нужно на MAXII ну в крайнем случае на 10M02 

Как MAXII и 10M02 противоречит шине авалон?)

Share this post


Link to post
Share on other sites
1 час назад, dxp сказал:

При "прямоугольнике" Nx1 всё будет хорошо на DRAM. При "прямоугольнике" 1xN будет не хорошо - фактически это буден N одиночных обращений, из которых немало будет попадать в разные страницы памяти. Тут скорость просядет в разы.

Вот это ключевая фраза! В этом и кроется разница в подходах! Топикстартеру необходимо чётко понять, есть ли у него такая "плохая" ситуация.  SRAM ставят именно для обхода этой проблемы, когда алгоритм уже не изменить!

Share this post


Link to post
Share on other sites
19 hours ago, zombi said:

И все вроде бы хорошо, но поскольку запись (как и чтение) производится пачками по N пикселей, то записывать получится только начиная с адреса кратного burstу.

Как сделать так что-бы писать в экранную область можно было теми же пачками но начиная с любого адреса?

Вы просто не совсем оптимально будите использовать пространство памяти (будут нули в некоторых ячейках), но это не проблема. Проблема, как уже упомянули ранее, в обмене с памятью минимально возможными пачками. Отправить 100 burst непрерывно одной транзакцией и отправить 100 burst за 100 транзакций - значительно отличаются по времени. Вот в этом смысле и рассматривайте наихудший случай и под него выбирайте размер физической шины данных и спидгрейд DDRx

Share this post


Link to post
Share on other sites
4 hours ago, Burenkov said:

Как MAXII и 10M02 противоречит шине авалон?)

Всегда думал что все эти Niosы, Avalonы и пр. SOPC Builderы только на "жирных" чипах возможны.

Значит ошибался.

Неужто можно какой нить ниос с авалоном на EPM240/570 замутить?

Share this post


Link to post
Share on other sites

Ну Ниос всё же требует ресурсов. Смотря на задачу и в порезанном варианте можно запустить - хватит ли для требуемой задачи, вот вопрос. А Авалон то что? Это грубо говоря протокол синхронизации передачи данных. Не просто данные и разрешение, а как положено с хэндшейками и т.д.

Share this post


Link to post
Share on other sites

Вот скажите на каком одном чипе DDRx c 16-ти битной шиной данных и какой одной плис

можно получить поток 240MB/s = 1.92Gb/s при практически рандомном доступе ?

Share this post


Link to post
Share on other sites
49 minutes ago, zombi said:

Всегда думал что все эти Niosы, Avalonы и пр. SOPC Builderы только на "жирных" чипах возможны.

Значит ошибался.

Неужто можно какой нить ниос с авалоном на EPM240/570 замутить?

 

На EPM240/570 Nios не запуститься. MAX10 уже позволяет запускать Nios ...  

Share this post


Link to post
Share on other sites
1 hour ago, zombi said:

Вот скажите на каком одном чипе DDRx c 16-ти битной шиной данных и какой одной плис

можно получить поток 240MB/s = 1.92Gb/s при практически рандомном доступе ?

при рандомном, ни на какой. потому SRAM и не умерла до сих пор.

UPD при квази рандомном(когда связь между блоками все же есть), с кешем и собственным контроллером можно попробовать. Но может вам все же остаться на SRAM?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now