movq是否比x64-64架构上的mov更快?

问题描述

Agner Fog的Skylake指令表显示了以下两条指令:

MOV r32 / 64,m 1 1 p23 2 0.5

MOVQ r64,mm / x 1 1 p0 2 1

其中,每条指令在融合域中具有1个微操作,在非融合域中具有1个微操作,MOVQ每个端口23个微操作,MOVQ每个端口0个微操作,每个延迟2个,相对吞吐量列中,0.5比1。

我的问题是,阅读这些统计信息,这两条说明中哪一条更快?直观上来说,MOV每个端口23个微操作所产生的端口压力比每个端口0个微操作所产生的端口压力要大得多。 Fog在他的定义部分中说:“当流水线中的某些瓶颈限制了每个时钟周期的μop数量时,指令生成的μop数量很重要。”

我的解释正确吗-MOVQ比MOV快吗?从堆栈到寄存器的MOV会有所不同吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...