Re: Тем, кто боится перейти с 8 на 16 разрядов (PIC24/dsPIC3
Добавлено: Пн май 05, 2025 13:09:32
[uquote="eleks",url="/forum/viewtopic.php?p=4712006#p4712006"]Так и есть. С фиксированной точкой и двойное использование FIR на общий сумматор для получения рекурсии.
Ни кто не говорил, что будет просто.[/uquote]
Поэтому DSP ядро и не используется.
dsPIC33 - это типичный VLIW Гарвард. А это означает, что быстродействие математики обработки сигналов достигается длинными инструкциями, которые за 1 машинный цикл выполняют до семи разных математических операций.
Возьмем к примеру mac в максимально длинной версии:
1. W4 умножается на W5
2. результат п.1 суммируется с содержимым аккумулятора А
3. по указателю в W8 загружается W4
4. по указателю в W10 загружается W5
5. инкрементируется указатель в W8
6. инкрементируется указатель в W10
7. содержимое аккумулятора с округлением загружается по указателю в W13
То есть наблюдается типичная обработка в FIR, где всего одна инструкция будет повторена на всю длину массива посредством помещения ее под инструкциями повтора do или repeat. При включении модульной адресации можно применять оконную функцию произвольной формы для кольцевого массива накопления.
IIR тут ни ухом, ни рылом.
Так же есть DSP инструкции, позволяющие без повторов максимально компактно реализовать комплексную "бабочку" БПФ за 22 машинных цикла с учетом загрузки-выгрузки.
Ни кто не говорил, что будет просто.[/uquote]
Поэтому DSP ядро и не используется.
dsPIC33 - это типичный VLIW Гарвард. А это означает, что быстродействие математики обработки сигналов достигается длинными инструкциями, которые за 1 машинный цикл выполняют до семи разных математических операций.
Возьмем к примеру mac в максимально длинной версии:
Код: Выделить всё
mac W4*W5, A, [W8]+=2, W4, [W10]+=2, W5, [W13]2. результат п.1 суммируется с содержимым аккумулятора А
3. по указателю в W8 загружается W4
4. по указателю в W10 загружается W5
5. инкрементируется указатель в W8
6. инкрементируется указатель в W10
7. содержимое аккумулятора с округлением загружается по указателю в W13
То есть наблюдается типичная обработка в FIR, где всего одна инструкция будет повторена на всю длину массива посредством помещения ее под инструкциями повтора do или repeat. При включении модульной адресации можно применять оконную функцию произвольной формы для кольцевого массива накопления.
IIR тут ни ухом, ни рылом.
Так же есть DSP инструкции, позволяющие без повторов максимально компактно реализовать комплексную "бабочку" БПФ за 22 машинных цикла с учетом загрузки-выгрузки.
