cpu 术语:core, die 和package

processor core:真正可以运行线程的运行单元,一个core可以有多个线程。
processor die:芯片,可以叠放一或多个core 的半导体材料,组成cpu 的晶体管真正存放的地方。
processor package:带金属引脚的成品cpu,也即物理cpu,可以包含一或多个die,已经可以插在主板socket 上。

一个处理器至少需要1个core,1个die 和1个package,即单核CPU。因为你至少需要一个运行单元core,一个容纳晶体管的die 和一个能和主板沟通的package.

双核处理器可以有1个package,1或2个die,对应的每个die 有2或1个core.

/proc/cpuinfo

physical id 记录package,是真正对应于socket 的物理cpu 编号,如果package 是多core 的,则可以有相同的physical id。
core id 记录物理core,如果core是多线程的,则可以有相同的core id.
processor 记录逻辑核心,每个线程一个编号。

例1,一个四核四线程的core i5-6300HQ:

# cat /proc/cpuinfo |grep -e processor -e "physical id" -e "core id"
processor   : 0
physical id : 0
core id     : 0
processor   : 1
physical id : 0
core id     : 1
processor   : 2
physical id : 0
core id     : 2
processor   : 3
physical id : 0
core id     : 3

例2,单核双线程:

processor : 0
model name : Intel(R) Pentium(R) D CPU 3.00GHz
cache size : 2048 KB
physical id : 0 // same physical id
siblings : 2
core id : 0 // different core id
cpu cores : 2
processor : 1
model name : Intel(R) Pentium(R) D CPU 3.00GHz
cache size : 2048 KB
physical id : 0 // same physical id
siblings : 2
core id : 1 // different core id
cpu cores : 2

参考链接:

[1]http://doc.callmematthi.eu/static/webArticles/Understanding%20Linux%20_proc_cpuinfo.pdf
[2]https://superuser.com/questions/324284/what-is-meant-by-the-terms-cpu-core-die-and-package

发表评论