深入理解Linux进程与内存之CPU硬件原理
文章目录
前言
本文主要介绍一些基本的概念知识,以及CPU相关的基础知识,为后续学习进程和内存打基础。
一、本文核心点
- CPU硬件设计的基本知识,什么是CPU的Ring、Mesh架构;
- 什么是南桥,北桥?
- 物理核与逻辑核的区分;
- 对于两个物理CPU间的内存访问底层逻辑是什么,对性能优化提供什么思路?
二、CPU内部架构
1.个人CPU内部架构
个人CPU的Lce Lake架构:
- 包括内存控制器(Memory Controller),外围组件快速互联(PCIe),图像处理单元(Image Process Uint,IPU)以及其他外部设备通信模块。
- 对于核与核之间通过L3缓存连接,L3缓存是核间共享的。
2.服务器CPU内部架构
Mesh架构
- 主要分为三大部分:IMC,物理核以及North Cap;
- Mesh架构所有核使用二维方式进行排列,在一个m*n的排列中有几个是IMC(集成内存控制器),其余位置则是单个的物理核。
- North Cap主要是PCIe总线和UPI总线:PCIe用于连接显卡硬盘,UPI是则是CPU间的数据总线。
Ring架构与Mesh架构
- Ring架构:所有核通过一个环连接,每个核访问内存都需要通过这个环来进行;
- Mesh架构:所有的物理核按照行列来进行排列,
三、南桥北桥以及CPU内缓存
1.南桥与北桥
- 南桥和北桥的主要区别是与CPU的连接:北桥直接与CPU连接,南桥通过北桥与CPU连接.
!
2.CPU内缓存
- 计算机存储数据的主要元件:CPU寄存器,CPU高速缓存,内存,硬盘.从左到右速度越来越慢,成本越来越低.
- CPU寄存器:暂存数据、指令和地址,参与算术逻辑运算,并保存运算结果.
- CPU高速缓存:分为L1,L2,L3三级缓存.L1:指令和数据缓存;L1中找不到数据和指令,就会去L2中找,L2找不到就依次去L3->内存->硬盘中寻找.对于L1和L2是每个CPU自己独有的,L3则是各个CPU共享的.
总结
本文涉及的内容,主要来源于网络和书籍,对于相关知识点的理解或存在偏驳与错误,如有问题请留言指教。
参考文章:https://www.sohu.com/a/775313892_121124377