Sto lavorando a un progetto DSP (filtro IIR) su un processore di segnale digitale Analog Devices (BF706) con la suite di compilatori che lo accompagna, CrossCore Studio. Ha alcuni esempi di semplici cose DSP come filtri FIR e IIR e funzioni di libreria per esso. Il manuale del processore descrive il set di istruzioni di assemblaggio e non commenta C.
La mia domanda nasce da questa particolare applicazione, ma ho pensato che ci fosse una buona pratica seguita dagli sviluppatori DSP. Quindi lo inquadrerò in modo generale:
Quello che ho capito dagli esempi forniti con questo DSP è che se voglio usare i circuiti progettati per le applicazioni DSP, devo programmare in assembly per eseguire direttamente quelle istruzioni (come moltiplicare e aggiungere, ecc.) La mia domanda è se Ho appena programmato in C, il compilatore (che proviene anche dalla società di chip DSP) non lo ottimizzerebbe per quel DSP e ne userebbe le capacità? O devo davvero scrivere le routine DSP direttamente nell'assembly?