What is meant by the terms CPU, Core, Die and Package?
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?
Solution 1:
"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.
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.
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.
Solution 2:
CPU Package
When you buy a CPU, you usually get something that looks like this.
- A piece of board, containing pins or contacts on the bottom to make contact with a motherboard socket.
- A top shell, made of metal, sometimes ceramic, that protects the CPU die from physical damage, supports the heat sink and thermally bound with it, and it can act as EMI shield.
- Bypass caps, tiny capacitors used to suppress noise and smooth the voltages going to the CPU.
- The actual CPU inside the top shell.
CPU Die
The CPU die is the processing unit itself. It's a piece of semiconductor that have been sculpted/etched/deposited by various manufacturing process into a net of logic blocks, that do stuff that makes computing possible.
Opened CPU Package exposing the actual die
Microscopic view of a die with overlay explaining its layout construction
* The Pentium 4 is a single CPU with a single core.
CPU Cores
Modern CPUs have multiple cores, that are pretty much independent processing units. Vendors can manufacture cores as independent dies on the same package, or etched on the same die.
CPU Package containing 2 separate DIEs
One die with multiple cores
Understand core as a complete independent processing unit. In fact, you can see that they are pretty much a copy.
Branding names
Intel Core 2 Duo™
and Intel Dual Core™
are trademark names of Intel.
They are just how Intel named these lines of CPUs, it is not very meaningful in any way, besides the fact that they give you a clue that they have 2 cores in it.
The current Intel generation names are Intel Core i3
, Intel Core i5
and Intel Core i7
. These names don't tell you anything. For example, there are Intel Core i5
with just 2 cores and some have 4 cores. You will have to read the datasheet to know it, as they don't usually advertise this.
Software
From a software point of view, CPU or cores are pretty much the same. It doesn't know if they are each on its own die, or are etched on the same die. They are treated as independent processing units, so you can run different tasks on each of them.
Solution 3:
Terminology is confusing in this area, because marketing started to use technical terms to refer to products, and colloquialisms and general use are not always aligned with the original technical terms.
an integrated circuit is usually not manufactured as a separate piece (like one car), but several of them are "built" on a silicon wafer, like a layer cake. When that's done, the individual circuits are cut from the wafer, and the little pieces you get are called a "die".
A CPU has one or more execution units, who "can count", to simplify, and those are called a "core". CPU cores can be produced as separate dies, but can also sit on the same die. If they do, then you would say that those cores "share a die".
Before a die can do anything useful, it needs to be connected to the outside world, so it's "glued" on some carrier and connections are soldered on, that's called a "package".
Edit: "a single physical package" can now mean different things (it is a bit of a weasel word). Two cores on one die will share the same package. But also two cores on two dies can share the same package...
One of the disputes between AMD and Intel marketing has been wether "native dual-core" is better than separate dies for cores. While it's very interesting to look at the manufacturing process for those two approaches, for the end user it simply does not matter how a certain CPU is built - performance and thermals do.
A CPU needs more to function then just a core, like cache, so a core is one element of a CPU.
"Core 2 Duo" is just a name Intel marketing came up with. They would have called it "Sally" if that would have promised to sell better.
"Dual Core" is a general term referring to anything that has two cores.
Caution: that's a very broad brush I painted with, and grossly oversimplified if you look at modern techniques..
Solution 4:
Yep, "die" is the singular of "dice", and comes (in a roundabout way) from, say, dicing carrots. A large round silicon wafer is produced containing multiple copies of some device (perhaps a CPU, perhaps a memory controller, perhaps a display adapter), and then it is "diced" up into individual rectangular dies. This term has been around for 45 years or so -- since the dawn of integrated circuits.
"Core" is a somewhat newer term, less than 20 years old. It is used to refer to a single processing unit (single thread of execution) in a multiple processor package.
"CPU" is perhaps the oldest term, and the most vague. It may be used to refer to the entire box containing a computer system, the integrated circuit package containing one or more processors, or an individual processor.
Whereas "CPU" has multiple meanings, there are multiple terms for the little plastic or ceramic package containing integrated circuits. It may be called (depending on where you "grew up") a "package", a "module", a "chip" (a term that may also be used to refer to a die), an "IC" (integrated circuit), a "DIP" (even though many are no longer dual inline plastic packages), and several others.