[an error occurred while processing this directive]
Сорри, влезу (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SM 08 апреля 2004 г. 09:46
В ответ на: Вопрос: "Ваши" обработочные функции vs. "от Техаса" отправлено Т34-85 08 апреля 2004 г. 08:33

Первое - про DSPlib. По моему основная проблема при использовании DSPLib из С это не то, что ВНУТРИ нее код плохо оптимизирован, а то, что надо делать вызовы подпрограмм на ее функции - в результате у компилятора отключается программная конвейеризация в том цикле, откуда вызывается функция DSPlib, и падает общая производительность программы. Конкретное сравнение - использование DSP_dotprod из DSPLib в поиске периода основного тона LPC кодера по сравнению с переписанной вручную искалкой (причем сам цикл перемножения и суммирования выдран из исходников DSPLib (!) чтоб не думать) приводит к увеличениею требуемой производительности на данный кусок программы в ПОЛТОРА раза! А это в полтора раза меньше каналов! Соответственно вывод - дополняем свою "библиотеку" функцией "найти период основного тона", а DSPLib опять мимо - только послужила местом добычи полезного куска.

Еще один пример - это mthlib (это для 67xx). Хорошая вроде штука - быстрые деления, корни, синусы, экспоненты... Но!!! Опять вызов подпрограмм все гробит. Надо-то внутри цикла (алгоритм Левинсона-Дурбина) один раз поделить. И как результат компилер опять отчекрыживает конвейеризацию, и полная задница. И опять переписывается на ассемблер - опять в своей либе появился "Левинсон-Дурбин", а mthlib осталась сбоку.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru