当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

<b>Pentium III处理器的单指令大都据流扩大指令(3)</b>[VC/C++编程]

赞助商链接



  本文“<b>Pentium III处理器的单指令大都据流扩大指令(3)</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

概要 :

随着Intel Pentium III处理器的公布,给程序计划人员又带来了很多新的特点.操纵这些新特点,程序员可认为用户创造出更好的产品. Pentium III和Pentium III Xeon(至强处理器)的很多新特点,可以使她可以比Pentium II和Pentium II Xeon处理器有更快的运行速度,这些新特点包含一个处理器序列号(unique processor ID)和新增SSE处理器指令集,这些新的指令集就像Pentium II在经典Pentium的底子上增添的MMX指令集.

1. Data Swizzling

要操纵Pentium III处理器SSE指令的加快功效也是要有一定的代价的.因为SSE指令只能操作她定义的新数据范例(128位).假如利用程序利用自己的数据范例格局,那么在举行SSE指令操作之前要将他转换为这种新数据范例,操作完成之后又要把他转换回来.

这种把一种数据格局转换到另一种数据格局的操作就称为"data swizzling".

这种转换是需求时间和耗费处理器核心周期的.假如一个利用程序频繁的举行数据格局转换,处理器核心周期的浪费是很严重的.因此,这种数据格局的转换是必须得到关注的.

1.1 数据组织

普通,3D利用程序将一个顶点保存在一个和他相配的数据构造中.当表达多个顶点时,利用程序利用这个构造的数组,也叫做AoS来表示.一个典型的操作是对表示顶点的x、y和z坐标举行的.下面的代码就给出了这样一个表示3D顶点的数据构造.假如要表示大量的这样的顶点,就要用到这个构造的一个数组了,如图9所示.

struct point {

float x, y, z;
};
...
point dataset[...];

图九 :构造数组

SSE的长处,就是可以同时对多个顶点的举行处理.这样我们就必必要可以便利的处理到表示多个顶点的数据(比方表示4个顶点x坐标的4个浮点数).这是可以实现的,我们可以把表示一个顶点的x、y和z三个坐标值辨别调集在一同,然后利用程序对他们举行处理.要实现这些,利用程序必须重新组织数据到三个单独的数组中,大概成立一个数组构造,构造中每个数组对应一个这样的坐标值数组.这个数据构造也称为SoA构造.(我是这样理解的: 在不用SSE时是把表示一个顶点的三个坐标值组合到一个数据构造中,处理时一个值一个值的举行.而利用SSE今后,可以把全部点的各坐标值辨别组合到3个数组中,处理时取出这样一个数组的4个值同时履行).

下面的代码就定义了这样的一个数组构造,如图10用图表来表示的数组构造.

struct point {

float *x, *y, *z;
};

图十: 数组构造


  以上是“<b>Pentium III处理器的单指令大都据流扩大指令(3)</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .