PC -> Program Counter 程序计数器 (记录当前指令地址)
Registers -> 暂时存储CPU计算需要用到的数据
ALU -> Arithmetic & Logic Unit 运算单元
CU -> Control Unit 控制单元
MMU -> Memory Management Unit 内存管理单元
cache
超线程
双核CPU中,每个核中有一个ALU(运算单元),每个ALU对应一组Registers&PC,这样每核可以同时跑两个线程,两个核可以跑4个线程。双核4线程
CPU中的cache
缓存行
从硬盘读数据室都是一行一行的读,每一行包含16个内存页,每一缓存行大小为64k,内存页4k
缓存行越大,局部性空间效率越高,但读取时间慢
缓存行越小,局部性空间效率越低,但读取时间快
缓存一致性协议(MESI)
缓存行对齐
对于有些特别敏感的数字,会存在线程高竞争的访问,为了保证不发生伪共享,可以使用缓存航对齐的编程方式 ;可以使用注解@Contended缓存行对其,保证该数据不跟其他数据在一个缓存行
对象的创建过程
volatile保证内存可见性、禁止指令重排序,volatile使用内存屏障来实现指令禁止重排序
来源:oschina
链接:https://my.oschina.net/u/3141521/blog/4341855