首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VSX?VMX?Altivec?VR?VSR?!这些PowerPC SIMD缩略语是如何相互关联的?

VSX?VMX?Altivec?VR?VSR?!这些PowerPC SIMD缩略语是如何相互关联的?
EN

Stack Overflow用户
提问于 2017-09-06 17:22:43
回答 1查看 854关注 0票数 5

我听说过很多关于Altivec寄存器的事,但我甚至没有在POWER9 ISA上找到它。在该文件中,我只找到VR和VSR寄存器在第6章“向量设施”和第7章“向量-标量浮点操作”下。

ABI上,我注意到寄存器是如何物理地分配的:

我还是不明白为什么会有两个小组。是Altivec遗产吗?

据我所知,所发生的情况如下:

  1. Altivec / VMX (向量多媒体eXtensions)是PowerPc的一种古老的SIMD技术。我把它看作是旧的英特尔MMX。
  2. 新的VSX (Vector )是对它的升级,但是为了避免破坏与Altivec的兼容性,它们只保留32个寄存器(VSR32-VSR63),而Altivec操作不能处理其他VSR0-VSR 31。然而,VSX指令可以对所有64个寄存器(VSR0-VSR 63)进行操作。我把它看作是新的英特尔SSE。

对吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-07 00:32:41

为了稍微澄清术语:

  • VMX是对POWER/PowerPC处理器矢量支持的早期实现。
  • Altivec是VMX的商标;在功能上,它应该是等效的。
  • VSX是一种较新的电源处理器矢量支持实现。

VSX增加了更多的矢量寄存器(32多个,但每个寄存器仍然有128位)和特定于VSX的指令.正如您所发现的,较高编号的VSX寄存器与用于VMX操作的寄存器共享。因此,将VMX和VSX指令混合在一个进程中是不可取的,除非您对寄存器分配非常小心。

我不太熟悉Intel的矢量实现,但你的类比在我看来是正确的。

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

https://stackoverflow.com/questions/46081064

复制
相关文章

相似问题

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