As we see the spectacular growth in the number of autonomous, intelligent, and connected devices (i.e. smart embedded, the Internet of Things, or IoT), which are required to operate in a low-power environment, manufacturers are increasingly turning to place the ARM Cortex-M4 and Cortex-M7 processors at the heart of these devices.
Such applications previously used a simple Microcontroller (MCU) based on Cortex-M0 or Cortex-M3 together with a separate proprietary, dedicated Digital Signal Processor (DSP). More and more OEMs are switching to a single, high performance, low-power MCU with DSP extensions, such as Cortex-M4 or Cortex-M7, to replace the two processor design.
This has a number of advantages for OEMs. It can save significantly on the BOM costs of their products, by replacing two processors with one, and a reduction in system-level complexity by removing the need for shared memory, MCU and DSP communication, complex multiprocessor bus architectures and other custom “glue” logic between the MCU and DSP. It also has the advantages of reducing software development costs, as the entire project can be supported using a single compiler/debugger/IDE, and benefits from being programmable in a high-level programming language such as C or C++, rather than the handcrafted assembler often used for a proprietary DSP.
ARM’s Digital Signal Controllers, Cortex-M4 and Cortex-M7, address the need for high-performance generic code processing as well as DSP applications. The key feature of the Cortex-M4 and Cortex-M7 processors is the addition of DSP extensions to the Thumb instruction set, as defined in ARM’s architecture ARMv7-M and the optional floating-point unit (FPU). These instructions are designed to help improve the performance of numerical algorithms and provide the opportunity to perform signal processing operations directly on the Cortex-M4 and Cortex-M7.
This whitepaper describes the DSP features of ARM’s Digital Signal Controllers, Cortex-M4 and Cortex-M7, explains how they are employed in the CMSIS DSP Library (a free-of-charge library of DSP functions optimized for the Cortex- M4 and Cortex-M7 processors), and presents some benchmark results on well-known DSP algorithms.
In the whitepaper there is a section comparing the FFT perfomance of the M3., M4, and M7 which is very useful. The next section is on FIR Filters, however, it looks like it was cut off after the introduction and it never shows the performance differences of the three architectures.