ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
6 июля
120157 Топик полностью
MBedder, терминатор (12.05.2008 16:36, просмотров: 251) ответил Dany на Нужно производить первичную обработку данных, поступающих со скоростного(105к в сек) 24 разрядного АЦП. Плавающая точка является запасом, потому как конечный алгоритм обработки пока не ясен. Для начала хочется проверить время вычисления
32-битный целый МАС (Multiply - Accumulate), который 1:1 представляет твоя формула res3+=res1*res2, даже с 64-битным результатом выполнится даже на PIC24H за 0.575 мкс на 40 МИПС. А на dsPIC33F при 40-битном результате можно еще почти вдвое урезать  ;-------------------------------------------------------- ; long long Z += long X * long Y ; ; X = w1w0 ; Y = w3w2 ; Z = w7w6w5w4 ; ; 19 code words, 23 clock cycles (0.575 uS @40 MIPS) ; MAC32: push.d w8 mul.ss w2,w0,w8 add w8,w4,w4 addc w9,w5,w5 addc w6,#0,w6 addc w7,#0,w7 mul.ss w3,w0,w8 add w8,w5,w5 addc w9,w6,w6 addc w7,#0,w7 mul.ss w2,w1,w8 add w8,w5,w5 addc w9,w6,w6 addc w7,#0,w7 mul.ss w3,w1,w8 add w8,w6,w6 addc w9,w7,w7 pop.d w8 return ;-------------------------------------------------------- А пихать плавающие вычисления куда ни попадя - признак вопиющего ламерства. .