|
|
|
neuromatrix |
|
|||
Новичок Профиль Группа: Участник Сообщений: 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 элементов матрицы в отдельные регистры? В общем надеюсь на вашу помощь
|
|||
|
||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 1 Всего: 16 |
А какая разрядность у элементов матрицы и что с разрядностью результата (нужна ли абсолютная точность или можно обрезать по насыщению на каком-то уровне)?
|
|||
|
||||
neuromatrix |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.2.2016 Репутация: нет Всего: нет |
разрядность 8 бит, точность не важна я думаю, вы сможете помочь (за денюжки )?
|
|||
|
||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 1 Всего: 16 |
Нет, помочь я смогу только из любопытства и любви ко всяким извращениям.
Кроме того, я дажэ не нашёл чёткого описания ассэмблера этого NM6403, только всякие отрывочные статьи с примерами. Так что шансы на то, что пойму это -- в общем невелики. Но обсудить что происходит и что ему нужно -- вполне можно. Вообще, судя по всему, всё, что тот векторный процэссор можэт для такой задачи -- сделать 64 сложэния-умножэния за один такт если ему загрузят исходные данные (8 штук X в 64-битный регистр) и коэффицыэнты (W, которых, я так понял, при шырине слова в 8 бит будет как раз 64) -- и Вы сможэте получить 8 чисел в качестве результата. После этого надо развернуть потребное вам умножэние-сложэние в такие вот операцыи, в параллель по 8 штук над 8 исходными числами. Ну, или хотя бы для начала -- просто на операцыи с 8 исходными числами (при том, что для полного результата надо 9 -- то есть как-то разбить на два этапа). |
|||
|
||||
neuromatrix |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.2.2016 Репутация: нет Всего: нет |
Да, все правильно говорите, если у Вас есть время - можете заценить типовые программки, это методичка по ассемблеру нейроматрикс
Присоединённый файл ( Кол-во скачиваний: 3 ) Pervye_shagi_assembler.pdf 916,83 Kb |
|||
|
||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 1 Всего: 16 |
Вообще, судя по наличию 1/b1 -- что-то про точность и вообще про размерность вам должны были сказать. Поскольку в цэлых числах 1/b1 будет примерно всегда равно нулю, и незачем в общем тогда было так писать этот член. Выясните как-нибудь, что это и зачем понадобилось.
PS Введение -- это интересно, а спецыфикацыя команд и времени их исполнения есть? |
|||
|
||||
neuromatrix |
|
|||
Новичок Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 1 Всего: 16 |
Ага, это ужэ интереснее. Но сегодня, думаю, подумать над этим не успею.
|
|||
|
||||
dreindeimos |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 4.6.2015 Репутация: нет Всего: нет |
Интересно конечно
|
|||
|
||||
Правила форума "Asm для начинающих" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для начинающих | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |