CPU、内存、三级缓存(学习笔记)

计算机组成

CPU及内存

下图为两颗CPU,每颗CPU为2核

CPU重要组成

  1. PC(程序计数器):存放下一条指令所在单元的地址
  2. Registers(寄存器):存数据
  3. ALU(算术逻辑单元):进行运算

内存(内存储器

  1.  暂时存放CPU中的运算数据,以及与硬盘外部存储器交换的数据
  2.  程序的运行都在内存中进行

CPU从内存中取数据

运算单元ALU从寄存器中取数据和从内存中取数据的速度比是1:100,取数据寄存器比内存大概快100倍

三级缓存

  • 1级2级缓存在同一内核中共享,3级缓存在同一CPU中共享
  • 取数据:依次查找数据:寄存器-->L1-->L2-->L3-->内存
  • 写数据:依次写入数据:内存-->L3-->L2-->L1-->寄存器(修改数据时如同一个数据在多个核心内有缓存,全部都要修改)

   缓存行

  •         缓存管理数据的基本单位
  •         缓存某一个数据时把相邻数据一起缓存
  •         大小:64bytes(Long 8个字节可存8个)

   存在问题:(数据x、y在同一缓存行,A核使用X,B核使用Y,A核修改X就要去B核同步X值,B核修改Y就要去A核同步Y值)  优化方案1:对需要频繁操作的数据,相邻地方补充空数据,使缓存行不能存其他数据

示例1

示例2(环形缓冲区)

优化方案2:jvm提供的注解

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值