DSP

STM32系列的浮点运算能力

2019-07-13 16:15发布

总结, CortexM4架构的都是单精度的 CotexM7结构的单双都有,目前是F7才有M7架构

从文档en.brstm32-STM32 32-bit MCU family - Leading supplier of ARM® Cortex®-M microcontrollers来看 STM32F7/4/3, STM32L4 都带有DSP和浮点运算单元 系列 频率 特点 STM32F7 216Mhz Cortex-M7 L1-Cache 高性能 STM32F4 180Mhz Cortex-M4 高性能 STM32F3 72Mhz Cortex-M4   STM32L4 80Mhz Cortex-M4 极低功耗
根据我们的经验,F767双精度跑一次用20+ms,23左右吧 单精度和整数运算好像没差别,可能是因为我们的测试用例用的都是双精度测试用例,等有空的时候研究下这个地方:为什么单精度和整数运算好像没差别
我们的目标是用200+ms以下,考虑到特殊情况复杂度是指数级增长,控制在160ms以下才是合理的
根据文档en.brstm32f7-STM32F7 series - High performance - 32-bit MCUs F7系列里面,频率都是216 产品 FPU L1-Cache STM32F7x8/9 双精度 16+16K STM32F7x7 双精度 16+16K STM32F7x6 单精度 4+4K STM32F765 双精度 16+16K STM32F745 单精度 4+4K
Cortex7的文档 ARM Cortex-M7 Processor Technical Reference Manual Revision r1p1 Home > Floating Point Unit > About the FPU 8.1. About the FPU The Cortex-M7 processor with FPU is an implementation of thesingle-precision and double-precision variant of the ARMv7-M Architecture with Floating-Point Extension (FPv5).

根据Cortex4的文档: Cortex-M4 Technical Reference Manual Revision r0p0 Home > Floating Point Unit > About the FPU 7.1. About the FPU The Cortex-M4 FPU is an implementation of thesingle precision variant of the ARMv7-M Floating-Point Extension (FPv4-SP). It provides floating-point computation functionality that is compliant with the ANSI/IEEE Std 754-2008, IEEE Standard for Binary Floating-Point Arithmetic, referred to as the IEEE 754 standard. The FPU supports all single-precision data-processing instructions and data types described in the ARM Architecture Reference Manual.
所以F4/3还有L4应该都是单精度的了