ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
26 июля
143960 Топик полностью
GM (08.01.2009 14:57, просмотров: 146) ответил Alex B. на Вот теперь попробуйте найти на этих 13-и страницах, сколько инструкций кроме умножений и маков выполняются за один такт. И сколько из этих инструкций могут работать напрямую с SRAM.
Нет, там не напрямую, там стоит дополнительный конвейер на 4 инструкции, и он подкачивает из флеши в основной конвейер. Флеш работает примерно на 30 МГц, но её ширина 64-бита. Если запустить программу из флеши, то потери, конечно есть, но не такие существенные, как можно было бы ожидать. Конечно, многое зависит от алгоритма и от искусства разработчика. На моих алгоритмах для тактовой 100 МГц скорость снижалась до эквивалентных 90 МГц. Но обычно критичные секции кода я переписываю в раму и запускаю оттуда, при этом потерь нет вообще. Практически все инструкции выполняются за один такт процессора. Покажите, какие вам не нравятся, мы подберем подходящий эквивалент. Например, такая команда addl MEMORY,acc складывает содержимое 32-битного аккумулятора и 32-битной памяти, и результат сохраняется в раме за ОДИН такт. Короткие переходы (в пределах 64К) делаются за 4 такта, по условию есть и за 2, что поделаешь конвейер, туды его в качель. Не думаю, что ситуация с переходами в пиках чем-то лучше. Ну, есть и недостатки, куда ж без них, лично мне не нравится неортогональность многих команд, отсутствие rptb (которая, кстати, присутствует в 28335), отсутствие циклической адресации с произвольным индексом для N>256, много чего.