免费注册 查看新帖 |

Chinaunix

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

[内核同步] 内核同步 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2012-05-15 09:35 |只看该作者
fei1700 发表于 2012-05-14 18:18
2个CPU微观上同时干活,受到总线就1条,icache dcache就1个的影响,这样也不能同时微观工作,2个逻辑运 ...


内存虽然共享,但是cache不是,每个CPU都有自己独立的一级cache。而且你不要把cache跟CPU放到一起考虑,你可以把cache当作CPU的一个得力助手,一个有自主判断自主行动的高级助手,它会预判CPU需要哪些指令或者数据并提前拿过来备用。这样一来两个CPU同时干活就不是问题了,至少你说的这个瓶颈就很大程度上被解决了。

论坛徽章:
0
12 [报告]
发表于 2012-05-15 10:02 |只看该作者
灌水菜鸟 发表于 2012-05-15 09:35
内存虽然共享,但是cache不是,每个CPU都有自己独立的一级cache。而且你不要把cache跟CPU放到一起考虑, ...


我们的CPU是共享cache,这个肯定不会错。
那么就说每个CPU一个cache的情况,如果同时执行代码,2个cache要怎样同步,spin_lock的变量存在一个CPU dcache里,另一个CPU的dcache怎样得到?

论坛徽章:
0
13 [报告]
发表于 2012-05-15 11:08 |只看该作者
fei1700 发表于 2012-05-15 10:02
我们的CPU是共享cache,这个肯定不会错。
那么就说每个CPU一个cache的情况,如果同时执行代码,2个cac ...


我见过的基本上都是最高共享二级及以下的cache。你手头有手册最好,不防看看那CPU是怎样取址,取值,取指令并运行的,肯定会得到答案的。至于spinlock,建议你先看看你的CPU架构如何实现原子操作把,手册肯定会对这块有详细描述的。

论坛徽章:
0
14 [报告]
发表于 2012-05-16 15:19 |只看该作者
回复 12# fei1700


    我没有权限发送短消息,呵呵。想看ARM文档,这里比较全:http://infocenter.arm.com/help/index.jsp
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP