LONDON — Arm has introduced its Armv8.1-M architecture with new vector extension called Helium, to bring signal processing and machine learning (ML) capability for local decision making in edge devices based on its Cortex-M series processors.
Helium is a new M-profile vector extension (MVE) designed from the ground up to give Neon-like performance to its Armv8.1-M architecture, expecting to deliver up to 15x more ML performance and up to 5x uplift to signal processing for future Arm Cortex-M processors. This will enable Cortex-M processors to be utilized where performance challenges have limited the use of low-cost and highly energy-efficient devices.
“Helium opens up signal processing and machine learning in a single core, enabling more edge compute capability in end devices,” said Rhonda Dirvin, a senior director for Arm’s automotive and IoT business said.
Dirvin said customers were asking for M-class devices optimized for power and area sensing. “The sweet spot is for voice and sound — for example, to efficiently carry out keyword spotting,” she said.
Arm currently offers advanced digital signal processing (DSP) through its Neon technology in its Cortex-A based devices. For more constrained applications, Arm also added DSP extensions in its higher performance Cortex-M processors (Cortex-M4, Cortex-M7, Cortex-M33 and Cortex-M35P).
However, for the most constrained embedded systems where energy efficiency is important, historically the solution has been to couple a Cortex processor with a DSP in systems on chip (SoCs), which adds complexity to both hardware and software design. The challenge comes when more ML capabilities need to be incorporated, with correspondingly higher levels of expertise required in utilizing different toolchains, programming, debugging and working with complex proprietary security solutions.
Arm said it looked at adding Neon on the Cortex-M but decided instead to build a new architecture based on Neon, adding new 150 new scalar and vector instructions and programming features. The result is the Armv8.1-M with Helium, which it claims delivers real-time control code, ML and DSP execution without compromising efficiency.
With the new architecture, software developers can securely scale intelligent applications that take advantage of DSP capabilities across a wider range of devices, enabling enhanced support for emerging applications across three key categories; vibration and motion, voice and sound, and vision and image processing. It is particularly targeted at devices such as sensor hubs, wearables, audio devices and industrial applications.
While there are similarities between Helium and Neon, Helium is a new ground-up design that enables efficient signal processing performance in small processors. It offers new architectural features that enhance the compute performance of embedded use cases, as it is optimized for area and power, bringing Neon capabilities (SIMD instructions for Cortex-A) to the M-Profile architecture.
Helium and Neon are similar in that they support 128-bit vector size and use registers in the floating-point unit as vector registers. However, key differences are that Helium is designed to maximize the use of all available hardware and uses fewer vector registers than Neon; some operations in Helium utilize both vector registers and registers in the scalar register bank; it supports more data types than Neon; and it supports many new features like loop prediction, lane prediction, complex maths and scatter-gather memory accesses.
By eliminating the need for a separate DSP, Arm said software development is also simplified with Helium’s unified tool chain, libraries and models. The toolchain includes the Arm Development Studio, encompassing Arm Keil MDK, Arm Models (which are immediately available to developers for code modelling) and various software libraries including CMSIS-DSP and CMSIS-NN, allowing developers to choose the best fit for their needs.