ssr (24.12.2023 19:45, просмотров: 964)
Какое минимальное число тактов на один цикл фильтра? Данные и
коэффициенты по 16 бит. Краткое изучение показало, что не все
команды выполняются за 1 такт. Максимальное время тоже интересно.
Спасибо. loop:
ldr r5, [r2, r4, lsl #2]
ldr r6, [r0, r3, lsl #2]
smlal r7, r8, r5, r6
subs r3, r3, #1
movmi r3, #(LENGTH - 1)
add r4, r4, #1
cmp r4, #LENGTH
blt .loop
-
- Как справедливо заметили ниже, количество тактов зависит... (it
depends). Например, активный обмен контроллера DMA с периферией и
памятью, будет занимать шину памяти, замедляя выполнение кода ЦП.
Даже на микрочиповских dsPIC, из-за DMA нельзя было гарантировать
время выполнения преобразований. Nikolay_Po(170 знак., 25.12.2023 11:07)
- Какое ядро? Разные ARM, разные Cortex имеют свое время выполнения.
Впрочем все это неважно. Для подсчета тактов воспользуйся счетчиком
DWT тикающим с частотой ядра: RxTx(447 знак., 24.12.2023 20:09)
- Это ARM, братан! здесь время выполнения много от чего зависит.
Можно ориентироваться на документ Cortex™ -M3 Technical Reference
Manual, от АРМа, но сейчас придет SciFi и скажет: не занимайтесь
хуйней. - IBAH(24.12.2023 20:03)
- Я запускал в железе и засекал по таймеру с частотой ядра. Другого
надёжного способа посчитать не нашёл. Несколько лет назад дело
было, данных под рукой нет. Nikolay_Po(129 знак., 24.12.2023 19:51)