热门问题
时间线
聊天
视角

SSE4

来自维基百科,自由的百科全书

Remove ads

SSE4 (Streaming SIMD Extensions 4)是Intel Core微架构AMD K10中所使用的SIMD CPU指令集。它在2006年9月27日在英特尔开发者论坛上被宣布,白皮书上的细节还较为模糊。[1]随后在北京的2007年春季英特尔开发者论坛上的演示文稿中提供了47个指令的更精确细节。[2]SSE4与为前代英特尔64和IA-32架构微处理器编写的软件完全兼容。所有现有软件均可正确运行,无需修改包含SSE4的微处理器,以及现有和新应用程序(包含SSE4)。[3]

SSE4子集

英特尔SSE4包含54条指令。由Penryn提供的包含47条指令的子集,在英特尔文档中称为SSE4.1。此外,SSE4.2是由剩余7条指令组成的第二个子集,首次在基于NehalemCore i7中提供。英特尔将开发人员的反馈信息称为指令集开发中的重要角色。

从基于Barcelona的处理器开始,AMD推出了SSE4a指令集,其中有原有的4条SSE4指令和4条新的SSE指令。在支持SSE4.1的英特尔处理器中没有发现这些指令并且AMD处理器仅在基于Bulldozer的 FX 处理器上开始支持英特尔的 SSE4.1和SSE4.2 (完整的 SSE4 指令集)。在使用SSE4a时,AMD还引入了未对齐的SSE特性,这意味着未对齐的加载指令在对齐的地址上与对齐版本一样快。它还允许禁止访问内存的非加载SSE操作的对齐检查。[4]英特尔后来在他们的Nehalem处理器中对未对齐的SSE进行了类似的速度改进,但是没有在AVX之前引入非负载SSE指令的未对齐访问。[5]

Remove ads

名称混淆

Intel Core 2系列中引入的现在称为SSSE3(补充流式SIMD扩展3)的部分在英特尔提出SSSE3名称之前被媒体称为SSE4。而在内部则把新的指令称为Merom。 一些记者批评英特尔最初并没有项目给它们指定一个独有的名称。[6]英特尔最终清除了混淆,并保留了SSE4名称以用于下一个指令集扩展。[7]

英特尔正在使用营销术语HD Boost来指代SSE4。[8]

新的说明

与之前SSE的所有迭代不同,SSE4包含执行不特定于多媒体应用的操作的指令。它具有许多指令,其操作由一个常量字段和一组将XMM0作为隐式第三操作数的指令决定。

enryn公司的单周期shuffle引擎激活了其中的几条指令。(随机操作重新排序寄存器中的字节被称为shuffle。)

更多信息 指令, 描述 ...

SSE4.2

SSE4.2添加了STTNI(字符串和文本新指令)[10],和每次对16个字节的两个操作数执行字符搜索和比较的几个新指令。这些设计(除其他外)旨在加快解析XML文档。[11]这也增加了一个CRC32指令来计算循环冗余校验,比如可以在某些数据传输协议使用。这些指令首先在基于Nehalem的Intel Core i7产品系列中实现,并完成SSE4指令集。支持通过CPUID.01H:ECX.SSE42 [bit20]标志指示。

更多信息 指令, 描述 ...
Remove ads

POPCNT和LZCNT

这些指令在整数而不是SSE寄存器上运行,因为它们不是SIMD指令,而是同时出现的指令。虽然它们是由AMD通过SSE4a指令集引入的,但却往往被视为单独的扩展,并且带有自己的专用CPUID位以指示对其的支持。Intel以Nehalem微体系架构和LZCNT开始,实现了从Haswell微架构开始的POPCNT 。AMD从Barcelona微体系架构开始实施。

AMD称这一对高级位操作Advanced Bit Manipulation (ABM)指令。

更多信息 指令, 描述 ...

除非输入为0,否则lzcnt的结果等于bsr(位扫描反转)。lzcnt产生32的结果,而bsr产生未定义的结果(并设置零标志)。lzcnt的编码与bsr的编码相似,如果lzcnt在不支持它的CPU上执行,比如Haswell之前的Intel CPU,它将执行bsr操作,而不是产生无效的指令错误。

Trailing zeros可以使用现有的bsf指令进行计数。

Remove ads

SSE4a

AMD公司的Barcelona微体系架构中引入了SSE4a指令组。这些说明在英特尔处理器中不可用。支持通过CPUID.80000001H:ECX.SSE4A [Bit 6]标志指示。

更多信息 指令, 描述 ...

支持的CPU

Remove ads

引用

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads