Understanding CPU, Core, Die, and Package Terminology

corecpudual-coreterminology

Now this might sound like too many previous questions, but I am really confused about these terms. I was trying to understand how "dual core" is different from "Core 2 Duo", and I came across some answers. For example, this answer states:

Core 2 Duo has two cores inside a single physical package

and

dual core is 2 cpu in a package
2 cpu's in a die = 2 cpu's made together 2 cpu's in package = 2 cpu's on small board or linked in some way

Now, is a core different from a CPU? What I understand is there is something that does all the heavy computation, decision making, math and other stuff (aka "processing") is called a CPU. Now what is a Core? And what is a processor when somebody says he has got a Core 2 Duo? And in this context what is a Package and what is a Die?

I still don't understand the difference between Core 2 Duo and Dual Core.
And can somebody explain hyper-threading (symmetric multi-threading) too if they are super generous?

Best Answer

"Core 2 Duo" is Intel's trademark name for some of its processors. It alone does not tells much about the processor, except them using Core 2 Intel architecture.

(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. enter image description here

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.

On this page you can see one of the two dies in the Core 2 Quad in the second image.

enter image description here

As you can see, it's symmetrical; the upper side contains one core, bottom side the second core. Two pieces of silicon like this are attached to CPU package to make a quad-core Core 2 Quad.