Я працюю над проектом DSP (фільтрація IIR) на цифровому сигнальному процесорі аналогових пристроїв (BF706) з комплектом компілятора, що йде разом з ним, CrossCore Studio. У ньому є кілька прикладів для простих DSP-матеріалів, таких як фільтри FIR та IIR та бібліотечні функції. Посібник з процесора описує набір інструкцій по збірці та не коментує C.
Моє запитання виникає саме в цій програмі, але я подумав, що існує найкраща практика, яку слідкують розробники DSP. Тож я буду це обрамляти загальним чином:
Що я зрозумів на прикладах із цим DSP, це те, що якщо я хочу використовувати схеми, призначені для DSP-програм, мені потрібно запрограмувати в зборі, щоб безпосередньо виконувати ці інструкції (як, наприклад, множення та додавання тощо). Моє запитання: Я просто програмував на C, чи не став би компілятор (який також походить від компанії чіпів DSP) не оптимізував його для цього DSP і не використовував його можливості? Або мені дійсно потрібно писати підпрограми DSP безпосередньо в зборах?