矢量运算

编辑
本词条由“匿名用户” 建档。
矢量运算 是 IBM 和摩托罗拉为 PowerPC 处理器系列开发的 SIMD 单元。 矢量运算也是摩托罗拉的商标,因此 Apple 也使用术语 Velocity Engine,而 IBM 使用 VMX(矢量媒体扩展)术语来表示此 SIMD 单元。 在矢量运算的帮助下,可以同时对多个数据字应用相同的操作。向量单元(不是计算单个数字,而是将它们一起视为一个向量)支持每个向量最多 16...

矢量运算

编辑

矢量运算 是 IBM 和摩托罗拉为 PowerPC 处理器系列开发的 SIMD 单元。

矢量运算也是摩托罗拉的商标,因此 Apple 也使用术语 Velocity Engine,而 IBM 使用 VMX(矢量媒体扩展)术语来表示此 SIMD 单元。

在矢量运算的帮助下,可以同时对多个数据字应用相同的操作。向量单元(不是计算单个数字,而是将它们一起视为一个向量)支持每个向量最多 16 个元素。

因此,如果软件使用 AltiVec 的全部性能,理论上它可以在最多 16 分之一的时间内完成算术任务。

SIMD 单元最初内置于 PowerPC 处理器中,也内置于后来的(从 POWER6 开始)IBM Power 处理器中,并最终通过 POWER7 作为 VSX(矢量标量扩展)扩展到 64 个寄存器,宽度为 128 位。

在 IBM 的 IBM POWER 平台中,PowerPC 处理器(从 Apple 处理器改为 Intel 处理器)结束后,进一步的开发仍在继续:

技术

编辑

矢量运算矢量寄存器始终为 128 位宽。根据使用的数据类型,16、8 或 4 个元素可以保存在这样的向量寄存器中并用于计算。除了整数数据类型“byte”、“short”和“long”之外,还可以使用浮点数据类型“float”(对应于 IEEE 754 single)。 AltiVec 不支持双精度浮点值('double')。

但是,矢量运算的问题是:

  • 许多开发人员没有意识到这种可能性,只知道它“可以使他们的程序更快”,因为营销计划只提到图形、多媒体和网络领域的加速。 然而,这只会导致这些领域的程序特别广泛地使用浮点运算。
  • 处理单元的工作速度如此之快,以至于很难持续为其提供处理用品。 G5 处理器的宽带架构与以前的 G4 系统相比没有任何相关优势。

G5 处理器已经有两个完整的浮点单元,它们独立于矢量运算单元运行,实际上可以占用处理器的整个带宽

此外,摩托罗拉最新 G4 的 矢量运算 单元比来自 IBM 的 G5 更高效,G5 的 矢量运算单元是“事后”添加到现有处理器中的。

SIMD 单元

编译器支持

编辑

GNU编译器集合GCC, 通过所谓的“内置函数”以及通过特殊矢量类型支持 AltiVec,使用这些矢量类型可以自动“矢量化”诸如 +、-、* 等简单操作。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/361865/

(4)
词条目录
  1. 矢量运算
  2. 技术
  3. 编译器支持

轻触这里

关闭目录

目录