Pull to refresh
24
0
Виктор @byman

Пользователь

Send message

По пути к вершине Эльбруса: Кузнечик на DSP

Reading time6 min
Views6.2K

C интересом прочитал статью о впечатляющих показателях  процессора Эльбрус  на алгоритме шифрования  Кузнечик.  В этой же статье приведена ссылка на проект  с реализацией указанного алгоритма.    Вот мне и захотелось   посмотреть, как пойдет  реализация этого алгоритма шифрования на сигнальном процессоре  К1967ВН44(28) , с которым мне часто приходится работать.  

Шаг за шагом

DSP   серии  К1967ВНхх  имеют собственную среду разработки CM-LYNX , компилятор С и С++ на базе Clang.   Этого набора достаточно чтобы попробовать  сделать оценку производительности процессора  на указанной выше реализации алгоритма . В архиве проекта   два файла: в одном 8-битная версия   алгоритма, а в другом 128-битная версия, т.е. вариант для процессоров поддерживающих операции со  128-разрядными числами.  

Для полноты эксперимента, начинаю с 8-битной версии. После компиляции и запуска на отладочной плате К1967ВН44, при максимально возможном уровне оптимизации  –О2,  получаю результат

Self-test OK!

kuz_encrypt_block(): 54.804 kB/s (n=200kB,t=3.649s)

kuz_decrypt_block(): 52.435 kB/s (n=200kB,t=3.814s) 

Программа    информирует , что тест самопроверки  прошел успешно , а затем производит замер скорости шифрования-дешифрования. По умолчанию, в инструментальном софте для платы К1967ВН44 используется определение  частоты процессора 250 МГц. Для этой частоты и произведены вычисления.            

Чтобы понять, что это за уровень скорости  54.804 kB/s, приведу аналогичный показатель последовательной обработки для процессора Эльбрус(8СВ) -  150 мегабайт в секунду на одном ядре. До Эльбруса  нужно еще ускориться где-то в 3 000 раз.  

Читать далее
Total votes 36: ↑35 and ↓1+45
Comments6

Information

Rating
Does not participate
Location
Беларусь
Registered
Activity