MESI 一致性协议
来源:互联网 发布:乌恰县网站域名官网 编辑:程序博客网 时间:2024/04/29 22:18
四态写回无效协议MESI
MESI在MSI协议的基础上改进的,增加了一个互斥独占状态E。
为什么要引入?
考虑当一个顺序先读入一个数据项,然后修改一个数据项时,就要产生一个BusRd事务用来得到内存块,并置为S状态,然后产生一个BusRdX事务,用来将该块状态从S变为M状态。而在顺序程序中数据项不存在共享者,因此只会在一个告诉缓存有该块拷贝,后一个事务是不必要的。
所以引入一个E状态,用来表示只有一个高速缓存中独占这个内存快,且该块内容没有被修改过。
在产生总线读事务时,高速缓存控制器要知道别的高速缓存中是否存在该块的拷贝,来决定该块置为S状态还是E状态。这就需要提供一个额外的共享S信号线,
S信号线低电平,为E,高为S
关键在于E状态:
1. 当有处理器读PrRd事件时,因为就该cache有当前数据,所以直接命中还是E态
2. 当有处理器写PrWr事件时,由E到M状态,告知已经被修改过,且是最新的
3. 当观察到一个总线读(BusRd)事务,将导致由E状态转换到S状态,同时由该高速缓存提供数据。(因为只有改cache是独占此数据的,其他cache中没有任务拷贝)
4. 当观察到一个总线互斥读(BusRdX)事务,由该高速缓存提供数据。(因为只有改cache是独占此数据的,其他cache中没有任务拷贝)但是因为人家要当老大,自己只好FLUSH后转为无效状态
注意S状态,在MSI中,当观察到一个总线读和互斥读的事务,在进行状态转换的同时,由主存提供数据,而在MESI中由处于S状态下的某一个高速缓存提供数据,这个并不是一定的,这是一种选择的策略。怎么都可以。
- MESI 一致性协议
- Cache一致性协议 与 MESI
- Cache一致性协议之MESI
- Cache一致性协议之MESI
- MESI协议-CPU缓存一致性协议
- 缓存一致性协议(MESI协议)
- 多处理器系统MESI cache一致性协议
- CAS指令与MESI缓存一致性协议
- 《大话处理器》Cache一致性协议之MESI
- CAS指令与MESI缓存一致性协议
- MESI-CPU缓存一致性协议
- 《大话处理器》Cache一致性协议之MESI
- 《大话处理器》Cache一致性协议之MESI
- 转:Cache一致性协议之MESI
- 《大话处理器》Cache一致性协议之MESI
- cpu MESI-CPU缓存一致性协议
- 《大话处理器》Cache一致性协议之MESI
- MESI-CPU缓存一致性协议
- 开始真正的工作了
- asp.net控件开发(一)-显示控件内容
- 字符串匹配算法SMA 总结之一:Brute force
- 两个相邻列求和
- 单件模式(Singleton Pattern)
- MESI 一致性协议
- 做软件的一点思考
- ogre1.7中文路径bug处理
- asp.net控件开发(二)-简单属
- 最通用的分页存储过程
- 感慨
- asp.net控件开发(三):处理标签间内容
- compass 的一些理解 ,转载http://zhangljerry.javaeye.com/blog/112580
- 你猜!