第一范文网 - 专业文章范例文档资料分享平台

dsp优化心得

来源:用户分享 时间:2025/7/12 4:46:03 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

结束)。

1.2.3.3 观察资源平衡—决定是否展开循环

搜索“Resource Partition:”,看看L,S,D,M共8个单元使用是否平衡,即

是否在每个时钟周期内充分使用了资源。

先看一个资源使用不充分的例子:

第一个信息(最关键的是D单元和M单元): Resource Partition:

A-side B-side

;* .L units 0 0 ;* .S units 1 1 ;* .D units 2* 1 ;* .M units 1 1 这个信息要和下面这两个个信息一起分析。 第二个信息:

;* ii = 2 Schedule found with 6 iterations in parallel 第三个信息:没有循环展开。

结合这三个信息发现,循环体没有展开。每个循环体执行需要2个周期。结合

第一个信息知道,M单元两个周期只用了2次(因为每两个周期只用了两个乘法),浪费了2个M单元。还有,两个周期内左边用了2个D单元,右边用了1个D单元,浪费了1个D单元。注意的是:D单元用来读取和存储数据,M单元用来进行乘法运算(对于62系列和64系列每个单元进行的运算不同,具体要看手册,例如64系列的cpu的M单元可以一次进行双16位x16位乘法运算)。

再看一个资源充分利用的情况下,仍然可以改善的情况。

第一个信息:

;* Resource Partition: A-side B-side ;* .L units 0 0 ;* .S units 2 1 ;* .D units 3* 3* ;* .M units 2 2

第二个信息:

ii = 3 Schedule found with 5 iterations in parallel 第三个信息:

Loop Unroll Multiple : 2x

说明循环展开一次。每两个周期需要3个周期。这三个周期使用了6次D单

元(每个周期都有读取和存储操作),使用了4个M单元,说明每3个周期都有4次乘法运算。

当D单元充分使用的情况下,我们在看看带宽使用,如果使用了LDH读取数

据,就改成LDW读取数据。这样的话就会再提高速度。

我们再看看速度达到极限的情况下,资源的利用情况。

第一个信息:

;* Resource Partition

A-side B-side

;* .L units 0 0 ;* .S units 2* 1 ;* .D units 2* 2* ;* .M units 2* 2* 第二个信息:

ii = 2 Schedule found with 6 iterations in parallel 第三个信息:

Loop Unroll Multiple : 2x

我们从第二个信息和第三个信息得知优化的速度达到了极限:经过软件流水的

循环执行每个循环体只有一个周期。我们可以看到每2个周期用了4个D单元(两次读取:LDW和两次存储:STH),每2个周期用了4个M单元(每个周期都有两次乘法运算)。

搜索更多关于: dsp优化心得 的文档
dsp优化心得.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c84p9i08gu87f1wl0kig3_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top