POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
楼主: coolhair
打印 上一主题 下一主题

程序bug导致不得不配AMD处理器了,烦恼

[复制链接]
21#
发表于 2008-9-14 20:40 | 只看该作者
其实也不是不会挂,不过挂的机会小很多,在楼主那种情况看起来,就好像amd的不会挂
回复 支持 反对

使用道具 举报

22#
发表于 2008-9-14 20:43 | 只看该作者
{biggrin:] smart cache和胶水L2的分别
回复 支持 反对

使用道具 举报

23#
发表于 2008-9-14 20:44 | 只看该作者
那我觉得为了长期稳定,楼主还是把BUG改了吧
回复 支持 反对

使用道具 举报

24#
 楼主| 发表于 2008-9-14 20:54 | 只看该作者
原帖由 soga 于 2008-9-14 20:44 发表
那我觉得为了长期稳定,楼主还是把BUG改了吧


要是能改早就改了,程序经过了太多人的手已经无法维护了。我虽然也是写程序的,但这次我只负责配机器而已,全公司就我一人上pcinlife,对硬件发烧点,哈哈。

[ 本帖最后由 coolhair 于 2008-9-14 20:55 编辑 ]
回复 支持 反对

使用道具 举报

25#
发表于 2008-9-14 21:06 | 只看该作者
原帖由 bcyj 于 2008-9-14 20:33 发表

独立缓存,由于是写入马上读,数据还在cache中,两个cpu的cache里同一个值不一样

同一个变量同时拥有了不同的值,结果就搞错了。另外,如果是这样的话,AMD的cache如何保证一致性呢?某核心在cache里修改了某块内存拷贝的值,其它核心懵然不知.....

[ 本帖最后由 FENG950 于 2008-9-14 21:12 编辑 ]
回复 支持 反对

使用道具 举报

26#
发表于 2008-9-14 21:18 | 只看该作者
原帖由 bcyj 于 2008-9-14 18:38 发表
不用楼上这么特殊。。。
就这样就可以
volatile BYTE * g_Byte;
线程一:
for(;;)
{
BYTE bTemp;
g_Byte = &bTemp;
*g_Byte = 1;
}
线程二
for(;;)
{
g_Byte = NULL;
}

AMD不挂,core核心的必挂,独 ...

这种代码要是哪种CPU上不挂,那就是CPU的bug!!
回复 支持 反对

使用道具 举报

27#
发表于 2008-9-14 21:32 | 只看该作者
原帖由 FENG950 于 2008-9-14 21:06 发表

同一个变量同时拥有了不同的值,结果就搞错了。另外,如果是这样的话,AMD的cache如何保证一致性呢?某核心在cache里修改了某块内存拷贝的值,其它核心懵然不知.....

我以前的测试结果就是这样,amd在有lock前缀的指令之前都不会同步l2
回复 支持 反对

使用道具 举报

28#
发表于 2008-9-14 21:36 | 只看该作者
原帖由 bcyj 于 2008-9-14 21:32 发表

我以前的测试结果就是这样,amd在有lock前缀的指令之前都不会同步l2

AMD这么业余?{sweat:]
回复 支持 反对

使用道具 举报

29#
发表于 2008-9-14 21:41 | 只看该作者
原帖由 FENG950 于 2008-9-14 21:36 发表

AMD这么业余?{sweat:]

不业余吧,正常做好同步的程序,结果绝对正常,没同步的,本来原子值就是不保证是什么的
回复 支持 反对

使用道具 举报

30#
发表于 2008-9-14 21:43 | 只看该作者
原帖由 bcyj 于 2008-9-14 21:41 发表

不业余吧,正常做好同步的程序,结果绝对正常,没同步的,本来原子值就是不保证是什么的

某核心修改cache行却不发出通知,还不业余?
回复 支持 反对

使用道具 举报

31#
发表于 2008-9-14 22:50 | 只看该作者
这个要关注一下。
居然还有这种事。
呵呵。
太过份了。

我也觉得应该挂才对,这样才能告诉dev,程序有问题。否则就是掩盖了错误,以后会出大问题的。
回复 支持 反对

使用道具 举报

32#
发表于 2008-9-15 00:26 | 只看该作者
原帖由 bcyj 于 2008-9-14 21:32 发表

我以前的测试结果就是这样,amd在有lock前缀的指令之前都不会同步l2


这个不是会导致运算结果出现不可知么?
如果这个BUG爆出来,那A U真的就……
回复 支持 反对

使用道具 举报

33#
发表于 2008-9-15 00:45 | 只看该作者
看不懂程序啊,帮顶顶,跑程序,支持多核就上多核,不支持多核就上大缓存,原则就是这个
回复 支持 反对

使用道具 举报

34#
发表于 2008-9-15 00:52 | 只看该作者
看不懂,坐地板看大家讨论
回复 支持 反对

使用道具 举报

35#
发表于 2008-9-15 00:57 | 只看该作者
原帖由 itany 于 2008-9-15 00:26 发表


这个不是会导致运算结果出现不可知么?
如果这个BUG爆出来,那A U真的就……

把同步错误的责任推给程序员就是了{lol:]
回复 支持 反对

使用道具 举报

36#
发表于 2008-9-15 01:27 | 只看该作者
dozens of "Software Engineer"
except bcyj
回复 支持 反对

使用道具 举报

37#
发表于 2008-9-15 01:56 | 只看该作者
{sweat:]
回复 支持 反对

使用道具 举报

38#
发表于 2008-9-15 08:57 | 只看该作者
原帖由 weiliu86 于 2008-9-15 08:07 发表

嘿嘿,别看DELPHI现在不吃香了,但写些小程序还是DELPHI最快速方便,还可以嵌入汇编,还有大量现成的控件支持,省事,特别适合于像我这样的非程序员人士。


我还在拿D6做数据库开发,快捷~!:p
回复 支持 反对

使用道具 举报

39#
发表于 2008-9-15 09:02 | 只看该作者
{lol:]  作为一名QA,还是建议你把问题明确的提给你的Leader,把风险说明。这种程序上的Bug最好还是改掉。虽然不知道程序的使用者是贵公司,还是要卖给其他用户。如果是自己公司使用,固然可以配一台AMD平台的生产机;如果是卖给客户,难道该产品的用户手册上要印上“Only Support on AMD Platform”?那样的话,恐怕会严重的影响客户对贵公司的技术水平的评估。
回复 支持 反对

使用道具 举报

40#
发表于 2008-9-15 09:35 | 只看该作者
原帖由 tansailuffy 于 2008-9-15 09:02 发表
{lol:]  作为一名QA,还是建议你把问题明确的提给你的Leader,把风险说明。这种程序上的Bug最好还是改掉。虽然不知道程序的使用者是贵公司,还是要卖给其他用户。如果是自己公司使用,固然可以配一台AMD平台的生产机 ...

我觉得不会影响客户对他们公司技术水平的评估
一般情况下客户会认为
“这家公司小有规模,只是明珠投暗,站错了队,被AMD收买了……”:lol:
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-8-19 17:35

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表