完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
目前正在做ARMv7 系列芯片算法的NEON优化,发现一个耗时异常的地方,现象描述如下: 首先主循环里会处理三类数据,三类数据分开存放在DDR上,每次循环分别处理三类数据的8个uchar数据,存储数据也是分三类数据地址分开存放,我分别定义三个uint8*8的变量用来暂时存储处理的结果,在使用vst1_u8从寄存器存储数据到DDR的时候,只要我存储处理过后的三路数据中的一路,耗时就会增加到59ms,这时候不管是否存储另外两路数据,耗时都是59ms。如果我从DDR直接加载数据,给该变量赋值,不处理直接写到DDR,统计总循环的耗时会降低20ms,同样的我存储其他变量的数据到DDR耗时也会下降20ms,只要一存储处理过后的数据中的一路,总循环耗时就突增到59ms,想不明白,都是从d寄存器或者q寄存器写数据到DDR,为什么耗时会差这么多,只要存储处理过的数据耗时就上升到59ms。该算法原来的耗时是180ms,现在优化到59ms,想弄清楚耗时增长的原因?是否有别的优化方法进一步降低耗时?(注:由于该算法的特性,算法中使用寄存器数量已经超过的ARMv7 NEON中的寄存器数量。) |
|
相关推荐
1个回答
|
|
|
因为处理会耗时,当然会比直接存储时间多,计算时间增加了
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard-文件I/O的深入学习之存储映射I/O
542 浏览 0 评论
飞凌嵌入式ElfBoard-文件I/O的深入学习之I/O多路复用
998 浏览 0 评论
基于米尔MYC-LR3576开发板的实时视频识别系统设计与实现
727 浏览 0 评论
飞凌嵌入式ElfBoard-文件I/O的深入学习之阻塞I/O与非阻塞I/O
773 浏览 0 评论
大神们,想知道你们都用什么ide编程调试器? Arduino IDE?还是 e2studio ?还有其他吗?哪个好用呢
1145 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-8 23:11 , Processed in 0.802358 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3140