NEON-Advanced SIMD vs. SIMD

Hello,

I’m new to ARM architecture and was looking to get a better understanding of how it works. Most notably, the Cortex-A series and its DSP functionality.

When reading through ARM’s webpage, it often refers to “NEON-Advanced SIMD”, “NEON”, and “SIMD” capabilities. Looking at the ARM processor architecture, it looks like SIMD is applied to ARMv6 architecture and NEON-Advanced SIMD is applied to ARMv7 architecture. From what I understand, NEON is an improved version of SIMD instruction used in ARMv6. If that is true, does this mean “NEON-Advanced SIMD” includes all the features of the previous SIMD included in ARMv6, such as the SIMD and DSP extensions? Or is it a different entity in its own?

Regards,

Kenrick

Parents
  • They work on different registers and should really be considered as entirely separate.. The SIMD instructions are special integer instructions that work on the general purpose registers so one can do 4 byte or 2 halfword operations at time plus some other such special operations. The ARMv6 floating point unit just worked on floating point. ARMv7 introduced a new option - a floating point unit that also dealt with the new NEON operations - 8 byte, 4 short and 2 word parallel operations. The registers are 64 bits wide for floating point so in general in one cycle they can handle twice as much as one of the register SIMD operations. Plus it means the processor designers can stop worrying about them so much in loops as their results don't control branches anywhere near so often as say loop counters or tests on the general registers do. NEON is aimed at the same type tasks as the old SIMD but is practically always faster.

Reply
  • They work on different registers and should really be considered as entirely separate.. The SIMD instructions are special integer instructions that work on the general purpose registers so one can do 4 byte or 2 halfword operations at time plus some other such special operations. The ARMv6 floating point unit just worked on floating point. ARMv7 introduced a new option - a floating point unit that also dealt with the new NEON operations - 8 byte, 4 short and 2 word parallel operations. The registers are 64 bits wide for floating point so in general in one cycle they can handle twice as much as one of the register SIMD operations. Plus it means the processor designers can stop worrying about them so much in loops as their results don't control branches anywhere near so often as say loop counters or tests on the general registers do. NEON is aimed at the same type tasks as the old SIMD but is practically always faster.

Children
More questions in this forum