cpu基本概念
在多核心的CPU中,我们在一个封装(socket或者processor)里放入多核(core)。
在超线程(Hyper-threading, HT)中,对于一个物理存在的核心,操作系统会当成两个虚拟的逻辑核心来使用,二个逻辑核心共享L1和L2缓存。
绿色和蓝色标识一个socket
以Sandy Bridge (SNB)家族的Intel Xeon E5-2430为例:
核心(Cores)数量:六核心
线程(Threads)数量:12
架构:Sandy Bridge
Socket类型:1356
L1缓存:192KB(code), 192KB(data)
L2缓存:1.5MB
L3缓存:15MB.
架构中,缓存方面,一级、二级、三级容量分别为4×32KB、4×256K、8MB,延迟分别只有3个周期、9个周期、25个周期,而且三级缓存采用每循环256位的环形架构。[1]
黄色框内表示:HT的两个逻辑核心,共用L1和L2.
红底表示socket 0, 黄色表示socket 1.
查看cpu参数
这部分介绍如何在linux下从/proc/cpuinfo中得到cpu参数.
cpu信息 |
/proc/cpuinfo中参数 |
示例中取值 |
socket编号 |
physical id |
0,1 |
socket中逻辑核心编号 |
processor |
0,1,2,……,23 |
socket中逻辑核心数目 |
siblings |
12 |
socket中物理核心编号 |
core id |
0,1,2,3,4,5 |
socket中物理核心数目 |
cpu cores |
6 |
Advanced Programmable Interrupt Controllers ID[2] |
apicid |
0,1,……,11 32,33,……43 |
L3 cache |
cache size |
|
下面的例子是 intel xeon 5420的processor 0的cpuinfo参数
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-2430 0 @ 2.20GHz
stepping : 7
cpu MHz : 2194.573
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 0
cpu cores : 6
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 x2apic popcnt aes xsave avx lahf_lm arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid
bogomips : 4389.14
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
apicid可以用来判断processor是在哪个物理核心(core)的哪个逻辑核心(logical CPU)上。
logical_CPU_number_within_core = APIC_ID & ( (1 << logical_CPU_bits) -1)
core_number_within_chip = (APIC_ID >> logical_CPU_bits) & ( (1 << core_bits) -1)
chip_ID = APIC_ID & ~( (1 << (logical_CPU_bits+core_bits) ) -1)
详细的cache信息
ls /sys/devices/system/cpu/cpu0/cache/
index0 index1 index2 index3
4个目录
index0:1级数据cache
index1:1级指令cache
index2:2级cache
index3:3级cache ,对应cpuinfo里的cache
查看线程run在哪个processor
可以使用top命令查看一个进程的各个线程分别run在哪个processor上
同样,为了避免输入数字pid,我使用如下命令启动top:
top -p$(pidof test |sed -e ‘s/ /,/g’)
在默认配置下不显示线程信息,需要进入Top后按“shift+H”,打开线程显示。
另外,如果没有P列,还需要按“f”,按“j”,添加,这一列显示的数字就是这个线程上次run的processor id。
关于top的使用,请读者自行man top
参考文献:
1. Intel 32nm Sandy Bridge已流片 架构解析,
http://news.mydrivers.com/1/138/138855.htm
2. http://www.experts-exchange.com/OS/Unix/Q_27076862.html
3. http://www.searchtb.com/2012/12/玩转cpu-topology.html
4. http://huoding.com/2012/11/08/198
5.
相关推荐
CPU基础知识IC卡从接口方式上分,可以分为接触式IC卡、非接触式IC卡及复合卡。从器件技术上分,可分为非加密存储卡、加密存储卡及CPU卡。非加密卡没有安全性,可以任意改写卡内的数据,加密存储卡在普通存储卡的基础...
CPU的一些基本概念 帮助大家对cpu有更进一步的了解
关于CPU基础知识的介绍整理,是和初学者或者想要对CPU有点了解的人看看
CPU基础知识PPT课件.pptx
CPU基础知识.ppt
软件调试第二章CPU基础软件调试第二章CPU基础软件调试第二章CPU基础软件调试第二章CPU基础软件调试第二章CPU基础软件调试第二章CPU基础
电脑 CPU 基础知识 笔记本 扫盲类型的,不过专业人士也可以看哦
CPU小常识,cpu基础知识.docx
CPU基础知识,ppt文档,共70多页,有对CPU的发展历程和结构的介绍和新型CPU的构架
CPU基础知识PPT学习教案.pptx
国产CPU基础数学库函数测试数据生成研究.pdf
讲解CPU的一些基础知识,由浅到深,适合初学者用
CPU是Central Processing Unit的缩写,即中央处理器。CPU发展至今,其中所集成的电子元件也越来越多,上万个晶体管构成了CPU的内部结构。那么这上百万个晶体管是如何工作的呢?看上去似乎很深奥,但归纳起来,CPU的...
很好的资源很好的资源很好的资源很好的资源很好的资源
对于CPU相关知识的总结归纳,所提到的信息有点过时,但是比较基础,个人认为非常有用
对于学习保护模式和操作系统的朋友,提供些方便吧。 本来想免费分享给大家,资源分最低能设为2. 有问题和有bug,可以反馈到 nanxiaoming@126.com
本课程设计的总体目标是利用 FPGA 以及相关外围器件,在课程实验中完成的单周期 CPU 基础上,完成单周期 CPU 在 FPGA 开发板上的正确运行,并改造设计五段流水 CPU,要求所设计的流水 CPU 系统能支持自动和单步运行...
第1 章概述 1.嵌入式系统基本含义是什么?为什么说单片机是典型的...CPU 基础上发展,增加满足测控对象要求的外围接口电路,用于测控领域。而嵌入式MCU 则是在嵌入式系统的概念广泛使用后,给传统MCU 定位的称呼。所
1 CPU基础知识介绍 2 CPU(Central Processing Unit,中央处理器)是一块超大规模的集成电路,通常被称为计算机的大脑,是一台计算机的运算核心 (Core)和控制核心( Control Unit),也是整个计算机系统中最重要的...
1.6 CPU基础概念 19 1.7 多级存储 25 1.8 总线 33 1.9 指令及流水线 36 1.10 输入输出 47 1.11 校验码 54 2 操作系统基础知识 67 2.1 操作系统概述 67 2.2 P、V信号量 70 2.3 三态模型 71 2.4 死锁 72 2.5 进程资源...