php网站安装图解,滨城网站开发,营销策划经典案例,做蛋糕视频教学网站Intel公司的单指令多数据流式扩展#xff08;SSE#xff0c;Streaming SIMD Extensions#xff09;技术能够有效增强CPU浮点运算的能力。Visual Studio .NET 2003提供了对SSE指令集的编程支持#xff0c;从而允许用户在C代码中不用编写汇编代码就可直接使用SSE指令的功能。…Intel公司的单指令多数据流式扩展SSEStreaming SIMD Extensions技术能够有效增强CPU浮点运算的能力。Visual Studio .NET 2003提供了对SSE指令集的编程支持从而允许用户在C代码中不用编写汇编代码就可直接使用SSE指令的功能。MSDN中有关SSE技术的主题[1]有可能会使不熟悉使用SSE汇编指令编程的初学者感到困惑但是在阅读MSDN有关文档的同时参考一下Intel软件说明书Intel Software manuals[2]会使你更清楚地理解使用SSE指令编程的要点。SIMDsingle-instruction, multiple-data是一种使用单道指令处理多道数据流的CPU执行模式即在一个CPU指令执行周期内用一道指令完成处理多个数据的操作。考虑一下下面这个任务计算一个很长的浮点型数组中每一个元素的平方根。实现这个任务的算法可以这样写 for each f in array //对数组中的每一个元素 f sqrt(f) //计算它的平方根 为了了解实现的细节我们把上面的代码这样写 for each f in array { 把f从内存加载到浮点寄存器 计算平方根 再把计算结果从寄存器中取出放入内存 } 具有Intel SSE指令集支持的处理器有8个128位的寄存器每一个寄存器可以存放4个32位单精度的浮点数。SSE同时提供了一个指令集其中的指令可以允许把浮点数加载到这些128位的寄存器之中这些数就可以在这些寄存器中进行算术逻辑运算然后把结果放回内存。采用SSE技术后算法可以写成下面的样子 for each 4 members in array //对数组中的每4个元素 { 把数组中的这4个数加载到一个128位的SSE寄存器中 在一个CPU指令执行周期中完成计算这4个数的平方根的操作 把所得的4个结果取出写入内存 }