首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SFENCE属于哪个指令集?

SFENCE属于哪个指令集?
EN

Stack Overflow用户
提问于 2022-03-03 16:27:51
回答 1查看 94关注 0票数 3

我已经对AMD64 (x86-64)指令做了大量的研究,这有点让人困惑。很多时候,官方CPU文档并没有将指令指定为特定集合的一部分,有时会将特定指令所属的指令集划分到internet上。这方面的一个例子是SFENCE,一些消息来源声称它是EMMX的一部分,而另一些则声称它是SSE的一部分。

我试着把它们组织在一个电子表格中,以帮助学习,但在一个技术和精确的领域,这些不一致之处令人难以置信地令人沮丧。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-03 18:00:36

EMMX是SSE的一个子集,sfence是两者的一部分。

AMD没有立即支持所有的SSE指令,但在最初的获取不需要新XMM寄存器的子集。 (见近底部的PDF),这成为众所周知的EMMX。例如,它包括pavgb mm0, mm1 (但不包括pavgb xmm0, xmm1),也包括sfence

EMMX中的所有指令也在SSE中,支持SSE的处理器可以执行EMMX代码,不管它们是否“显式”支持EMMX (EMMX有一个专用的CPUID功能标志)。Zen 1--也就是你链接的峰会岭--隐式地支持EMMX :它没有相应的特性标志集,但是由于它支持SSE,所以它也最终支持EMMX。在Zen之前,带有SSE的AMD处理器也用来设置EMMX功能标志。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71340491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档