r/>
.section/pmprogram;: // НАЧАЛОПРОГРАММИ
I0 = x_input; M0 = 1; L0 = 0; // установкарегістрів p>
I1 = y_output; M1 = 1; L1 = 0; // DAG
CNTR = n; // лічильник циклів
MR = 0x0; // обнулення регістрів
// РЕЗУЛЬТАТУ МНОЖЕННЯ
the_end UNTIL CE; // ПОЧАТОК ЦИКЛУ
MX0 = DM (I0, M0); MY0 = DM (M); //
MR = MX0 * MY0 (SS); // ОБЧИСЛЕННЯ
MX0 = DM (A1); MY0 = DM (W1); MR = MR + MX0 * MY0 (SS); // рекурсивно
MX0 = DM (A2); MY0 = DM (W2); MR = MR + MX0 * MY0 (SS); // ЧАСТИНИ
DM (W) = MR1; //
MX0 = DM (B0); MY0 = DM (W); MR = MX0 * MY0 (SS) ; // ОБЧИСЛЕННЯ
MX0 = DM (B1); MY0 = DM (W1); MR = MR + MX0 * MY0 ( SS); // нерекурсівние
MX0 = DM (B2); MY0 = DM (W2); MR = MR + MX0 * MY0 ( SS); // ЧАСТИНИ
SR = ASHIFT MR1 (HI); // КОРЕКТУВАННЯ ВИХІДНОГО ВІДЛІКУ
DM (I1, M1) = SR1; // ЗАПИС ВИХІДНОГО ВІДЛІКУ У ВИХІДНИЙ МАСИВ
MX0 = DM (W1); DM (W2) = MX0; MX0 = DM (W); DM (W1) = MX0;// ЗСУВ ЗМІННИХ span>
_end: NOP; // КОНЕЦЦІКЛА; // low-powerstate, waitingforinterrupts. p>
12. Визначення вимог до процесора ЦОС
Необхідна швидкість обробки (швидкодія) процесора ЦОС визначається числом операцій (додавання, множення і пересилання), які він повинен виконати за один період дискретизації, віднесений до значення періоду дискретизації. Враховуючи, що сучасні ЦСП виконують базову операцію складання - вирахування за один командний цикл, а число операцій пересилки операндів взято рівним 25% від загального числа базових операцій, у разі багаторазової ПДВ отримуємо:
До умн1