1、汇编
2、CPU的基本组成
PC : Program Countor程序计数器(记录当前指令地址)
Register :寄存器 ,暂时存储CPU计算所用到的数据
ALU : Arithmetic & Logic Unit 运算单元
CU : Control Unit 控制单元
MMU : Mermory Management Unit 内存管理单元
Cache : 缓存
单核多线程模型
一个运算单元对应2组或多组寄存器。减少上下文切换
Cache 模型
缓存效率
cpu从缓存中存取数据的快慢从高到低
缓存存取数据时间对比
三级缓存的位置
同一个核共享L1。L2 同一颗CPU共享L3 。多颗CPU共享主存
块读取。缓存行(Cache Line)
cup从缓存中按块存取,
程序局部性原理,可以提高效率
充分发挥总线cpu针脚一次性读取更多数据的能力
缓存行对齐
对于有些敏感的数字,会存在线程高竞争,为了保证不发生伪共享,可以使用缓存行对齐的编程方式
列子:disruptor队列
JDK8缓存行对齐 @Contended
需要加上 JVM -XX: -RestrictContended
缓存一致性
Inter的缓存一致性协议
当一个行数据一个cpu中的状态时Modified时,在另一个为Invalid 不能同时生效