博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一、计算机核心组成及CPU核心组成
阅读量:4036 次
发布时间:2019-05-24

本文共 654 字,大约阅读时间需要 2 分钟。

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。如图:

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

 

4、CPU缓存cache

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

 

5、CPU数据读取方式

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

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

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

 

 

 

 

 

转载地址:http://lqcdi.baihongyu.com/

你可能感兴趣的文章
Spring事务的七种传播行为
查看>>
ES写入找不到主节点问题排查
查看>>
Java8 HashMap集合解析
查看>>
ArrayList集合解析
查看>>
欢迎使用CSDN-markdown编辑器
查看>>
Android计算器实现源码分析
查看>>
Android系统构架
查看>>
Android 跨应用程序访问窗口知识点总结
查看>>
各种排序算法的分析及java实现
查看>>
SSH框架总结(框架分析+环境搭建+实例源码下载)
查看>>
js弹窗插件
查看>>
自定义 select 下拉框 多选插件
查看>>
js判断数组内是否有重复值
查看>>
js获取url链接携带的参数值
查看>>
gdb 调试core dump
查看>>
gdb debug tips
查看>>
arm linux 生成火焰图
查看>>
linux和windows内存布局验证
查看>>
linux config
查看>>
linux insmod error -1 required key invalid
查看>>