你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

浮点 DSP 运算效率不高

[复制链接]
whtt 发布时间:2017-12-26 10:28
阅读主题, 点击返回1楼
收藏 2 评论16 发布时间:2017-12-26 10:28
16个回答
whtt 回答时间:2017-12-27 10:03:49
g921002 发表于 2017-12-26 19:02
使用DCache跟ICache時,如果使用DMA存取周邊要注意同步問題。

望大师指点
dlx6969 回答时间:2018-2-4 22:00:45
楼主:我按照你的测试方式,循环次数为1000次,对F767进行了测试。每运算完一次,对IO进行一次取反操作,测波形得到的计算时间。单精度DSP -O0 ,时间 960us;双精度DSP -O0 浮点数不带f 1.2ms;当数据带f和单精度时间一致,为什么我的单精度和双精度计算时间没有太大区别呢?
dlx6969 回答时间:2018-2-4 22:01:11
void Test1(void)
/*用默认math.h和单精度浮点数测试*/
{
        uint16_t i=0;
        float Tr=0.0f;
        float Ti=0.0f;
        float Temp=0.0f;
        for(i=0;i<1000;i++)
        {
                Tr+=1.0f;
                Ti+=10.0f;
                Temp=Ti-Tr*cos(2.0f*PI*i/N)+Ti*sin(2.0f*PI*i/N);
        }
}
void Test2(void)
/*用默认math.h和双精度浮点数测试*/
{
        uint16_t i=0;
        float Tr=0.0;
        float Ti=0.0;
        float Temp=0.0;
        for(i=0;i<1000;i++)
        {
                Tr+=1.0;
                Ti+=10.0;
                Temp=Ti-Tr*cos(2.0*PI*i/N)+Ti*sin(2.0*PI*i/N);
        }
}
void Test3(void)
/*用DSP库和单精度浮点数测试*/
{
        uint16_t i=0;
        float Tr=0.0f;
        float Ti=0.0f;
        float Temp=0.0f;
        for(i=0;i<1000;i++)
        {
                Tr+=1.0f;
                Ti+=10.0f;
                Temp=Ti-Tr*arm_cos_f32(2.0f*PI*i/N)+Ti*arm_sin_f32(2.0f*PI*i/N);
        }
}
void Test4(void)
/*用DSP库和双精度浮点数测试*/
{
        uint16_t i=0;
        float Tr=0.0;
        float Ti=0.0;
        float Temp=0.0;
        for(i=0;i<1000;i++)
        {
                Tr+=1.0;
                Ti+=10.0;
                Temp=Ti-Tr*arm_cos_f32(2.0*PI*i/N)+Ti*arm_sin_f32(2.0*PI*i/N);
        }
}
whtt 回答时间:2018-2-5 10:18:52
本帖最后由 whtt 于 2018-2-5 10:24 编辑
dlx6969 发表于 2018-2-4 22:01
void Test1(void)
/*用默认math.h和单精度浮点数测试*/
{

因为我用的F722,是不带双浮点FPU单元的;而你用的F767是带双浮点FPU单元的;所以767在处理双浮点数上面是有优势的。
通过你的实验也反应出双浮点单元在处理数据上面,如果数据精度要求不高的话,单精度比双精度数据处理速度上还是有一点点优势的
whtt 回答时间:2018-2-5 10:21:29
dlx6969 发表于 2018-2-4 22:01
void Test1(void)
/*用默认math.h和单精度浮点数测试*/
{

1.png
fkxy 回答时间:2018-2-21 08:47:14
支持一下
1401696616 回答时间:2018-6-4 15:11:12
很牛的一份帖子
12

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版