STM32 M0和M3内核单片机做浮点除法运算和整型除法运算,分别的用时。希望能给大概数据参考。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32 M0和M3内核单片机做浮点除法运算和整型除法运算,分别的用时。希望能给大概数据参考。相关的知识,希望对你有一定的参考价值。

例:M0内核运算float a = 20;float b = 9;float c = a/b;
int a = 20; int b = 9; int c = a/b;
例:M3内核运算float a = 20;float b = 9;float c = a/b;
int a = 20; int b = 9; int c = a/b;
分别用时。

这个只能这样建议你;
编写C语言代码,然后编译调试,可得到汇编语言代码,把代码复制出来;
统计其指令周期数,及一个指令周期的实际时间(需要获得STM32的相关资料);

1)机器指令中没有直接浮点运算指令,而是由很多相关指令的等效(高级CPU则是采用微指令)所以也叫做伪指令;
2)这些单片机代码的运行还是独占CPU的,没有时间片的概念,就是说一个函数过程的运行,除了中断的打扰,就没有其他能够干扰其运行时序。
至于说,影响其他过程的运行问题,如果你把浮点运算放到中断函数内运行,是会影响到中断外的其他过程的运行时效,否则代码是线性运行的,一个个排队执行,没有谁影响谁的问题;
参考技术A 使用C进行编译代码上没有区别,区别的是指令集,M0和M3的指令集不同,可以在disassembling windows中看到汇编代码,区别不大。 参考技术B 可以用软件仿真一下。 参考技术C 意法半导体(STMicroelectronics) 集团于1987年6月成立,是由意大利的SGS 微电子公司和法国Thomson 半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics 将公司名称改为意法半导体有限公司,意法半导体是世界最大的半导体公司之一。从成立之初至今,ST 的增长速度超过了半导体工业的整体增长速度。自1999年起,ST 始终是世界十大半导体公司之一。据最新的工业统计数据,意法半导体 (STMicroelectronics) 是全球第五大半导体厂商,在很多市场居世界领先水平。例如,意法半导体是世界第一大专用模拟芯片和电源转换芯片制造商,世界第一大工业半导体和机顶盒芯片供应商,而且在分立器件、手机相机模块和车用集成电路领域居世界前列。 参考技术D 意法半导体(STMicroelectronics) 集团于1987年6月成立,是由意大利的SGS 微电子公司和法国Thomson 半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics 将公司名称改为意法半导体有限公司,意法半导体是世界最大的半导体公司之一。从成立之初至今,ST 的增长速度超过了半导体工业的整体增长速度。自1999年起,ST 始终是世界十大半导体公司之一。据最新的工业统计数据,意法半导体 (STMicroelectronics) 是全球第五大半导体厂商,在很多市场居世界领先水平。例如,意法半导体是世界第一大专用模拟芯片和电源转换芯片制造商,世界第一大工业半导体和机顶盒芯片供应商,而且在分立器件、手机相机模块和车用集成电路领域居世界前列。

意法半导体 (STMicroelectronics) 整个集团共有员工近 50000 名,拥有16 个先进的研发机构、39 个设计和应用中心、15 主要制造厂,并在 36 个国家设有 78 个销售办事处。公司总部设在瑞士日内瓦,同时也是欧洲区以及新兴市场的总部;公司的美国总部设在德克萨斯州达拉斯市的卡罗顿;亚太区总部设在新加坡;日本的业务则以东京为总部;中国区总部设在上海,负责香港、大陆和台湾三个地区的业务。

ST 超低功耗 ARM Cortex™-M3 微控制器

STM32L 系列产品基于超低功耗的 ARM Cortex-M4处理器内核,采用意法半导体独有的两大节能技术:130nm 专用低泄漏电流制造工艺和优化的节能架构,提供业界领先的节能性能。该系列属于意法半导体阵容强大的 32 位 STM32 微控制器产品家族,该产品家族共有 200余款产品,全系列产品共用大部分引脚、软件和外设,优异的兼容性为开发人员带来最大的设计灵活性。

ST 超低功耗 ARM Cortex™-M0 微控制器

STM32F0 系列产品基于超低功耗的 ARM Cortex-M0 处理器内核,整合增强的技术和功能,瞄准超低成本预算的应用。该系列微控制器缩短了采用 8 位和 16 位微控制器的设备与采用 32 位微控制器的设备之间的性能差距,能够在经济型用户终端产品上实现先进且复杂的功能。

FPU 浮点运算单元和DSP指令

参考技术A

float oint unit浮点运算单元
STM32系列M3不支持,M4支持单精度,M7支持双精度
如图独立于CPU内核,可单独开启关闭
设置方法

STM32F4采用Cortex-M4内核,相比Cortex-M3系列除了内置硬件FPU单元,在数字信号处理方面还增加了DSP指令集,支持诸如单周期乘加指令(MAC),优化的单指令多数据指令(SIMD),饱和算数等多种数字信号处理指令集。相比Cortex-M3,Cortex-M4在数字信号处理能力方面得到了大大的提升。Cortex-M4执行所有的DSP指令集都可以在单周期内完成,而Cortex-M3需要多个指令和多个周期才能完成同样的功能。
个人理解就是处理数据更快

Drivers-CMSIS-DSP-Lib中,Examples文件夹下是一些测试实例,Source中就是函数库了

参考文章:
https://www.cnblogs.com/xtark/p/9371415.html

以上是关于STM32 M0和M3内核单片机做浮点除法运算和整型除法运算,分别的用时。希望能给大概数据参考。的主要内容,如果未能解决你的问题,请参考以下文章

STM32单片机算法指令?

FPU 浮点运算单元和DSP指令

浅谈GD32与STM32之间的区别

单片机行业经常提到的M0 M1 M2 M3 M4 M7指的是啥

嵌入式,ARM,STM32,区别是啥?我一直以为这些是一块芯片而已,求大神简单详解。。

stm32f4为啥没人用