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

浮点 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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版