无心人
发表于 2008-8-18 20:51:03
16号下午总算把服务器重新支起来了
弄了个破教室
在学生桌椅上开启了网络和服务器
算前无古人吧
呵呵
继续这个问题的计算
gxqcn
发表于 2008-8-19 09:17:32
那这些数字可就值钱了,单单是电费成本就不少。:lol
无心人
发表于 2008-8-19 11:50:32
对,基本25%系统资源
大概是1/8*500W = 60W
现在要超过10天出一个数字
0.06 * 24 * 10 = 14.4 大概8块钱
呵呵
无心人
发表于 2008-8-20 16:13:33
2008-8-20 11:36:49: 214188797979898879969999988996
得到新结果
无心人
发表于 2008-8-21 22:12:23
另外一种汇编写法
假设a, b为需要加的数字,c为高位数字
进制是10000
mov eax, a
add eax, b
xor ecx, ecx
mov edx, eax
sub edx, 10000
cmovnc eax, edx
setnc cl
add c, ecx
不知道SETcc指令好些么
顺便附上跳转的常规写法1
mov eax, a
add eax,b
mov ebx, c
cmp eax, 10000
jnc label1
sub eax, 10000
add ebx, 1
mov c, ebx
label1:
写法2
mov eax, a
add eax,b
cmp eax, 10000
jnc label1
sub eax, 10000
incc
label1:
我想不论何种写法
似乎还是不跳转的要好些
谁对比较跳转的指令预测了解啊
给分析下
主要是有否预测错误的惩罚??
[ 本帖最后由 无心人 于 2008-8-21 23:02 编辑 ]
gxqcn
发表于 2008-8-21 22:37:16
在 P4 上,
rol 指令有 4 个时钟延时;cmovnc 则更多,属于慢指令。
无心人
发表于 2008-8-21 23:01:38
呵呵
发现错了
回来改
ROL并不能得到CF结果
无心人
发表于 2008-8-21 23:06:00
CMOVcc 3微操作,延迟6
SETcc3微操作,延迟5
无心人
发表于 2008-8-21 23:07:42
2008-8-20 22:12:53: 216198995978993999999978999889
没想到一天没看结果
竟然出现新结果
而且间隔时间这么短啊
哈哈
幸运啊
mathe
发表于 2008-8-22 07:47:25
原帖由 无心人 于 2008-8-21 22:12 发表 http://bbs.emath.ac.cn/images/common/back.gif
我想不论何种写法
似乎还是不跳转的要好些
谁对比较跳转的指令预测了解啊
给分析下
主要是有否预测错误的惩罚??
不跳转的通常要好一些,除非跳转指令几乎只执行一个分支(也就是硬件跳转预测可以做的非常精确)。
跳转预测错误,将会导致指令重新预取(流水线的第一级),所以导致整个流水线停止下来,通常代价至少是十几个时钟周期