- Written by Dave Edwards, CEO/CTO of SOMNIUM® Technologies.
SOMNIUM® were very excited to attend ARM TechCon 2014, launching our innovative product SOMNIUM DRT (more details here ) and hearing public announcements from ARM and their Semiconductor licensees about the latest processor in the Cortex family, the M7.
M7 is a significant step forward for the ARM family, expanding the Cortex M roadmap with significantly higher performance capabilities than previous devices, whilst maintaining software compatibility. This strategy fits perfectly with SOMNIUM's approach of combining innovation and compatibility with industry standards, making it possible for embedded developers to utilize new technologies quickly and efficiently. M7 has some really interesting hardware features not previously seen in Cortex M devices. Separate instruction and data caches, combined with Tightly Coupled instruction and data Memories provide the opportunity to help tackle the major bottleneck in embedded performance - the memory system.
Traditional software tools aren't addressing this issue- they optimize using abstract techniques applicable to the instruction set and the processor pipeline, but there little awareness of the numerous interactions taking place between the processor and its memory system. These interactions are vital - having a huge impact on what can be accomplished, in terms of performance and efficiency. The complexity of processor-memory interactions means that it is risky and time consuming to modify the source code in order to specify explicit placement of important items into the on-chip memory resources. Likewise it is impractical or even impossible for engineers to explicitly specify relative placement of instructions and data items to try to make better use of caches/memory interfaces. The complexity of processor-memory interactions is even more complex due to M7's complex Non Uniform Memory Architecture support.
SOMINUM® DRT's patent-pending resequencing technology is the key to making best use of these features. Resequencing occurs at the linker stage in order to gain access to the whole program and provides visibility of all the individual code and data sequences within the executable, as well as comprehensive details regarding how they interact with each other and also how they interact with hardware. With inbuilt knowledge of the target device's processors and memory architecture, it is possible to automatically generate the necessary code to satisfy the specific optimization goals set - such as minimizing cost, boosting performance, curbing power consumption, or reducing size. This dispenses with the need for manual intervention, resulting in a far more efficient device-aware optimization process. Resequencing optimizations are smarter in nature. They analyze the whole program to identify all instruction and data sequences, as well as the interactions that occur between them (including instruction-to-instruction, instruction-to-data and data-to-data).
DRT's optimizations are applied automatically, with no need for source code changes or extra build steps. DRT produces executables which are signficantly smaller and more efficient the with traditional tools, helping developers reach market faster, with better, more profitable designs.
SOMNIUM DRT is launching as a Freescale Kinetis edition, and is currently in Beta release, with general availability scheduled later this year.
We are excited to be innovating in the ARM ecosystem, and will be announcing solutions to support leading vendors' M7 based devices in the future. Watch this space!
About the Author
Dave Edwards, Founder and CEO/CTO of SOMNIUM® Technologies
Dave holds a BSc (Hons) in Computer Science from QMC, University of London, and started his career at inmos/STMicroelectronics working on debugging tools for massively parallel networks of inmos transputers. Prior to founding SOMNIUM he was Technology Director at Icera (acquired by Nvidia). Dave has a strong track record of innovation,with 35 granted patents spanning major software and hardware innovations widely deployed in commercial products, including the world's first soft-MPEG processor, a leading mobile applications processor and the leading 3G/4G soft modem.