Java学习总结(1.1.4) 内存屏障和CPU缓存

精贴 置顶
2190 0
作者:      发布时间: 2020-03-18 11:06:51

内存屏障和CPU缓存

 

CPU -> L1 Cache -> L2 -> L3 -> 内存

 

 

MESI协议,它规定每条缓存有个状态位,同时定义了下面四个状态:

修改态( Modified)-此 cache行已被修改过(脏行),内容已不同于主存,为此 cache专有;

专有态( Exclusive)ー此 cache行内容同于主存,但不出现于其它 cacher中;

共享态( Shared)-此 cache行内容同于主存,但也出现于其它 cache中;

无效态( Invalid)ー此 cache行内容无效(空行)。

 

 

 

处理器提供了两个内存屏障指令( Memory Barrier)用于解決上述两个问题

写内存屏障( Store Memory Barrier):在指令后插入 Store Barrier,能让写入缓存中的最新数据更新写入主内存,让其他线程可见。

强制写入主内存,这种显示调用,CPU就不会因为性能考虑而去对指令重排

 


标签:

每日一句

所谓迷茫,就是才华配不上梦想:大事干不了,小事不肯干;不想做手边的事,只想做天边的事。解除迷茫,就从小事做起,从身边的事情做起,能力不是从做大事得来的,而是从这些“不起眼”的事情中锻炼来的。小事不肯干的你,大事轮不到你,趁你跌倒还能站起来的时候,先学会脚踏实地。

标签云

vue
最近综合
情绪巨婴是什么 12.18
普通蛋糕做法 05.31
玉米烤肠芝士面包做法 05.31
Mysql安装教程 - 绿色版 06.18
我们学习知识为什么总是忘记呢?【学习金字塔】 05.12
Typora开发版⽆法使⽤解决⽅法 05.04
为什么无知者越自信? -- 达克效应 05.10
马斯洛需求层次理论 04.29
随机综合
鸿蒙OS代码正式开源 09.11
鸿蒙HarmonyOS DevEco Studio的安装教程 和 第一个项目 04.15
php 用万网空间,提交数据中出现反斜杠问题 04.13
Microsoft Edge和Google Chrome的STATUS_INVALID_IMAGE_HASH 07.06
Java学习总结(1.3.4) 并发工具类详解 04.15
中间件1.2.4-ActiveMQ持久化原理和事务机制 04.29
开发者能力金字塔 04.29
[vue]npm启动导入/运行vue的项目 08.05