[uquote="Satyr",url="/forum/viewtopic.php?p=3309063#p3309063"]Многоуровневый кеш - это от безысходности, как компромисс. С SRAMом не сравниться.[/uquote]
Увы, прогресс в скорости работы процессоров обогнал прогресс в улучшении памяти. Это уже давно так и в ближайшем времени кажется так и останется. Поэтому извращаются с кэшами, программисты греют мозги неочевидными вещами, которые явно или не контролируются или если все же контролируются, оказывается что это большая дыра в безопасности.
Могу показать интересную статистику. Алгоритм один и тот же (ГОСТ ессно -)) ), далее показатель в попугаях приведенных на Мгц
И правда, интересная статистика. Жаль что по алгоритму который мне никогда не понадобится. Насколько эти соотношения зависят от конкретного алгоритма? А также компилера и оптимизаций. Ну и подборка ядер у вас специфичная все-таки.
Я поприкалывался с чем-то таким но только на M3, с кодом ReedSolomon (сперт с порта известной либы RS на DSPic), кодируя пакет (223,255) и посмотрел на дефолтном 8MHz везде 0WS, из флеша
- Что будет с -O0, -O2, -O3 и -Os. На предмет размер кода vs скорость.
- Все то же самое но набор команд m0
- Два варианта компилеров - arm-eabi-none и armhf (как ни странно он оказался ок для m3, хоть там и нет никакой плавучки, было интересно прокатит ли, прокатило). Конечно же оба gcc.
Потом я задолбался из-за комбинаторики. Если будет не лень - посмотрю RAM vs ROM vs wait states на предмет скоростей, потому что соотношения более-менее уловил

. Запуск кода m0 на m3 не совсем репрезентативен, но настоящего m0 у меня под рукой не было, только m3 всех мастей и направлений.
Общие идеи - даже злой уровень O3 не так уж сильно раздувает код, зато работает на 30-40% быстрее чем size-optimized. Сборка без оптимизации не рулит. O2 хороший компромисс по скорости (почти как O3) при том что код распуает меньше.
По набору команд - код m0 получался чуть мельче при прочих равныз, но вот скорость его работы - это фэйл, проигрыш минимум на треть. За сам факт набора команд.
M7 кроме того что ядро офигенное (там и по ТТХ АРМовскому DMIPS/Mhz круче любый 32битных 'A'), код в флеше за нормальным L1 кешем, в качестве оперативки SRAM. Последние 2 с L1/L2 кешом и DDR2 на 1/2 и 1/3 частотах ядра соотв.
Говоря за себя - мне его такой просто некуда девать. От микроконтроллера мне столько не надо, а для линукса у меня и покруче штуки есть. Где вся система в сборе чего доброго стоит меньше чем один такой микроконтроль.