免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123456
最近访问板块 发新帖
楼主: leilei8351
打印 上一主题 下一主题

文思创新的一个面试题 [复制链接]

论坛徽章:
0
51 [报告]
发表于 2010-03-30 01:03 |只看该作者
安全不安全之和i的类型有关,三个语句没有任何区别。

论坛徽章:
0
52 [报告]
发表于 2010-03-30 03:38 |只看该作者
本帖最后由 starfuck 于 2019-11-26 23:33 编辑












论坛徽章:
0
53 [报告]
发表于 2010-03-30 10:06 |只看该作者
曾经也见过这道题,我二话没说全选了~~~

瀑汗~~

论坛徽章:
0
54 [报告]
发表于 2010-03-30 10:30 |只看该作者
支持LZ意见

中断只会发生在指令之间,所以在单核cpu的情况下能在单条指令下完成的操作都叫原子的,但是多cpu中即使单条指令可以完成的操作也不一定是原子的,因为有的单个指令也可以分解为多个“微操作”如“读-改-写”,所以多i386提供了对总线加锁的手段,看下内核中的atomic_add函数就明白了

论坛徽章:
6
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:582015年辞旧岁徽章
日期:2015-03-03 16:54:15
55 [报告]
发表于 2010-03-30 12:11 |只看该作者
本帖最后由 realmon 于 2010-03-30 12:13 编辑

没有安全的吧

论坛徽章:
0
56 [报告]
发表于 2010-03-31 12:27 |只看该作者
我C!这个外包公司还面技术?!!!?!
prolj 发表于 2010-03-26 00:40


话说这公司在我们隔壁,每个星期面试人的比公司里面得人还要多。好奇上网一搜,原来。。。。

论坛徽章:
0
57 [报告]
发表于 2010-03-31 17:37 |只看该作者
本帖最后由 _zhao_zhang 于 2010-03-31 17:38 编辑

多核或ht上 cpu会将读写指令会依据规则重新排序以便更快执行.

首先要看是amd64位cpu 还是intel 32位 再或是intel 64位 每种cpu规则不同

大体分两种
1.内存访问指令严格按照编程顺序执行, 即不排序.
2.内存访问指令自由重新排序. CPU自由按照最大的效能原则重新排序内存访问顺序, CPU和总线效能得到最大发挥. 但是你根本无法为这样的CPU编写程序, 因为CPU不保证任何事情. 比如, 你写了这样一个程序, i = 1; i ++; 得到的i可能是0, 可能是1, 也可能是2.

辩证的说, 正确性是第一位的需求, 效能是第二位的需求. 具体实现在两者之间摇摆, 偏近极端1的实现, 我们称为强模型(strong model); 向极端2的方向的实现, 我们称其为弱模型(weak model)

例如intel64就是弱模型.什么读操作之间不能重新排序,写操作不能跟旧的读操作排序,主存写操作不能跟其他的写操作排序===...

具体规则挺复杂的 记不住 看intel 手册吧...

...出这问题的考官是在炫耀自己,觉的没品
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP