ARM(R) Cortex(R) Blog
Here you'll find miscellaneous observations, rantings and explanations concerning my work with Embedded Controllers of the ARM(R) Cortex(R) M family, the FreeRTOS operating system and Embedded development issues in general. This sort of supplements the book I wrote, but this'll be in English in order to reach a wider audience. Keep tuned in!
27. Januar 2017, 12:09
The ARM(R) Cortex(R) M7 core and how it affects developers familiar with the M4(F) cores
Here is some information I distilled from an ARM M7 Webinar just a minute ago. The good news is that the core has been improved over the M4 to potentially double performance. This is done mostly by parallelizing on the processor level whereever possibly (eg prefetch two instructions instead of one as long as the two instructions do not depend on each other).
The bad news is that as a developer on the C level, there is not a whole lot you can do to benefit from those enhancements because all of this is completly transparent to you. To fully make use of those enhancements, the C code must be optimized to the most efficient (in terms of parallelizability) ordering of machine instructions, so the choice of compiler and optimization levels will be a crucial factor in how yout code benefits from the M7 features.
This is not exactly news. As I elaborate on in chapter 2 of my book, optimizations levels can make a huge difference already for the M3 and M4 cores because optimizations already are fine tuned to take advantage of the Cortex M features (for example, in order to maximize cache usage and avoid pipeline flushes, code is frequently inlined which sigificantly cuts down on bus fetch cycles).
That basically bears two corrolaries for you as a developer:
1. As a compiler writer, there are golden times ahead of you because your work will be in the critical path for utilizing the show stopping performance boosts
2. Even though my book deals with M3/M4 cores, you can still buy it because the changes in the core don't affect 90+% of the book. How's that for a sales pitch? ;-)
|Seite 2 von 2