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

互联网 | 编辑: 李凯男 2008-02-28 11:30:00原创-特约 一键看全文

随着45nm制造工艺的Intel Penryn处理器的发布(包括双核心桌面处理器Wolfdale、四核心桌面处理器Yorkfield、双核心移动处理器Penryn等家族成员),一个新的名词又频繁地出现在我们眼前,这就是SSE4(Streaming SIMD Extensions,流指令扩展指令集),或者更准确的说法SSE4.1。

SSE:为多媒体而发明的那剂“药”

《电脑报》硬件评测周刊将与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,单指令多数据流)指令集之先河。

提示:试试键盘 “← →” 可以实现快速翻页 

总共 5 页1234
一键看全文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑