1. XOP 与 FMA4 指令简介


上一页 返回目录 下一页

1、 XOP 指令产生的背景

  AMD 抢出推出 SSE5 指令集,但 Intel 打着如意算盘,却不跟进,推出了全新的 AVX 指令集。

  AVX 借鉴了一些 SSE5 的思想,但进行了扩充改良。客观地说,AVX 比 SSE5 更优,但 SSE5 既然有 Intel 值得学习的地方,AMD 是知道的。

  AMD 最终决定放弃 SSE5 指令集跟进 Intel,除发布兼容 AVX 指令集的 FMA4 指令外,另外推出一套 XOP 指令集。但是 AMD 的 FMA4 指令只是对 AVX 指令集有限支持。

  XOP 指令集的产生是 AMD 也不愿 SSE5 被全盘推翻,保留了一些 SSE5 指令的优秀的地方。

 

 

2、 AMD 的 FMA4 指令与 Intel 的 AVX 指令的关系

FMA4 指令是 FMA 指令的 AMD 版本。

可以说 AMD 的 FMA4 与 Intel 的 AVX 指令(包括 Intel 的 FMA 指令)在编码方式上大同小义,差异很小。

即可说:FMA4 指令沿用 AVX 指令的编码方式,并进行一些修改与扩充。

AMD 的 FMA4 指令与 Intel 的 AVX 指令(包括 Intel 的 FMA 指令)区别就象是:AMD 的 SSE 指令与 Intel 的 SSE 指令之间的区别。

也就是说:Intel 的 AVX 中的 FMA 指令有的,AMD 的 FMA4 可能会有,可能不会有。而 AMD 有的,Intel 不会有。

 

 

3、 XOP 指令集的特点

可以说 XOP 指令集编码方案是基于 AVX 指令集的。只是有些修改。当然 XOP 指令集有自已的特点。

(1)在 XOP 指令中使用 XOP prefix 代替 VEX prefix

说白了,在 XOP 中称为 XOP prefix 而不是 VEX prefix,但并不是简单的名称不同,虽然编码方案一样,但内容差异很大。

(2)XOP prefix 固定为 3-byte,并没有 2-byte 的 XOP prefix

(3)XOP 指令的改良主要体现在 operands 的寻址上,XOP 指令的 operands 寻址更灵活强大。

 

 

4、 XOP 指令与 AVX 指令的区别

XOP 与 AVX 之间的区别就像是: AMD 的 3Dnow 指令与 Intel 的 SSE 指令之间的区别。

XOP 是 AMD 自已推出的另一套指令。这是 Intel 目前不具备的。

而 Intel 的 AVX 指令 AMD 则进行了有限的支持。

 

上一页 返回目录 下一页


mik 写于 2009-05-17 00:38