Computing is getting closer to the edge, even as demands on processing increase. Engineers are actively working to integrate machine learning into IoT endpoint applications, and this development is expected to continue at a rapid rate. According to Arm and industry estimates, more than 20% of endpoint IoT devices will have local machine learning integrated by 2022.
Arm aims to be at the forefront of this development with initiatives like Project Trillium, which focuses on providing resources to engineers for developing machine learning applications. From models and libraries to hardware accelerators, developers can "plug and play" both hardware and software, platforms and processors. Part of Trillium's purpose is to expand the capabilities of existing processors to allow more engineers access to the growing field of machine learning.
Expanding the capabilities of extent processors is an important part of this initiative, which has led Arm to release a vector extension for Cortex-M processors: Helium.
Helium: Enhancing Cortex-M for Machine Learning and DSP
Helium is a vector extension for Cortex-M processors with a focus on two verticals: machine learning and DSP. Helium brings up to 5x higher signal processing performance and up to 15x higher machine learning performance capabilities to the Cortex-M architecture.
Arm has already developed other processors, such as Cortex-A processors, capable of handling machine learning in many instances. Many Arm partners, however, have already become familiar with the Cortex-M—according to Arm's data, over 45 billion Cortex-M-based chips have been shipped since their release. Due to this popularity of the M-Profile architecture, Arm determined to expand the processor family's capabilities to meet the needs of machine learning in IoT applications.
In this way, Helium analogous to the 2004 release of the Arm Neon SIMD (single instruction multiple data) architecture extension to enhance the capabilities of their Cortex-A systems. Just as Neon did for Cortex-A, Helium is intended to provide extended functionality for Cortex-M processors.
Screenshot of graph depicting the current and projected performance of the M-Profile architecture. Image courtesy of Arm.
"One of the reasons that we are moving in this direction is that the marketplace said [they] need more compute at the far edge, all the way down to the smallest device in an IoT system," said Rhonda Dirvin, Senior Director of Automotive and IoT Marketing at Arm. "Compute at the edge addresses some of the issues of latency, autonomy, network bandwidth, privacy and security issues that are inherent in non-compute at the edge applications."
Helium takes the Armv8-M general purpose 32-bit configuration and adds fixed-length 128-bit vectors as well as optimized libraries for signal processing and machine learning. By leveraging Cortex-M's strengths of low power and small size (compared to Cortex-A), Helium is meant to bring machine learning and DSP to efficiency-focused edge devices.
With the widespread use of Cortex-M-based chips, Helium has the capacity to affect many applications.
The Growing Trend of Development Ecosystems
Beyond these updates in processor capabilities, Arm is increasingly offering development tools and systems for designers. Where developers previously needed to use separate architectures and configure them to work together when developing edge applications, the Helium release is accompanied by a developer's toolchain, offering an integrated ecosystem that aims to bring multiple solutions together under the Arm umbrella: a compatible ISA (instruction set architecture), programmer's model, toolchain, and security via Arm TrustZone.
"[If] you have two separate architectures from two separate vendors, they probably have two separate security capabilities if they have anything built in at all. The fact that we have unified and implemented TrustZone on the Helium architecture makes it a lot easier to build in security and conform to the PSA principle," says Dirvin.
Arm's visualization of custom vs. Arm ecosystem solutions for designers
Arm, like several component manufacturers in the industry, clearly sees utility in providing designers with as many resources as possible so that their products perform optimally—and so their platforms provide as many solutions as possible.
The toolchain is available now, enabling engineers to develop applications prior to the release of Helium on silicon within the next two years. As Lorenser notes, "We have started to work with some of early access partners already. And the goal is that our ecosystem partners are able to deliver solutions ahead of hardware availability."
Filling Engineering Skill Gaps
By incorporating more machine learning and DSP functionality into Cortex-M processors, Arm's also addressing a need for individual engineers, who are consistently faced with new challenges that require varied skills to overcome.
As Dirvin puts it: "Let's say a developer is pretty good at the control code, but they [haven't] programmed a DSP. [Helium] opens up their world, where they can work on lots of different use cases that previously would've been limited to somebody that had the DSP capability."
Thomas Lorenser, Senior Product Manager, Embedded and IoT, adds, "I talked recently to one of our silicon partners and they were actually struggling to find the experts to program their own in-house DSP. And I think if they have [this toolchain] commonly known in the market, it would make their life significantly easier."
With the expanded capabilities in signal processing and machine learning, as well as the integrated development tools and security, Arm has targeted three main areas for use cases with the Helium architecture.
Vibration and Motion
Despite a focus on smaller edge IoT devices, Helium's advances are suitable for industrial settings. This goes beyond motor control for industrial robotics processing information from multiple sensors. With integrated machine learning, the system will also be able to detect anomalies in these processes and do predictive maintenance to assess when a component is likely to break down.
Voice and Sound
Voice-enabled applications are becoming more and more common, but by integrating machine learning with signal processing, the end use can be more precise, performing advanced keyword spotting while also identifying the speaker through isolating particular microphones and noise cancellation.
Vision and Image
Helium could also affect a system's ability to perform advanced object detection and recognition. On an assembly line, for example, a device could perform object detection as well as identify anomalies in defective products. Lorenser points out that a non-Helium-based system would possibly require a Cortex-M or equivalent controller, along with custom hardware or a separate DSP. Helium is intended to simplify the design process and get a system to market as quickly as possible.
Referring to the 45 billion Cortex-M-based chips shipped already, Dirvin states, "We strongly believe that there will be many other use cases that these millions of developers will be able to come up with when they have this level of performance and capability on a device."
Adds Lorenser, "Specifically for IoT, this could be wearable applications. This could be headset applications. Industrial, or even in smart homes, [where] according to market analysts there's going to be quite a significant growth. Today you already have smart voice systems in the market. But we believe with smart doorbells and other applications, this will be an area where machine learning will be very important in the future."
Featured image from Arm Community.