并发编程
mofeizhi
这个作者很懒,什么都没留下…
展开
-
JVM之指令重排-实例
目录 1.了解计算机硬件哪些事儿 2.指令重排场景再现 3.指令重排定义 编译器指令重排 CPU指令重排 指令重排定义 4.数据依赖性 5.指令重排实例演示 1.了解计算机硬件哪些事儿 在前面章节《JVM之缓存行对齐》文章中介绍了缓存,那么体现在计算机硬件(架构设计)上,可以参照下面的图。由于计算机硬件上的差别(越往上的硬件越快,价格越贵,容量越小),导致计算机在设计的时候通常是软件和硬件相互补充,这种组织存储器系统的方法称为存储器层次结构。 2.指令重排场景再现 有了上面.原创 2020-07-17 10:22:53 · 910 阅读 · 0 评论 -
并发编程之CPU缓存一致性协议MESI
1、一致性问题的产生 在多核CPU情况下,每个CPU都有自己的一、二级缓存,在多核处理的情况下,如果一方修改了CPU中已经缓存的东西,而又没有通知已经读取到该cache line的另一方,就会导致两边信息不一致。 2、缓存一致性协议MESI MESI(Modified Exclusive Shared or Invalid)(也成为伊利诺斯协议,是因为该协议由伊利诺斯州立大学提出)是一种广泛使用的支持写回策略的缓存一致性协议。 3、MESI协议中的状态 CPU中每个缓存行(cache line)使原创 2020-06-21 13:28:18 · 343 阅读 · 0 评论