Arm enables custom instructions for embedded CPUs
The new custom instructions will enable partners who license the Arm architecture and design their own chips to differentiate their system-on-chip (SoC) products from other chip makers for embedded and internet of things (IoT) applications.
Simon Segars, CEO of the Cambridge, England-based company, made the announcement today in a keynote talk at the Arm TechCon 2019 event in San Jose, California. Arm’s partners have shipped more than 150 billion chips to date.
“This will enable all of you to move quicker,” Segars said. “Adding this capability we have thought a lot about how we support the tools flow.”
Arm announced its Flexible Access program in July, and 75% of Arm processor licenses signed in the last two years now include this program, where developers can tweak their designs without having to continuously go back to Arm for approval.
The custom instructions go further. Arm has architected a way to support intelligent and rapid development of fully integrated custom CPU instructions without software fragmentation, Segars said.
“I’m expecting much more creativity as we move toward the fifth wave of computing,” Segars said.
The custom instructions are a new feature for the Armv8-M architecture. Arm custom instructions will initially be implemented in Arm Cortex-M33 CPUs starting in the first half of 2020 at no additional cost to new and existing licensees, enabling SoC designers to add their own instructions for specific embedded and IoT.
“A world of a trillion secure intelligent devices will be built on a diversity of complex use cases requiring increased synergy between hardware and software design,” said Dipti Vachani, senior vice president of the automotive and IoT line of business at Arm, in a statement. “We have engineered Arm Custom Instructions to fuel closer hardware and software co-design efforts toward achieving application-specific acceleration while unlocking greater device differentiation.”
The CPU: A chassis for Arm silicon partner innovation
Arm custom instructions are part of the evolution of the Armv8-M architecture with secure Arm TrustZone technology. Arm says these instructions treat the CPU as a chassis for Arm silicon partner innovation. This approach gives chip designers the opportunity to push performance and efficiency further by adding their unique application-specific features into Cortex-M33 CPUs.
Arm custom instructions are enabled by modifications to the CPU that reserve encoding space for designers to easily add custom datapath extensions while maintaining the integrity of the existing software ecosystem. This feature, together with the existing co-processor interface, enables Cortex-M33 CPUs to be extended with various types of accelerators optimized for edge compute use cases including machine learning (ML) and artificial intelligence (AI).
“SoC vendors often need optimized tools to extend the capabilities of their designs without compromising on safety, security or the existing development tools investments such as IAR Embedded Workbench,” said Stefan Skarin, president and CEO of IAR Systems, in a statement. “Arm Custom Instructions provides them with a simple, but powerful mechanism for addressing their unique requirements while maintaining the integrity and efficiency of the processes already in place.”
Nathan Brookwood, an analyst at Insight64, said that the custom instructions appear to be a competitive response to Risc-V, a rival consortium to Arm that also allows for custom instructions in its architecture.
“In the past, they have said they needed a consistent software interface, with no fragmentation,” Brookwood said. “One of the features of Risc-V is you can do this. Arm must be getting pressure from customers to provide the same capability. That is really fascinating.”
And Patrick Moorhead, analyst at Moor Insights & Strategy, said in an email, “When Risc-V first came out, try before you buy and adding special instructions was novel. Now Arm has added these in areas where it’s most needed like IoT and lower-level controllers. Arm’s special instructions can be used in same toolchain, a big benefit.”