CPU缓存架构+Disruptor内存队列
CPU缓存架构
介绍
cpu与内存的交互数据之间,有一个高速缓存层。有些处理器有3层缓冲,有些处理器有4层缓存
当下CPU都是有多核,每核cpu都有一份自己的高速缓存
内存中的数据读取到高速缓存中每次读取的数据至少是一次缓存行64字节
缓存一致性问题
多个cpu将数据赋值到高速缓存中,再进行更新操作,先是修改的缓存中的数据,然后在刷新回主内存,那么此时就有缓存一致性问题。
多个cpu缓存中的数据与主存中不一致,如果都直接刷新回主内存那么就肯定会出现丢失更新的问题。
解决缓存一致性问题的方案:
- CAS原子指令
- 总线锁定。上图中数据的传输是使用总线,直接给总线加一把锁。这种方式对性能较低
- 缓存锁定。利用缓存一致性协议实现
缓存一致性协议
缓存一致性协议是一种用于确保处理器缓存中的数据和主存中的数据一致的机制。它的实现是基于总线窥探实现的
总线窥探
总线窥探是缓存中的一致性控制器监视总线事务的一种方案。在计算机中,数据通过总线在处理器和内存之间传递。每次处理器和内存之间的数据传递都是通过一系列步骤来完成的&