Advances in processor architecture and connectivity technology have pushed embedded solutions into an increasing set of applications as demonstrated by ARM® partners shipping over 4 billion devices into that market in 2014. The availability of an increasing variety of low cost sensors is one of many factors driving market forecasts, such as the one you see below.
Figure 1 - Expected number of (embedded) IoT devices in 2020 – source Gartner, 2015
Some readers may have doubts about such forecasts, but it is not the aim of this blog to discuss their validity. For this blog I prefer to focus on presenting how we may remove barriers that face the industry in order to reach or exceed those numbers.
In an embedded context, productivity and security are two factors of resistance for future deployment. The industry does have good solutions today that address the needs of developers to build a whole range of products that span from the constrained design to the high performance multicore design. What developers are reaching out for is a better foundation on which they can rapidly build and deploy innovative product families. We have an expressed need for improved productivity.
Developers are also looking for ways to simplify the design of secure solutions. Today, the perception is that security solutions are difficult and different enough to block a critical mass of developers from designing embedded solutions and that creating product families is a serious undertaking. We need to open the door to more developers and to give them the means to go to production faster.
To address these issues, ARM has introduced ARMv8-M, a next generation 32bit processor architecture designed as a foundation for enhanced scalability and developer friendly security. ARMv8-M offers a single foundation that suppliers can use to create differentiated products which developers would then use to rapidly rollout complete product families. This architecture will spawn the next generation of ARM Cortex®-M processors, and will expand the ecosystem to continue to foster co-innovation and common benefits.
Here are three key features of ARMv8-M:
1-Two profiles:
The choice of profiles enables processor implementations that optimally meet their target applications:
-ARMv8-M Baseline –for processor designs with low gate count and a simpler instruction set. It uses the ARMv6-M architecture as its foundation, adding some significant enhancements for increased capability. (The Cortex-M0 processor is based on ARMv6-M)
-ARMv8-M Mainline –for full feature mainstream microcontroller products and high performance embedded systems. It is similar to the ARMv7-M with additional enhancements.(Cortex-M4 and Cortex-M7 are based on ARMv7-M)
What is of interest is the outcome or effect for the developer. It will now be easier and faster to create product families as opposed to specific products one at a time, significantly helping with our desired increase in productivity.
2-Software and resource isolation via ARM TrustZone® technology
The security feature in ARMv8-M is referred to as TrustZone, a foundation for embedded devices. TrustZone offers hardware access control to code, memory and I/O while retaining the requirements of embedded applications: real-time response, minimal switching overhead, and ease of software development.
ARMv8-M adds an extra state to the operation of the next generation Cortex-M processors so that there are both a secure and non-secure states. These security states are orthogonal to the existing Thread and Handler modes, thereby having both a Thread and Handler mode in both secure and non-secure modes.
Another benefit of TrustZone is the cost reduction related to consolidating multiple processors into one. Instead of using distinct processors for separate software components, we can now use TrustZone to do that whilst running on a single processor. This results in a drastic decrease in system design complexity and cost.
3-Enhanced debug
Both profiles include an updated debug architecture that includes features such as support for halting debug and 32bit wide addresses for break points. The Mainline profile adds comprehensive trace and self-hosted debug extensions to make embedded software easier to debug and trace, dramatically reducing the design effort and release cycle.
At ARM we are very excited by the new possibilities and markets made accessible to all by this architecture. Personally, I am eager to see how the ecosystem partners will use it to create and launch successful innovative products. So as not to leave you in suspense, I invite you to take a sneak preview of all the new features by reading this white paper.
For those interested there is also a white paper that describes the architecture of IoT nodes here.
For more detailed information, check out Joseph Yiu's Whitepaper:
Whitepaper - ARMv8-M Architecture Technical Overview