1.memcpy拷贝,目标地址和源地址如果均是4字节对齐的,会按照4字节对齐拷贝。如果不是按照4字节对齐的,会变成单字节拷贝,速度会变慢,理论速度会慢4倍。请确保dest_ptr和data地址是4字节对齐。如果memcpy拷贝速度不稳定,有可能是地址不对齐导致,也有可能是cache未命中造成。可尝试用两个4字节对齐的buf拷贝验证。
2.如果要提升memcpy速率,可尝试将目标地址和源地址均放到ILM/DLM区,该内存区域CPU访问是0等待的。
可如下定义:ATTR_RAMFUNC_WITH_ALIGNMENT(4) uint8_t dest_buff[1024];
1.memcpy拷贝,目标地址和源地址如果均是4字节对齐的,会按照4字节对齐拷贝。如果不是按照4字节对齐的,会变成单字节拷贝,速度会变慢,理论速度会慢4倍。请确保dest_ptr和data地址是4字节对齐。如果memcpy拷贝速度不稳定,有可能是地址不对齐导致,也有可能是cache未命中造成。可尝试用两个4字节对齐的buf拷贝验证。
2.如果要提升memcpy速率,可尝试将目标地址和源地址均放到ILM/DLM区,该内存区域CPU访问是0等待的。
可如下定义:ATTR_RAMFUNC_WITH_ALIGNMENT(4) uint8_t dest_buff[1024];
1
举报
-
jf_76924617:
我已将项目的Code Section 设置为.fast , 应该都放入的DLM区域,但还是没有改善效果。