What goes on inside.

The CPU, or Central Processing Unit, in your computer is amazingly complex. That 11th-generation i7 CPU has over 19 billion transistors. I realize that’s mostly meaningless unless you know what a transistor is or does, but it’s kinda like having 19 billion tiny on/off switches in a space less than half of a square inch (276 mm²).
Some of those switches set up a feature that defines the difference between a core processor and a logical processor.
Become a Patron of Ask Leo! and go ad-free!

Cores vs. logical processors
A core processor is a real hardware engine that runs a set of steps in sequence. Hyper-threading lets a core juggle two tasks at once, fooling Windows into seeing two “logical” processors. CPUs often have more than one core, and many (though not all) cores are hyper-threading capable, making it look like your computer has more logical processors than it has cores.
CPU Ambiguity
Before I dive in, we need to talk about a little ambiguity in terms: specifically what “CPU” means.
CPU, or “Central Processing Unit”, can refer to:
- The physical chip in your computer that contains all the computing circuitry.
- One of the computing engines (cores, which I’ll talk about in a second) on that chip.
One thing is it not is the computer as a whole. Regardless of the ambiguity above, “CPU” never refers to a box. It’s always a chip, or a part of a chip, on the motherboard of your computer.
I’ll try to stick to “CPU chip” when I mean the physical chip, and “CPU” when the distinction is less important.
A core
A core is (normally) a single processing engine that takes a sequence of instructions and executes them one step at a time. A core might be given instructions such as:
- Take the number 23.
- Fetch the number in RAM location 1,033,000.
- Add these two numbers.
- Store the result in RAM location 4,442,223.
- Add 23 to the result.
- Store the result in RAM location 5,444,234.
And so on. Boring, but this level of granularity — simple math, logical operations, RAM access, and so on — is what makes your computer do all the fantastic things it does, even though it’s just doing one thing at a time. Doing one thing at a time is referred to as being single-threaded.
Needless to say, it does these tasks very, very quickly. While CPU clock speed isn’t one-for-one (some steps take longer to carry out than others), a reasonable visualization is that a 3Ghz processor is capable of performing three billion simple operations (like addition) every second.
Of course, that’s not fast enough.
Hyper-threading
Also known as “simultaneous multi-threading”1, hyper-threading is a technique where a single core can sometimes do two things at once. A metaphor might be a single person with two hands. Often you need both hands to do one thing, but sometimes you can do two different things with each hand.
For example, here are two sequences of operations, or threads, running at the same time on a single processor.
Step | Thread 1 | Thread 2 |
---|---|---|
1. | Take the number 23. | Fetch the number in RAM location 45,000,001 |
2. | Fetch the number in RAM location 1,033,000. | Increment it by 1 |
3. | Add these two numbers. | Store the number in RAM location 45,000,002 |
4. | Store the result in RAM location 4,442,223. | *idle* |
5. | Add 23 to the result. | Fetch the number in RAM location 45,000,003 |
6. | Store the result in RAM location 5,444,234. | *idle* |
7. | Subtract 14 from the result. | Store the number in RAM location 45,000,001 |
In this example, the “store and fetch things from RAM” part of the CPU and the “perform simple arithmetic” part of the CPU are two separate things.
In single-threading, we can use only one at a time. In hyper-threading, we can use both at the same time, simulating two completely separate things at the same time. The two threads of execution above, for example, do two completely separate things at the same time by coordinating how the CPU’s resources are used.
It’s not perfect. Note that Thread 2 had to stop at step 4, and again in step 6, and wait; it wanted to fetch or store something in RAM, but Thread 1 was using the “store and fetch things from RAM” part of the CPU at that same time. Once Thread 1 moved on to an arithmetic operation, Thread 2 could move on to the RAM fetch.
It’s a single CPU, but it’s doing two things at once. Sort of.
The operating system views this as two separate logical processors, even though there’s really only one, allowing it to use them for true multi-tasking.
Multi-core
Your computer can have multiple cores. In fact, these days it almost certainly does. The desktop computer I’m using right now has 16 cores. Using the original definition of a simple, single-threaded core, it can do 16 things at once.
These cores are also hyper-thread capable. Thus, while my desktop has 16 cores, it “looks like” it has 32 logical processors.

Here’s an interesting “catch”, though. You pointed out that your 12th-generation I7 processor has 10 cores and 12 logical processors. Not all cores are hyper-threading capable. It looks like only two of the 10 cores on your processor are, and thus you end up with 12 logical processors.
Multi-CPU
So far, I’ve referred to cores and logical processors that all live on a single chip in your computer.

A single physical chip can contain multiple cores. If hyper-threading is involved, it can contain more logical processors than there are cores. For example, my 16-core, 32-logical processor machine contains a single CPU chip.
A computer can also contain multiple physical CPU chips. This is uncommon for home and small businesses, but not that uncommon at an industrial data-center scale. While the operating system sees all chips and cores, it primarily operates on what it sees as a large collection of available logical processors.
Do this
This explanation is mostly to satisfy your curiosity. The next time you’re shopping for a new computer and are trying to compare the capabilities of one against another, it may come in handy.
Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.
Podcast audio
Footnotes & References
1: Hyper-threading is technically an Intel term. I’ll use it throughout, though, to refer to the concept generically, regardless of CPU manufacturer.