Поиск:

Ответ в темуСоздание новой темы Создание опроса
> NeuroMatrix программирование, свертка изображения, любая помощь 
:(
    Опции темы
neuromatrix
  Дата 25.2.2016, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 25.2.2016

Репутация: нет
Всего: нет



Здравствуйте, есть задание написать программу на специфичном ассемблере NM6403, тема - свертка изображения. По сути все просто - умножать матрицу на маску 3x3 по специальной формуле, так чтобы изменился только средний элемент матрицы, но на практике возникли проблемы. Например как подгружать только часть матрицы (не понимаю где она будет храниться, там только теневая и рабочая матрицы по 64 бита, как индексы увеличивать). Банально даже не знаю как мне отдельно элементы матрицы по этой формуле посчитать - c5 = 1/b1+b2+b3+b4+b5+b6+b7+b8+b9* (a1*b1+ a2*b2+ a3*b3+ a4*b4+ a5*b5+ a6*b6+ a7*b7+ a8*b8+ a9*b9) . Загонять каждый раз все 9 элементов матрицы в отдельные регистры? В общем надеюсь на вашу помощь
PM MAIL   Вверх
tzirechnoy
Дата 25.2.2016, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 1
Всего: 16



А какая разрядность у элементов матрицы и что с разрядностью результата (нужна ли абсолютная точность или можно обрезать по насыщению на каком-то уровне)?
PM MAIL   Вверх
neuromatrix
Дата 26.2.2016, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 25.2.2016

Репутация: нет
Всего: нет



разрядность 8 бит, точность не важна я думаю, вы сможете помочь (за денюжки smile )? 
PM MAIL   Вверх
tzirechnoy
Дата 26.2.2016, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 1
Всего: 16



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

Кроме того, я дажэ не нашёл чёткого описания ассэмблера этого NM6403, только всякие отрывочные статьи с примерами. Так что шансы на то, что пойму это -- в общем невелики.

Но обсудить что происходит и что ему нужно -- вполне можно. Вообще, судя по всему, всё, что тот векторный процэссор можэт для такой задачи -- сделать 64 сложэния-умножэния за один такт если ему загрузят исходные данные (8 штук X в 64-битный регистр) и коэффицыэнты (W, которых, я так понял, при шырине слова в 8 бит будет как раз 64) -- и Вы сможэте получить 8 чисел в качестве результата. После этого надо развернуть потребное вам умножэние-сложэние в такие вот операцыи, в параллель по 8 штук  над 8 исходными числами. Ну, или хотя бы для начала -- просто на операцыи с 8 исходными числами (при том, что для полного результата надо 9 -- то есть как-то разбить на два этапа).
PM MAIL   Вверх
neuromatrix
Дата 26.2.2016, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 25.2.2016

Репутация: нет
Всего: нет



Да, все правильно говорите, если у Вас есть время - можете заценить типовые программки, это методичка по ассемблеру нейроматрикс

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  Pervye_shagi_assembler.pdf 916,83 Kb
PM MAIL   Вверх
tzirechnoy
Дата 26.2.2016, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 1
Всего: 16



Вообще, судя по наличию 1/b1 -- что-то про точность и вообще про размерность вам должны были сказать. Поскольку в цэлых числах 1/b1 будет примерно всегда равно нулю, и незачем в общем тогда было так писать этот член. Выясните как-нибудь, что это и зачем понадобилось.

PS Введение -- это интересно, а спецыфикацыя команд и времени их исполнения есть?
PM MAIL   Вверх
neuromatrix
Дата 26.2.2016, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 25.2.2016

Репутация: нет
Всего: нет



в формуле там ошибка, скобку забыл, вот так правильно c5 =(a1*b1+a2*b2+a3*b3+a4*b4+a5*b5+a6*b6+a7*b7+a8*b8+a9*b9)/(b1+b2+b3+b4+b5+b6+b7+b8+b9)

вот описание команд, вроде и время есть) - http://s000.tinyupload.com/index.php?file_...958926825948295
PM MAIL   Вверх
tzirechnoy
Дата 27.2.2016, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 1
Всего: 16



Ага, это ужэ интереснее. Но сегодня, думаю, подумать над этим не успею.
PM MAIL   Вверх
dreindeimos
Дата 18.3.2016, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 4.6.2015

Репутация: нет
Всего: нет



Интересно конечно
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.1374 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.