[an error occurred while processing this directive]
|
Мы тоже отталкивались от алгоритма Монтгомери.
Статья по этому поводу находится:
CAP: /upload/Oleg_0515/mod_mult/
"...Нами был реализован данный алгоритм на языке ассемблер сигнального процессора ADSP-218x со средним временем умножения 1024-битовых чисел равным 107∙10**3 тактов."
Возведение в степень - одно умножение на каждый бит + еще одно, если бит =1. Итого количество умножений (для равного количества единиц и нулей в числе) 1024+512 штук.
107000*(1024+512)=164352000 тактов.
164352000/40МГц = 4.1 сек. У Вас в 2 раза лучше. Но! Сравнивать ADSP218x-40MIPS с TMS320C54xx-40MHz наверное не совсем корректно.
Oleg_0515
E-mail: info@telesys.ru