AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
http://advdbg.org/forums/1921/PrintPost.aspx CPU架构 MOV和MOVS的效率问题?如何高效的拷贝内存中的数据? Coding 2009-02-09, 16:36 下午 在实现memory copy的时候,是用MOVS直接从memroy拷贝到memroy 还是用MOV先拷贝到register,然后再拷贝到memroy快呢?我想问题的根结在于MOVS需不需要 把memory的内容先读到CPU里面来。 从我查到资料来看最快的方法是,合理的控制cache,然后用movq从cache中读取data到mmx register中,然后用movntq写到memory中。不知道是不是这样是最快的? 我的背景是这样的,需要在内核态完成1M的内存拷贝,越快越好了,因为每秒需要做60次这样的拷 贝。这些内存(目标和源)实际上都是给集成显卡用的显存,软件本身不需要访问这些内存。 Re: MOV和MOVS的效率问题?如何高效的拷贝内存中的数据? 格蠹老雷 2009-02-09, 22:31 下午 不知你是否已经读过优化手册(Intel 64 and IA-32 Architectures Optimization Reference Manual)的3.7.6节:REP Prefix and Data Movement 针对你描述的情况,先拷贝到通用寄存器肯定不可取。应该是使用REP MOVSD或者SIMD类型的指 令。