Я довольно долго оптимизировал коды в сборке, начиная с MC68000 на Amiga, затем в основном ARM9E (ARMv5E).ARM11 был в порядке с новыми SIMD, как инструкции и насыщенности.Затем появился Coretex.
Знаете что?NEON, поставляемый в комплекте с серией Coretex-A, забрал у меня всю мотивацию оптимизации для ARM.
Неоптимизированные коды NEON из коробки работают примерно в 5 раз быстрее, чем оптимизированные для сборки коды ARM, и это намного проще, чем ARMсам по себе: там, где мне приходилось изо всех сил пытаться заставить вещи работать, в NEON почти всегда есть подходящие инструкции, выполняющие одинаково или даже более точно для нескольких элементов одновременно.
Я читал, что время выполнения инструкций ARM сильно изменилось по сравнению с Coretexв дополнение к возможности двойного выпуска, что означает, что для достижения максимальной производительности мне приходится делать много разных вещей, чем на ARM9, но, честно говоря, мне уже все равно.NEON - это путь.
пока ARM
Не тратьте свое время на ARM и особенно на NEON.Вместо этого начните изучать НЕОН.
Отличное введение в НЕОН: http://bit.ly/8XzPXM