完善资料让更多小伙伴认识你,还能领取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 ELF 1板卡-开发板适配之CSI
372 浏览 0 评论
迅为RK3568开发板篇Openharmony配置HDF控制UART-实操-HDF驱动配置UART-修改HCS配置
822 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之SAI
945 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之ENET
582 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之电阻屏触摸
1037 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-23 11:25 , Processed in 0.540335 second(s), Total 43, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191