1、计算机的核心组成:CPU、内存

2、CPU核心组成

CPU的组成书上和网上也都有很多介绍,在此只记录跟JAVA相关的核心组成:

PC----> Program Counter 程序计数器       用来记录内存中指令的地址,一次只能计数一个线程的指令地址,线程指令切换的时候会额外存储之前执行的线程及指令。

Registers -> 寄存器       用来暂时存储CPU计算需要用到的数据。

ALU ---> Arithmetic & Logic Unit    是用来执行PC的指令,操作寄存器中的数据。

cache---> 缓存    是缓存数据用,寄存器中的数据优先从缓存查,缓存查不到去内存取。

 

3、CPU的核和线程

一般一颗CPU是单核单线程,即一个ALU对应一对Registers和PC。 一颗CPU也可以有多核多线程或者多核超线程,比如:

2核2线程 ,即有2组ALU/Registers/PC。如图:

一、计算机核心组成及CPU核心组成

而对于多核超线程的话,比如2核4线程,即有2组ALU,每组ALU对应2对Registers/PC。如图:

一、计算机核心组成及CPU核心组成

 

4、CPU缓存cache

CPU的缓存有三级,1/2级缓存是核层级隔离的,3级缓存是CPU层级隔离的。见图:

一、计算机核心组成及CPU核心组成

 

5、CPU数据读取方式

CPU为了提高效率,读取数据会按块读取到缓存中,即按缓存行读取数据。

英特尔CPU的缓存行大小是64字节,也就是每次CPU读取64字节大小的数据块,存入到缓存中。

缓存行数据遵从MESI(modified, exclusive, shared, invalid)缓存一致性协议。

 

 

 

 

 

相关文章:

  • 2022-01-19
  • 2021-10-23
  • 2021-12-19
  • 2021-11-04
  • 2022-01-22
  • 2021-06-21
  • 2021-08-19
  • 2021-12-04
猜你喜欢
  • 2021-11-08
  • 2021-06-03
  • 2021-12-26
  • 2021-12-26
  • 2021-07-03
  • 2021-06-10
相关资源
相似解决方案