SSE指令集发展历程回顾

SSE指令集发展历程回顾,第1张

SSE指令集发展历程回顾,第2张

SSE指令集,也称单指令多数据扩展,最早由Intel提出,是为了加强浮点运算、图像处理等多媒体应用的能力,更好地控制整个系统,提高处理性能的指令集合。指令集是否先进也与CPU的性能有关,也是CPU性能的重要标志。

第一代SSE指令集出现在奔腾III处理器中,包含70条指令,包括50条提高3D图形运算效率的SIMD(单指令多数据技术)浮点运算指令,12条MMX整数运算增强指令,8条优化内存中连续数据块传输的指令。从理论上讲,这些指令在许多流行的多媒体应用程序(如图像处理、浮点运算、3D运算、视频处理和音频处理)中起着全面的强化作用。

SSE2指令集是Intel公司在SSE指令集的基础上开发的。与SSE相比,SSE2使用了144条新指令,扩展了MMX技术和SSE技术。这些指令提高了许多应用程序的运行性能。MMX技术引入的SIMD整数指令从64位扩展到128位。SIMD整数类型操作的有效执行率加倍。双精度浮点SIMD指令允许以SIMD格式同时执行两个浮点运算,提供双精度运算支持有助于加速金融、工程和科学应用。除了SSE2指令之外,原始SSE指令也通过支持各种数据类型的算术运算而得到增强,以支持灵活和更动态的计算功能。SSE2指令允许软件开发人员极其灵活地实现算法,并运行MPEG-2和MP3等程序。

SSE3指令是目前最小的指令集,只有13条指令。分为五层,分别是数据传输命令、数据处理命令、特殊处理命令、优化命令和超线程性能增强。超线程性能增强是一个全新的指令集,可以提高处理器的超线程处理能力,大大简化超线程数据处理过程,使处理器能够更快地进行并行数据处理。

SSE4指令集是Conroe architecture推出的新指令集。这项原本计划应用于NetBurst微架构Tejas核心处理器的新技术,随着它的消亡而未能实现,但在Conroe上出现了SSE4指令集。SSE4指令集由16条指令组成。但是Intel一直没有公布SSE4指令集的具体信息,这一点相当令人费解。或许英特尔只是因为特殊原因才允许少数合作软件厂商获取数据,但这种做法实在难以令人信服。世界上没有处理器厂商,希望它添加的新指令越少越好。

从SSE1到今年4月的SSE4,都是Intel提出的,AMD有自己的指令集3DNow!此外,在其处理器中支持英特尔指令集的扩展通常遵循英特尔。

近日,AMD率先公布了最新的SSE5指令集规范,并宣布新技术将出现在AMD 2009年之后的新推土机核心处理器上。AMD虽然有对应功能的指令集,但是名字都不一样。SSE5的这一突然命名对英特尔来说无疑是一条“后路”,双方会不会引起争议甚至对簿公堂还不好说。

SSE5是一个128位指令集,共有170条指令,包括64条基本指令。新增了两个最重要的功能:

首先,“3操作数指令”。过去x86指令只能处理两个操作数,但SSE5将增加到三个操作数,达到RISC架构的水平,从而将几个简单的指令集整合成一条效率更高的指令,提高了执行效率。

然后“融合乘累加”(FMA CXX)。这项技术可以将乘法与其他算法结合起来,保证一条指令就可以完成迭代运算,从而简化代码,提高效率。适用于真实图形着色、快速照片渲染、空中间音频、复杂向量(vector)数学等场合。

此外,还有整数乘法和累加指令(IMAC、IMADC)、替换和条件移动指令、向量比较和测试指令、精度控制舍入和变换指令等等。

AMD表示,SSE5指令集的使命之一是增强高性能计算的应用,充分发挥多核和多媒体的并行优势。SSE5将把原本只存在于特殊高性能架构中的功能引入x86平台,提高每条指令的输出能力,增强代码基础。

在AMD巴萨下周上市的前提下,竞争已经日趋激烈。不仅在核心的数量和架构上,在包括指令集在内的任何技术层面上,竞争都已经开始细分。任何疏忽和不利都可能影响市场走势,使自己处于不利地位。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » SSE指令集发展历程回顾

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情