gpt4 book ai didi

assembly - SFENCE 属于什么指令集?

转载 作者:行者123 更新时间:2023-12-05 00:51:44 24 4
gpt4 key购买 nike

我一直在对 AMD64 (x86-64) 指令进行大量研究,但结果有点令人困惑。很多时候,官方 CPU 文档并未将指令指定为特定指令集的一部分,并且互联网有时会根据特定指令所属的指令集进行划分。 SFENCE 就是一个例子,一些消息来源声称它是 EMMX 的一部分,而另一些则声称它是 SSE 的一部分。

我正在尝试将所有这些都组织在一个电子表格中以帮助学习,但在一个以技术和精确着称的领域中,这些不一致令人难以置信的沮丧。

最佳答案

EMMX 是 SSE 的一个子集,sfenceboth 的一部分。

AMD 并没有立即支持所有 SSE 指令,但一开始是 took a subset of it that did not require the new XMM registers (见 PDF 底部附近),后来被称为 EMMX。这包括例如 pavgb mm0, mm1(但 not pavgb xmm0, xmm1),以及 sfence

EMMX 中的所有指令也都在 SSE 中,支持 SSE 的处理器可以执行 EMMX 代码,无论它们是否“明确”支持 EMMX(具有专用的 CPUID 功能标志)。您链接的 Zen 1 aka Summit Ridge 隐式支持 EMMX:它没有设置相应的功能标志,但由于它支持 SSE,它最终也支持 EMMX。在 Zen 之前,带有 SSE 的 AMD 处理器也用于设置 EMMX 功能标志。

关于assembly - SFENCE 属于什么指令集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71340491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com