<b>Pentium III处理器的单指令大都据流扩大指令(1)</b>[VC/C++编程]
本文“<b>Pentium III处理器的单指令大都据流扩大指令(1)</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
关键字 :
Pentium,处理器,单指令大都据流扩大指令,SSE,指令集
概要 :
随着Intel Pentium III处理器的公布,给程序计划人员又带来了很多新的特点.操纵这些新特点,程序员可认为用户创造出更好的产品. Pentium III和Pentium III Xeon(至强处理器)的很多新特点,可以使她可以比Pentium II和Pentium II Xeon处理器有更快的运行速度,这些新特点包含一个处理器序列号(unique processor ID)和新增SSE处理器指令集,这些新的指令集就像Pentium II在经典Pentium的底子上增添的MMX指令集.
在这篇文章里,我们将向你展示Pentium III处理器和她的这些新特点,并且将侧重报告Pentium III处理器的新指令集.
1.Pentium III处理器概要
1999年2月,Intel公布了她的最新款处理器Pentium III处理器,和以往的新处理器推出一样,速度的提高是最主要的性能改进.Intel在公布她的新处理器时一贯遵守着摩尔定律,即每过18个月处理器的速度将提高一倍(the processor speed doubles every 18 months),但是Pentium III处理器的并没有比Pentium II的速度提高一倍,在Pentium II和Pentium II Xeon处理器运行在333MHz~400MHz时,Pentium III也只不过运行 在450MHz~550MHz罢了,处理器的速度并没有多大的提高,但是性能的晋升确是很明显的.
从本质上说,Pentium III处理器只不过是一个运行在更高速度的Pentium II处理器,别的再增添了一些新的指令集:Streaming SIMD Extensions(单指令大都据流扩大指令集,大概称为SSE).这些新指令集的增添并不会影响本来的程序运行,因为Pentium III处理器采取的是完好兼容于本来Pentium II处理器的IA-32构架.
假如Pentium III处理器的速度并没有比Pentium II有倍速的提高,那我们为什么还要去选购她呢?
2.Pentium III处理器的新特点
Pentium III处理器增添了两个风趣也是很有效的新特点:处理器序列号(processor serial number)和SSE指令集.由于Pentium III处理器的序列号触及到用户隐私的争议,为了避免这种争议,在这里我们将把注意力放在Pentium III处理器的SIMD新指令集上.
SSE包含一个SIMD的首字母,SIMD是Single Instruction Multiple Data(单指令大都据)的首字母的缩写.普通,处理器在一个指令周期只能处理一个数据,这叫做Single Instruction Single Data(单指令单数据),缩写为SIDI.和SIDI差别的是,假如处理器具有SIMD本领,那么她便可以在一个CPU指令周期同时处理多个数据.
3.MMX vs SSE
MMX和SSE都是在本来的处理器指令集的底子上增添的扩大指令集,都是SIMD(单指令大都据)指令,差别的是他们处理的数据范例差别. MMX只能在整数上支持SIMD,而SSE指令增添了单精度浮点数的SIMD支持.MMX可以举行同时对2个32位的整数操作,而SSE可以同时对4个32位的浮点数操作.
MMX和SSE的一个主要的辨别是MMX并没有定义新的存放器,而SSE定义了8个全新的128位存放器,每个存放器可以同时存放4个单精度浮点数(每个32位长),他们在存放器中布列次序见下图1.
图一:新数据范例布列
这里有一个问题,既然MMX没有定义新的存放器,那么她又有什么存放器可操作呢?事实上,MMX是和本来的浮点存放器同享的.一个浮点存放器是80位长的,她的低端64位被用做MMX的存放器.这样,一个利用程序就不能在履行MMX指令的同时举行浮点操作了.同时,处理器还要花掉大量的时钟周期去保护存放器状况从MMX操作和浮点操作之间的切换.SSE指令集就没有这些限制了.由于她定义了全新的存放器,利用程序可以在举行整数SIMD操作(MMX)的同时举行浮点数的SIMD操作(SSE),一样,SSE还可以在履行浮点数的非SIMD操作的同时举行SIMD操作.
MMX和SSE的存放器布列见下图2.图2(a)是MMX和浮点数同享一个存放器的情形,图2(b)是SSE的独立存放器布列.
图二:MMX和SSE的存放器
MMX和SSE存放器有一个共同点,那就是都有8个存放器.MMX的存放器被命名为mm0~mm7,SSE的存放器名字是xmm0~xmm7.
以上是“<b>Pentium III处理器的单指令大都据流扩大指令(1)</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |