![](https://csdnimg.cn/release/download_crawler_static/88856175/bg13.jpg)
2
Arm Helium Technology
This book is written for software engineers who wish to learn more about Arm’s Helium technology,
the M-Profile Vector Extension (MVE) for the Arm Cortex-M processor series. It is suitable for
engineers who want to migrate to Helium from systems which include a dedicated DSP, existing
users of Cortex-M microcontrollers who wish to understand or use the new capabilities of the latest
Cortex-M processors, and engineers who want to get started with neural networks and machine
learning algorithms for Cortex-M processors.
The text assumes some familiarity with C programming; however, we have tried to make example
code easy to follow. We would expect that Helium code will be written in a high-level language, but
it is useful for debug and optimization to be familiar with low-level code and so some knowledge
of assembly language is also required. Similarly, knowledge of Cortex-M processors and basic DSP
theory is also assumed, although we will briefly review those areas where necessary to introduce
Helium. Readers may wish to refer to one of Joseph Yiu’s excellent books on the Cortex-M family, or
to the introductory DSP books published by Arm Education Media.
The book is not a replacement for the Arm Architecture Reference Manual (Arm ARM), which
provides the detailed specification for a processor implementation and acts as a reference for
software developers to every part of the instruction set architecture (ISA).
In Chapter 1, we will introduce the main new features of Helium and compare it to other Arm
single instruction multiple data (SIMD) and DSP options, and look at each of the new features.
Chapter 2 looks at SIMD basics, while Chapter 3 covers Helium registers, number formats and
other architecture fundamentals. In Chapters 4–6, we will take a detailed look at the instruction set.
Chapters 7 and 8 cover the various options for writing code for Helium and measuring performance
and optimizing code. At the end of these chapters, there are a small number of questions allowing the
reader to check their understanding of the key learning points. Brief answers to these can be found at
the back of the book.
The remaining chapters of the book focus on examples. We will review some basic DSP operations and
see how they can be implemented on Helium and then look at some specific real-world applications.
Finally, we will see how Helium enables interesting and useful machine learning algorithms to be run
on Cortex-M microcontrollers.
1.1 Helium Introduction
Arm is the industry’s leading supplier of microprocessors, offering a wide range of microprocessor
cores to address the performance, power and cost requirements for almost all application markets.
The company does not manufacture silicon devices. Instead, Arm creates microprocessor designs,
which are licensed to semiconductor companies and OEMs, who then integrate them into system-on-
chip (SoC) devices. An ecosystem of more than 1000 companies designs and manufactures silicon and
writes development tools and software.
Before introducing Helium, it is useful to understand the distinction Arm makes between architecture
and implementations. In order to guarantee compatibility between different processors, Arm defines