了解一下CPU 第一篇(r4笔记第30天)

时间:2022-05-04
本文章向大家介绍了解一下CPU 第一篇(r4笔记第30天),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

CPU可能对于我们来说是熟悉又陌生的,每天的工作基本都离不开CPU,CPU的消耗是系统负载的一个重要指标,每天都会不定时的来看看CPU的使用情况,但是对于它了解甚少。 在查找了一些资料,个人还是比较能够接受<<大规模分布式存储系统:原理解析与架构实战>>中对于CPU的描述。首先来看看书中提供的一张图。 这张图是关于经典的多CPU架构为对称多处理结构(Symmetric Multi-Processing,SMP),即在一个计算机上汇集了一组处理器,它们之间对称工作,无主次或从属关系,共享相同的物理内存及总线

直接拷贝作者的原话: SMP系统由两个CPU组成,每个CPU有两个核心(core),CPU与内存之间通过总线通信。每个核心有各自的L1d Cache(L1数据缓存)及L1i Cache(L1指令缓存),同一个CPU的多个核心共享L2以及L3缓存,另外,某些CPU还可以通过超线程技术(Hyper-Threading Tech-nology)使得一个核心具有同时执行两个线程的能力。 对于这一点可以举一个类似的例子来说明。 在awr报告中,我们总是在报告头部得到一些硬件的信息,比如下面的这一段内容来自于工作中的awr内容。

Host Name

Platform

CPUs

Cores

Sockets

Memory (GB)

xxx

Linux x86 64-bit

80

40

4

346.22

根据上面的信息,socket就是主板上插cpu的槽的数目,这个地方也代表着存在着4个物理CPU。CPUs为80代表逻辑CPU, CPUs=threads*Cores*CPU_NO,所以可以得出在每个core中,都启用了超线程,使得每个core可以同时执行两个线程。 通过linux命令我们也可以得到一些重要信息。 ************************************** CPU Physical NO: 4 CPU Processor NO: 80 CPU Core NO: cpu cores : 10 CPU model name : Intel(R) Xeon(R) CPU E7- 4870 @ 2.40GHz 我们可以推算出,每个core对应着2个线程,即 2*10*4=80 说到SMP,还有一种CPU架构为NUMA,是对SMP的扩展。每一个NUMA节点是一个SMP的结构,都会有独立的本地内存和IO槽口,如下图:

我们可以多说说CPU中的缓存机制,其中一级缓存是非常重要的,每一级缓存都是依次对上一级缓存的补充,当CPU读取数据的时候,如果在一级缓存中不存在,就会在二级缓存,依次类推,每级缓存的容量也是很有梯度的分布。每一级的缓存命中率都在80%以上。 我们在稍后的章节了解CPU的工作原理和性能相关的知识。