免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2431 | 回复: 4
打印 上一主题 下一主题

网格处理中用CPU特定指令进行评估的一个方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-12 22:47 |只看该作者 |倒序浏览
多CPU 的网格处理当中,要相对实时地对每段CPU局部运行的代码进行运行性能的评估记录,通常是调用OS API的做法,比较通用. 但若是特定条件下,则可以利用CPU本身的特点进行更高效的评估记录. 如下是一个例子:



  1. //这个例子里用了X86 Pentinum CPU 的RDTSC指令
  2. //RDTSC 指令是用来获取CPU内部的64bit 时间戳记数器的值timestamp.
  3. //RDTSC 运行后EDX放timestamp高32bit值,EAX放timestamp低32bit值
  4. //实际应用时要注意RDTSC本身也有执行时间.

  5. unsigned long rdtsc_high0,rdtsc_low0;
  6. unsigned long rdtsc_high1,rdtsc_low1;

  7. unsigned long total_high,total_low;

  8. __asm {
  9.    RDTSC;
  10.    mov rdtsc_high0,edx;
  11.    mov rdtsc_low0,eax;
  12. }


  13. .......//执行的网格任务代码
  14. __asm {
  15.    RDTSC;
  16.    mov rdtsc_high1,edx;
  17.    mov rdtsc_low1,eax;
  18. }

  19. if(rdtsc_high1>=rdtsc_high0)
  20. {
  21.    __asm {
  22.        mov eax,rdtsc_low1;
  23.        sub eax,rdtsc_low0;
  24.        cmp eax,0;
  25.        jg next1;
  26.        neg eax;
  27.      next1:
  28.        mov total_low,eax;
  29.        mov eax,rdtsc_high1;
  30.        sub eax,rdtsc_high0;
  31.        mov total_high,eax;
  32.    }
  33. }
  34. else
  35. {
  36.    ......//归零处理
  37. }

  38. ......//依据total_high,total_low评估处理
复制代码

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2008-07-13 02:29 |只看该作者
不欣赏这么干

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
3 [报告]
发表于 2008-07-13 07:27 |只看该作者
不懂,友情帮顶。。。

论坛徽章:
0
4 [报告]
发表于 2008-08-24 02:44 |只看该作者
原帖由 cjaizss 于 2008-7-13 02:29 发表
不欣赏这么干

   不提倡也不禁止.

论坛徽章:
0
5 [报告]
发表于 2008-08-24 02:45 |只看该作者
原帖由 chenyx 于 2008-7-13 07:27 发表
不懂,友情帮顶。。。

友情谢谢.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP