你现在的位置:首页 / 技术积累 / 正文

CPU的一些概念区分:core, die, package, physical, logic

0 技术积累 | 2015年6月26日

(Physical) processor core is an independent execution unit that can run one program thread at a time in parallel with other cores.

Processor die is a single continuous piece of semiconductor material (usually silicon). A die can contain any number of cores. Up to 15 are available on the Intel product line. Processor die is where the transistors making up the CPU actually reside.

Processor package is what you get when you buy a single processor. It contains one or more dies, plastic/ceramic housing for dies and gold-plated contacts that match those on your motherboard.

Do note that you always have at least one core, one die and one package. For processor to make sense, it has to have an unit that can execute commands, a piece of silicon physically containing the transistors implementing the processor, and the package that attaches that silicon to contacts that mate to motherboard and IO.

Dual-core processor is a processor package that has two physical cores inside. It can be either on one die or two dies. Often the first generation multi-core processors used several dies on single package, while modern designs put them to same die, which gives advantages like being able to share on-die cache.

The term "CPU" can be ambiguous. When people buy "a CPU", they buy a CPU package. When they inspect "CPU scaling", they talk about logical cores. The reason for this is that for most practical purposes dual-core processor behaves like two processor system, ie. system that has two CPU sockets and two CPU single core packages installed to them, so when talking about scaling, it makes most sense to count the cores available; how they are installed to dies, packages and motherboard is less important.

The term "package" also has several meanings: Here CPU "package" means the piece of plastic, ceramic and metal that contain the CPU. Each CPU socket on motherboard can accept exactly one package; package is the unit that's plugged to the socket.

You can see example of two-die quad-core processor here. The CPU, or CPU package, is pictured from top and bottom on the first photo. The metal-colored rectangles on the top side are the two CPU dies. Each of them contains two CPU cores, making four in total. The golden pins on the bottom side mate to connectors on motherboard.

A physical core is what it sounds like - an actual physical processor core in your CPU. Each physical core has its own circuitry and its own L1 (and usually L2) cache can read and execute instructions separately (for the most part) from the other physical cores on the chip. 

A logical core is more of a programming abstraction than an actual physical entity. A simple definition of a logical core is that it is a processing unit that is capable of executing its own thread in parallel with other logical cores. In fact you could say that a logical core is the same as a thread. 

You can have multiple logical cores per physical core. However logical cores share resources with other logical cores operating on the same physical core, so having more logical cores will not necessarily get you the same performance increase as having more physical cores. 

In the case of intel hyperthreading (HT), you have two logical cores per physical core, so a quad-(physical) core i7 processor will have eight logical cores. However the two logical cores within one physical core cannot truly operate in parallel with respect to each other. This is because HT works by having one logical core operate while the other logical core is waiting and has nothing to do (for example when it is waiting on a cache or memory fetch). 

Well then how can these logical cores be considered in parallel? Well most of the time they can be because during typical CPU operation you will almost never see continuous execution of a single thread on every clock cycle - there are always gaps when one logical core is waiting for something and the second logical core can kick in and do its job. 

physical processor packages:物理处理器封装个数,即俗称的“物理CPU数”。例如一块“Intel Core i3-2310M”只有1个“物理处理器封装个数”。若对于有多个处理器插槽的服务器,“物理处理器封装个数”很可能会大于1。
processor cores:处理器核心数,即俗称的“CPU核心数”。例如“Intel Core i3-2310M”是双核处理器,它有2个“处理器核心数”。
logical processors:逻辑处理器数,即俗称的“逻辑CPU数”。例如“Intel Core i3-2310M”支持超线程,一个物理核心能模拟为两个逻辑处理器,即一块“Intel Core i3-2310M”有4个“逻辑处理器数”。

  • ------------------分隔线----------------

  • 如果感兴趣,欢迎关注本站微信号,跟踪最新博文信息,手机微信扫一扫下面的二维码,即可关注!
  • 微月信公众号
  • 推荐您阅读更多有关于“ 处理器   ”的文章