总结, 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的文档
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的文档:
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应该都是单精度的了
|