并发编程基础

2018-11-01  本文已影响0人  磊_5d71

CPU多级缓存

图片.png

缓存的一致性(MESI)

首字母缩略词MESI中的字母表示可以标记高速缓存行的四种独占状态(使用两个附加位编码):
1、修改(M)
高速缓存行仅存在于当前高速缓存中,并且是脏的 - 它已从主存储器中的值修改(M状态)。在允许对(不再有效)主存储器状态的任何其他读取之前,需要高速缓存在将来的某个时间将数据写回主存储器。回写将该行更改为共享状态(S)。
2、独家(E)
  缓存行仅存在于当前缓存中,但是干净 - 它与主内存匹配。它可以随时更改为共享状态,以响应读取请求。或者,可以在写入时将其改变为修改状态。
3、共享(S)
  表示此高速缓存行可能存储在计算机的其他高速缓存中并且是干净的 - 它与主存储器匹配。可以随时丢弃该行(更改为无效状态)。
4、无效(I)
  表示此缓存行无效(未使用)。对于任何给定的高速缓存对,给定高速缓存行的允许状态如图。当块标记为M(已修改)时,其他高速缓存中块的副本将标记为I(无效)


图片.png

CPU多级缓存-乱序执行优化

图片.png

Java内存模型(Java Memory Model,JMM)

图片.png 图片.png 图片.png

Java内存模型-同步的八种操作

并发的优势与风险

上一篇 下一篇

猜你喜欢

热点阅读