新型详谈陌生的SIMD和熟悉的SSE指令集.docVIP

  • 2
  • 0
  • 约5.03千字
  • 约 7页
  • 2016-12-02 发布于浙江
  • 举报

新型详谈陌生的SIMD和熟悉的SSE指令集.doc

新型详谈陌生的SIMD和熟悉的SSE指令集

详谈陌生的SIMD和熟悉的SSE指令集 2008-02-28 PChome.net 类型: 特约 作者: 电脑报 责编: 李凯男 《电脑报》硬件评测周刊将与PChome强强联合,深入合作,推出一系列硬件技术类文章。主旨在于更好地在中国普及IT知识,吸引更多的人来关注IT硬件领域的产品、技术及整个业界动态。为中国IT事业的发展贡献自己的一份力量。今EW评测室转载《电脑报》一文,原文如下: 随着45nm制造工艺的Intel Penryn处理器的发布(包括双核心桌面处理器Wolfdale、四核心桌面处理器Yorkfield、双核心移动处理器Penryn等家族成员),一个新的名词又频繁地出现在我们眼前,这就是SSE4(Streaming SIMD Extensions,流指令扩展指令集),或者更准确的说法SSE4.1。我们已经习惯,每一代CPU的升级,Intel都要拿SSE说事,宣传得让局外人以为有了SSE,就像吃了兴奋剂,没准还能跑过刘翔。下面我们就对SSE来一个大清算,让你有一个正确的了解。 SSE:为多媒体而发明的那剂“药” 任何一个计算机程序,最终要变成一系列指令才能在处理器上运行,这些指令的合集就是我们常说的指令集。从七十年代末的16位 8086 处理器开始发家,经过九十年代历时10年的鏖战,利用Sun、SGI、IBM、DEC、HP 和摩托罗拉这6家精简指令集处理器厂商群龙无首的矛盾,Intel终于确立了x86处理器在个人电脑市场上的胜局。X86处理器,包括AMD的处理器,所支持的指令集就被是x86指令集。如果是计算机科班出身,应当不会对ADD、DAA、MOV这些接头暗语式的x86指令感到陌生。 那为什么Intel还要在x86指令集中再增加一组SSE指令呢?抱歉,这还得从SSE指令集的前身--MMX(Multi Media eXtension,多媒体扩展指令集)说起。正是从MMX开始,多媒体指令集才开始大红大紫。 MMX当年让不少人心甘情愿地掏银子 比如我们要计算从1到100这些数字他们的平方是多少。CPU先把1从内存读入到寄存器,然后算出它的平方,再把计算结果从寄存器中取出放入内存中,然后不断重复这个过程直到把100个数字算完。但是问题是不管CPU的运算速度有多快,它一次也只能处理一个数据,在现实生活中,有很多数据特别是多媒体数据总是成组出现,比如图像,每一点的色彩就由红蓝绿三原色三个数据组成,声音也有左右声道之分。当CPU遇到这样数据,还需要拆开来挨个处理,效率无疑非常之低。 因此最早的“兴奋剂”--MMX,在1997年出现也就不奇怪了。当时正是个人电脑从奇客、科研机关迈向个人用户的转折时期,CPU所处理的数据也从整数、浮点数变成了JPEG、MP3或者MPEG。 如果说Intel的技术水平一流,那么Intel的市场眼光和营销手法就是超一流。Intel敏锐地看到了这一趋势,给Pentium处理器配上了新捣鼓出的MMX指令集,不但让Pentium大卖,也开创了Intel CPU引入SIMD(Single Instruction Multiple Data,单指令多数据流)指令集之先河。 工作:多拉才能快跑 第 1 页 SSE:为多媒体而发明的那剂“药” 第 2 页 工作:多拉才能快跑 第 3 页 演进:逐步扩充的帝国 第 4 页 生效前提:优化的程序 第 5 页 分分合合的AMD处理器 说穿了,MMX和后来的SSE都是SIMD指令的一种,即在一个CPU指令周期内用一个指令完成处理多个数据的操作。也许这样你会觉得抽象,SSE具体如何工作,我们举一个实例说明。 下面我们有一个五行四列的浮点数数组中,要计算其中每一个元素的平方根。如果CPU不支持SSE指令,实现这个任务的代码只能这样写: for each f in array { 把f从内存加载到寄存器 计算平方根 再把计算结果从寄存器中取出放入内存 } 如果CPU支持SSE指令,一次就可以读取数组中每一行的4个元素加以处理。采用SSE技术后,算法可以写成下面的样子: for each? members in array //对数组中的每个元素 { 把数组中的5行数字加载到SSE寄存器中 在一个CPU指令执行周期中完成计算其中每行的4个数的平方根的操作 把所得的结果取出写入内存 } 前一种算法,CPU需要计算20次才能得出结果,而采用SSE指令后,只需要计算5次就可得出全部结果,不难看出SSE指令可以节省大量计算时间。 SIMD的精髓是从一次处理一个变成一次处理一组 2008-02-28 PChome.net 类型: 特约 作者: 电脑报 责编: 李凯男 演进:逐步扩充的帝国 第 1 页 SSE:为多媒体而发明的那剂“药”

文档评论(0)

1亿VIP精品文档

相关文档