ARMv8.1-M Adds Machine Learning to Microcontrollers

ARMv8.1-M Adds Machine Learning to Microcontrollers

Feb. 14, 2019
The latest microcontroller architecture definition from Arm—ARMv8.1-M—stirs machine-learning hardware acceleration into the mix.

Arm’s ARMv8.1-M architecture specification redefines its microcontroller offerings (Fig. 1). It includes the company’s Helium technology, which addresses machine-learning (ML) applications. Arm estimates that by 2022, more than 20% of IoT endpoint devices will have ML support. The new specification also includes new signal-processing debug features as well as reliability, availability, and serviceability (RAS) extensions.

1. New ARMv8.1-M microcontrollers with Helium technology address the high end of ARM’s MCU product line.

The new enhancements can be added to existing Cortex-M4 and Cortex-M7 as well as the new Cortex-M33 and Cortex-M35P. Enhancements can be added individually to new designs, allowing developers to take advantage of features selectively. This means systems could be built with integer-only ML support, which would be useful for many applications that don’t need floating-point support.

Much of the support is built on new data types, such as 8-bit integers (int8) and 16-bit floating-point (FP16). The ARMv8.1-M architecture also adds Neon-like, 128-bit vector extensions (Fig. 2). Among the instructions are gather load and scatter store, as well as low overhead loops and predication. Additional complex math support has been incorporated using about 150 instructions, including 8-bit vector dot product support.

2. The Neon-style vector extensions are useful in a general sense, but they specifically target machine-learning applications using small integers and floating-point.

These new features are designed to address applications that would otherwise require custom hardware or additional DSP support (Fig. 3). As a result, a single toolchain and ecosystem can support the new Cortex-M chips. It also means there’s a single instruction set architecture (ISA) and programming model for developers to contend with. The architecture specification already includes Arm TrustZone support for microcontrollers.

3. The ARMv8.1-M definition offers a better solution than using existing Cortex-M with either custom hardware or DSP.

The new architecture specification fills out Project Trillium’s low end (Fig. 4). Project Trillium is designed to handle ML frameworks and applications with Arm’s neural-network (NN) library support, providing a uniform interface for the underlying hardware that now includes Helium-enhanced microcontrollers.

4. Arm’s latest microcontroller enhancements fill out the low-end of the Project Trillium hardware IP.

Designers can expect the 15X improvement for machine-learning applications based on improved matrix multiplication support for int8 data. Signal-processing chores like audio processing may see up to a 5X improvement based on int32 processing of complex fast Fourier transforms (FFTs).

Microcontrollers based on the new architectural specification will allow machine learning to move to the edge without having to resort to higher-performance processor architectures. This allows analysis for preventive maintenance to be handled by the same chip that's controlling the motor instead of having an additional system to monitor the application. We’ll have to wait and see how OEMs incorporate the new features and what kind of SKUs become available.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!