C/C++教程

并发编程(四)CPU缓存一致性协议MESI

本文主要是介绍并发编程(四)CPU缓存一致性协议MESI,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、MESI概念

  定义:MESI 是指缓存行的四种状态的首字母。

  PS:每个缓存行有4个状态,可用2个bit【2位】表示,它们分别是:

二、多核缓存协同操作流程分析

  假设有三个CPU A、B、C;对应三个缓存分别是缓存A、B、 C;并在主内存中定义了x的引用值为0。

1、单核读取

2、双核读取

3、修改数据

4、同步数据

三、缓存行伪共享

什么是伪共享?

  CPU缓存系统中是以缓存行为单位存储的,目前主流的CPU Cache 的缓存行大小都是64Bytes

  定义:在多线程情况下,如果需要修改共享同一个缓存行的变量,就会无意中影响彼此的性能,这就是伪共享。

  举个

这篇关于并发编程(四)CPU缓存一致性协议MESI的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!