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

5 minutes ago, quato_a said:

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

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

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

20 minutes ago, pavlovconst said:

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

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

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


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

У интела есть вот такие темплейты мастеров на шине 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

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


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

1 hour ago, zombi said:

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

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

 

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

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


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

1 hour ago, Burenkov said:

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

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

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

52 minutes ago, quato_a said:

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

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

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


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

12 часов назад, zombi сказал:

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

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

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


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

14 часов назад, zombi сказал:

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

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

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


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

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

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


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

8 hours ago, zombi said:

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

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

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

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


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

1 час назад, dxp сказал:

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

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

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


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

19 hours ago, zombi said:

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

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

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

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


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

4 hours ago, Burenkov said:

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

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

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

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

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


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

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

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


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

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

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

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


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

49 minutes ago, zombi said:

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

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

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

 

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

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


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

1 hour ago, zombi said:

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

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

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

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

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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