Helium

Arm Helium technology is the M-Profile Vector Extension (MVE) for the Arm Cortex-M processor series. Helium is an extension of the Armv8.1-M architecture and delivers a significant performance uplift for machine learning and digital signal processing applications for small, embedded devices.


Overview

Helium is an optional extension that enables higher signal processing capabilities for future Arm Cortex-M processors.

Helium technology adds over 150 new scalar and vector instructions. Architecturally, there are many implementation options: 

  • Helium option omitted – Armv8.1-M integer core with optional scalar FPU (double precision support also optional).
  • Integer Helium only with optional scalar FPU (double precision support also optional).
  • Integer + floating point Helium (support vectored single precision and half precision) with scalar FPU (double precision support also optional).

The integer Helium enables efficient compute of 8-bit, 16-bit and 32-bit fixed point data. 16-bit and 32-bit fixed point formats are widely used in traditional signal processing applications, such as audio processing. 8-bit fixed point format can be important to machine learning processing, such as neural network computation, as well as image processing. 

Helium also supports floating point data types, including single precision floats (32-bit) and half precision floats (16-bit). 

How does Helium differ from Neon?

While there are similarities between Helium and Neon – the Advanced SIMD technology available on Arm Cortex-A processors - Helium is a new ground-up design that enables efficient signal processing performance in small processors. It provides many new architectural features that are not available in Neon. The key differences between Helium and Neon are as follows:

  • Helium is optimised for low power, high performing CPUs. As such, the architecture is designed to maximise usage of all available hardware.
  • Helium has fewer vector registers than Neon, however, some Helium vector instructions can access the scalar register file and the vector register file simultaneously.
  • Helium supports new features like loop predication, lane predication, complex maths operations, and scatter-gather memory accesses.

Online resources

Take a look at some great resources available online from some of the leading experts in the field to get you started using Helium:

Type Title
Blog Getting started with Arm Helium: The new vector extension for the M-Profile architecture. 
Blog The making of Helium: Why not just add Neon?
White paper Introduction to the Armv8.1-M architecture.
Online course Arm Helium with digital signal processing with Cortex-M processors.
Architecture Reference Manual Armv8.1-M Architecture Reference Manual.

Get in touch

Interested in speaking with someone about Helium? Get in touch to speak with one of our sales representatives.

Be part of our ecosystem

We are growing our partnerships for Helium and would love for you to be a part of it. Get in touch with us to learn more.

Become a partner