首页 > 其他 > 详细

了解一下CPU 第一篇

时间:2015-01-31 02:20:37      阅读:270      评论:0      收藏:0      [点我收藏+]
CPU可能对于我们来说是熟悉又陌生的,每天的工作基本都离不开CPU,CPU的消耗是系统负载的一个重要指标,每天都会不定时的来看看CPU的使用情况,但是对于它了解甚少。

在查找了一些资料,个人还是比较能够接受<<大规模分布式存储系统:原理解析与架构实战>>中对于CPU的描述。首先来看看书中提供的一张图。
这张图是关于经典的多CPU架构为对称多处理结构(Symmetric Multi-Processing,SMP),即在一个计算机上汇集了一组处理器,它们之间对称工作,无主次或从属关系,共享相同的物理内存及总线
bubuko.com,布布扣

直接拷贝作者的原话:
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槽口,如下图:
bubuko.com,布布扣
我们可以多说说CPU中的缓存机制,其中一级缓存是非常重要的,每一级缓存都是依次对上一级缓存的补充,当CPU读取数据的时候,如果在一级缓存中不存在,就会在二级缓存,依次类推,每级缓存的容量也是很有梯度的分布。每一级的缓存命中率都在80%以上。
我们在稍后的章节了解CPU的工作原理和性能相关的知识。

了解一下CPU 第一篇

原文:http://blog.itpub.net/23718752/viewspace-1420123/

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!