第一代的SSE指令集出現(xiàn)在Pentium III處理器中包括了70條指令,其中包含提高3D圖形運算效率的50條SIMD(單指令多數(shù)據(jù)技術)浮點運算指令、12條MMX 整數(shù)運算增強指令、8條優(yōu)化內(nèi)存中連續(xù)數(shù)據(jù)塊傳輸指令。理論上這些指令對目前流行的圖像處理、浮點運算、3D運算、視頻處理、音頻處理等諸多多媒體應用起到全面強化的作用。
SSE2指令集是Intel公司在SSE指令集的基礎上發(fā)展起來的。相比于SSE,SSE2使用了144個新增指令,擴展了MMX技術和SSE技術,這些指令提高了廣大應用程序的運行性能。隨MMX技術引進的SIMD整數(shù)指令從64位擴展到了128 位,使SIMD整數(shù)類型操作的有效執(zhí)行率成倍提高。雙倍精度浮點SIMD指令允許以 SIMD格式同時執(zhí)行兩個浮點操作,提供雙倍精度操作支持有助于加速財務、工程和科學應用。除SSE2指令之外,最初的SSE指令也得到增強,通過支持多種數(shù)據(jù)類型的算術運算,支持靈活并且動態(tài)范圍更廣的計算功能。SSE2指令可讓軟件開發(fā)員極其靈活的實施算法,并在運行諸如MPEG-2、MP3、3D圖形等之類的軟件時增強性能。
SSE3指令是目前規(guī)模最小的指令集,它只有13條指令。它共劃分為五個應運層,分別為數(shù)據(jù)傳輸命令、數(shù)據(jù)處理命令、特殊處理命令、優(yōu)化命令、超線程性能增強五個部分,其中超線程性能增強是一種全新的指令集,它可以提升處理器的超線程的處理能力,大大簡化了超線程的數(shù)據(jù)處理過程,使處理器能夠更加快速的進行并行數(shù)據(jù)處理。
SSE4指令集是Conroe架構所引入的新指令集。這項原本計劃應用于NetBurst微架構Tejas核心處理器之上的全新技術也隨著它的夭折最終沒能實現(xiàn),但是SSE4指令集出現(xiàn)在了Conroe上。SSE4指令集共包括16條指令,不過英特爾沒有公布SSE4指令集的具體資料。這相當令人感到納悶。也許英特爾是基于特殊的考慮,僅讓少數(shù)合作軟件廠商取得數(shù)據(jù),只是這種作法實在很沒有說服力就是了,天底下沒有哪家處理器廠商,希望自己新增的指令越少人用越好。
從SSE1到今年4月的SSE4都是由英特爾所提出,而AMD除了自己的指令集3DNow!以外,在其處理器中支持英特爾指令集的擴展一般都是跟在英特爾后面的。
而近幾天,AMD率先公布了最新的SSE5指令集規(guī)格,而且宣布新技術將會在2009年以后的AMD新一代Bulldozer核心處理器上出現(xiàn)。AMD雖然有對應功能的指令集但名稱均有所不同,而這次突然命名為SSE5,無疑是斷了Intel的“后路”,雙方是否會因此惹出爭議甚至對簿公堂還很難說。
SSE5是128-bit指令集,一共有170條指令,其中基礎指令64條,新增的最重要的有兩條:
首先是“三操作數(shù)指令”(3-Operand Instructions)。x86指令以往只能處理雙操作數(shù),而SSE5會提高到三操作數(shù),達到RISC架構的水平,從而把多個簡單的指令集整合到更高效的一個單獨指令中,提高執(zhí)行效率。
然后是“熔合乘法累積”(Fused Multiply Accumulate,F(xiàn)MACxx)。該技術可以把乘法和其他算法結合起來,保證之用一條指令就能完成迭代運算,從而簡化代碼、提高效率,適用于真實圖形著色、快速照相渲染、空間化音頻、復向量(矢量)數(shù)學等場合。
除此之外還有整數(shù)乘法累積指令(IMAC,IMADC)、置換與條件移動指令、向量比較與測試指令、精度控制舍入與變換指令等等。
AMD表示,SSE5指令集的使命之一是增強高性能計算應用,并充分發(fā)揮多核心、多媒體的并行優(yōu)勢。SSE5將把以往只存在于高性能特殊架構里的功能引入到x86平臺中,以此最大化每條指令的輸出能力,并增強代碼庫。
在AMD巴塞羅那下周就要面世的前提下,競爭已經(jīng)日趨激烈。不只在核心的數(shù)量和架構上,而是在包括指令集在內(nèi)的任何技術層面,都已經(jīng)開始對位的爭奪,競爭已經(jīng)開始細分化,任何一點點的疏忽和劣勢都有可能左右市場的走向,讓自己陷入不利的境地。