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

发布于:2023-01-13 ⋅ 阅读:(617) ⋅ 点赞:(0)

计算机组成

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提供的注解

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到