[an error occurred while processing this directive]
|
У меня на ADSP-2186 используется самопальная многозадачная операционная система реального времени. Сохранение/восстановление контекста происходит примерно 300 комманд. При частоте смены задач 8000 гц на всё тратится 2.4 млн операций в секунду, при производительности 70 млн оп. в секунду это несущественно. Вычислительный конвеер написан на ассемблере, и вызывается каждый цикл, то есть 8000 раз в секунду. После выполнения конвеера восстанавливается очередная задача. Таких задач может быть примерно до 100, обычно 35 хватает. Эти задачи написаны на C и служат для управления процессами. На мой взгляд такая структура программы оптимальная - сохранение быстродействия вычислительных задач сочетается с наглядностью написания на С задач управления.
Ну а если демодулятор вызывается чаще, чем фильтр с прореживанием, то ничего не стоит включать в конвеер фильтр только в чётных циклах.
E-mail: info@telesys.ru