了解一下CPU 第一篇

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的工作原理和性能相关的知识。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23718752/viewspace-1420123/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23718752/viewspace-1420123/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值