多核Cache Coherence问题——以ARM为例

最近在多核ARM芯片上搞并行计算,涉及到核间数据交互,因此对多核cache coherence稍作探究。想解决的疑问是:各个核之间是否“知道”内存中的数据被其他核进行了改动?有何机制来保障cache coherence?

CSAPP中似乎没有具体谈到多核之间cache是如何配合的(我看的是2ed,不知道3rd中是否有增加),但是在CMU Introduction to Computer Systems (ICS)课程中,最后一课正好讲的是Multi-core architectures,Slide十分NICE!
Slide中提到了两种基础的solutions for cache coherence:

1.Invalidation protocol with snooping
每个core都在监听inter-core bus的消息,假如其他的某个core更改了内存的数据,就及时地无效掉本地core相应的cache。
Invalidation2.update protocol
Update二者对比,通常来说Invalidation protocol会表现得更好,比如当对某一块内存进行多次更改时,只需要在第一次时进行无效操作。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值