CPU架构

基本架构

在这里插入图片描述

一个CPU处理器中一般有多个运行核心,我们把一个运行核心称为一个物理核,每个物理核都可以运行应用程序

每个物理核都拥有私有的一级缓存(Level 1 Cache,简称L1 Cache), 包括一级指令缓存和一级数据缓存,以及私有的2级别缓存(L2 Cache)

物理核的私有缓存,指的是缓存空间只能被当前的这个物理核使用,其他的物理核无法对这个核的缓存空间进行数据存取

L1,L2 Cache 的访问速度和大小

L1和L2 缓存是每个物理核私有的,所有,数据或指令保存在L1、L2时,物理核访问它们的延迟不超过10纳秒

L1和L2 缓存受限于处理器的制造技术,一般只有KB级别,存不下太多的数据

如果L1,L2中没有数据就必须访问内存来获取数据,L1、L2和访问内存的延迟有10倍之多

完整单CPU架构

在这里插入图片描述

不同物理核还会共享一个共同的三级缓存(Level 3 Cache,简称L3 Cache)。L3缓存能够使用的存储资源比较多,所以一般比较大,能到达几MB到几十MB,这就让应用程序缓存更多的数据

现在主流的CPU处理器中,每个物理核通常都会运行两个超线程,也叫做逻辑核。同一个物理核的逻辑核会共享使用L1、L2缓存,一个CPU处理器会有10到20多个物理核

同时,为了提升服务器的处理能力,服务器上通常还会有多个CPU处理器(多CPU Socket),每个处理器有自己的物理核(L1, L2缓存),L3缓存,以及连接的内存

多CPU Socket

在这里插入图片描述

在多CPU架构上,应用程序可以在不同的处理器上运行。比如,应用程序既可以在Socket1上运行一段时间,然后再被调度到Socket2上运行

非统一内存访问架构(Non-Uniform Memory Access,NUMA 架构)

如果应用程序先一个Socket上运行,并且把数据保存到了内存,然后被调度到另一个Socket上运行,此时,应用程序再进行内存访问,就需要访问之前Socket上连接的内存,这种访问属于远端内存访问

缺点:和访问Socket直接连接的内存相比,远端内存访问会增加应用程序的延迟

参考资料

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值