|
2D ускоритель, Как их делают? |
|
|
|
Jun 11 2010, 21:04
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Цитата(muravei @ Jun 11 2010, 11:27)  С графическими контроллероми понятно, а как 2D акселераторы делают? Типа тогоТак это демки альтеры, у меня такие в ките зашиты. Как я понял, это демонстрация не графического ускорителя, а возможностей процессора NIOS II и операционной системы с графическими библиотеками сторонних производителей. Собственно, ускорять то там нечо. Все это я думаю программное. Например, смотрел код 2-х программ для NIOS II (application selector и picture viewer) так там и прямоугольники, и круги , и линии - все исключительно программно рисуется, по одной точке, у каждой координаты высчитываются в программе. Помню где-то в середине 90-х были соревнования программеров для PC, размер кода был ограничен то ли 4-мя, то ли 10-ю килобайтами. Так люди в эти килобайты такое вталкивали, говорили, что в одной программе код программы одновременно являлся массивом констант. Так вот все это работало на 386SX и без всяких ускорителей и эффекты там были намного интересней, например очень реалистично было нарисовано пламя в динамике.
Сообщение отредактировал alexPec - Jun 11 2010, 21:12
|
|
|
|
|
Jun 11 2010, 22:01
|
Профессионал
    
Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942

|
Цитата(alexPec @ Jun 12 2010, 01:04)  что в одной программе код программы одновременно являлся массивом констант. Что естественно, так как писалось на асме. UPD: Только сейчас понял глубину вашей фразы. Если одновременно код являлся константами — то это круто конечно. Подобное помню только в bat-вирусах. Прошу прощения за оффтоп.
Сообщение отредактировал x736C - Jun 11 2010, 22:04
|
|
|
|
|
Jun 16 2010, 07:01
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(muravei @ Jun 16 2010, 09:40)  Чего его гуглить , меня не он интересует, а его реализация на ПЛИСном языке. Кстати, я давно не гуглю, а нигмлю. Не нравится мне этот ваш гугиль-мугиль. ПЛИСного языка не существует. Есть языки описания аппаратуры - это VHDL, Verilog, System Verilog Для того чтобы получить корректные ответы, нужно самому, что-то на форум выложить. Мой совет начните например с функциональной схемы. Попробуйте поискать описания на микросхемы - посмотрите там архитектуру. Например этоМоожет еще/или это Здесь же приведена архитектура Пример разработки на ПЛИСЗдесь можете найти алгоритмы...
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Jun 16 2010, 07:03
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 13-04-10
Пользователь №: 56 623

|
Цитата(muravei @ Jun 16 2010, 10:40)  Да, мне по барабану, что вам проще. Чего его гуглить , меня не он интересует, а его реализация на ПЛИСном языке. Кстати, я давно не гуглю, а нигмлю. Не нравится мне этот ваш гугиль-мугиль. Если рассматривать совсем примитивно, то рисование линии "на ПЛИСном" языке может быть очень похоже на рисовании линии на каком нибудь С. Вычисляется адрес первого пикселя в памяти экрана - делается его запись туда - вычисляется адрес следующего пикселя - запись. И так далее. С одной стороны уже это будет "ускоритель" поскольку освобождает центральный процессор, рисование делается "процессором ускорителя". С другой стороны такой подход "в лоб" может оказаться не очень эффективным, поскольку запись в память короткими порциями по разным адресам не очень производительна. Хорошо бы кешировать. Ну и многое зависит от типа памяти.
|
|
|
|
|
Jun 16 2010, 08:48
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(alexPec @ Jun 12 2010, 01:04)  Так это демки альтеры, у меня такие в ките зашиты. Как я понял, это демонстрация не графического ускорителя, а возможностей процессора NIOS II и операционной системы с графическими библиотеками сторонних производителей. Собственно, ускорять то там нечо. Все это я думаю программное. НЕТ это именно демка ускорителя (контора TES, девайс D/AVE 2D) http://www.tesbv.com/index.php?option=com_...9&Itemid=91хрена такое видео на ниосе сделаешь - совершенно не те возможности автору - такой ускоритель сделать сложно, тем более, чтобы он влез в циклон. и к нему софта нужно немерянно (я даже не знаю, скока индусов было потрачено на софт (guliani) для этой демки, вернее чтоб можно было такую демку написать) upd: то есть на халяву вряд ли найдете (мне не удалось) что-либо более менее стоящее начтите с С/С++ - алгоритмы машинной графики или тому подобное (хоть в яндексе, хоть в книжных магазинах) - а на ПЛИС это можно перенести несколькими способами - то есть в природе есть ПО которое может С скомпилить для ПЛИС, также есть SystemC (С++ библиотека) ну и вообще, после токо, как на С сможете нарисовать (в "замедленном" режиме), перенести на "язык" ПЛИС это не проблема
|
|
|
|
|
Jun 16 2010, 10:02
|

Гуру
     
Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591

|
Цитата(Maverick @ Jun 16 2010, 11:01)  Мой совет начните например с функциональной схемы. Как раз эта часть функ. схемы наиболее непонятна. Линию параллельно стороне или прямоугольник- эт понятно, я нарисовал бы. Цитата(nckkm @ Jun 16 2010, 11:03)  Вычисляется адрес первого пикселя в памяти экрана - делается его запись туда - вычисляется адрес следующего пикселя - запись. И так далее. С одной стороны уже это будет "ускоритель" поскольку освобождает центральный процессор, рисование делается "процессором ускорителя". С другой стороны такой подход "в лоб" может оказаться не очень эффективным, поскольку запись в память короткими порциями по разным адресам не очень производительна. Хорошо бы кешировать. Ну и многое зависит от типа памяти. Так , в принципе , и думал. А если запись делать не скакая по экрану, а вовремя регенерации его, ну и что -то вроде конвеера, точка одной линии (чтение-модиф.-запись) точка др. линии и тд Цитата(yes @ Jun 16 2010, 12:48)  такой ускоритель сделать сложно, Ну, чуть попроще.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|