A single modern CPU typically has multiple cores. Each core is its own processor. Simultaneous multi-threading, called Hyper-Threading by Intel, splits each physical core into two logical processors. Each logical processor lets your operating system run two separate tasks. For example, an eight-core CPU appears as a single CPU with 8 cores and 16 logical processors.
The central processing unit (CPU) in your computer does the computational work — running programs, basically. But modern CPUs offer features like multiple cores and hyper-threading. Some PCs even use multiple CPUs. We’ll explain the differences and how they work.
Simultaneous Multithreading (called Hyper-Threading by Intel) allows a single CPU to run multiple tasks simultaneously rather than sequentially, which improves performance in most situations.
Hyper-threading was Intel’s first attempt to bring parallel computation to consumer PCs back in 2002. The Pentium 4’s of the day featured just a single CPU core, so it could only perform one task at a time — even if it were able to switch between tasks quickly enough that it seemed like multitasking. Hyper-Threading — called simultaneous multithreading (SMT) on AMD and other non-Intel processors — attempted to make up for that.
Note: Strictly speaking, only Intel processors have hyper-threading, however, the term is sometimes used colloquially to refer to any kind of simultaneous multithreading.
A single physical CPU core with hyper-threading or simultaneous multithreading appears as two logical CPUs to an operating system. The CPU is still a single CPU, so it’s a little bit of a cheat. While the operating system sees two CPUs for each core, the actual CPU hardware only has a single set of execution resources for each core. The CPU pretends it has more cores than it does, and it uses its own logic to speed up program execution. In other words, the operating system is tricked into seeing two CPUs for each actual CPU core.
Hyper-threading allows the two logical CPU cores to share physical execution resources. This can speed things up somewhat — if one virtual CPU is stalled and waiting, the other virtual CPU can borrow its execution resources. Hyper-threading can speed your system up, but it’s nowhere near as good as having actual additional cores.
Thankfully, hyper-threading is now just a bonus. While the original consumer processors with hyper-threading only had a single core that masqueraded as multiple cores, modern CPUs now have both multiple cores and hyper-threading or SMT technology. Your hexa-core CPU with hyper-threading appears as 12 cores to your operating system, while your octa-core CPU with hyper-threading appears as 16 cores. Hyper-threading is no substitute for additional cores, but a dual-core CPU with hyper-threading should perform better than a dual-core CPU without hyper-threading.
Originally, CPUs had a single core. That meant the physical CPU had a single central processing unit on it. To increase performance, manufacturers added additional “cores,” or central processing units. A dual-core CPU has two central processing units, so it appears to the operating system as two CPUs. A CPU with two cores, for example, could run two different processes at the same time. This speeds up your system because your computer can do multiple things at once.
Unlike hyper-threading, there are no tricks here — a dual-core CPU literally has two central processing units on the CPU chip. A quad-core CPU has four central processing units, an octa-core CPU has eight central processing units, and so on.
This helps dramatically improve performance while keeping the physical CPU unit small enough to fit in a single socket. There only needs to be a single CPU socket with a single CPU unit inserted into it — not four different CPU sockets with four different CPUs, each needing its own power, cooling, and other hardware. There’s less latency because the cores can communicate more quickly, as they’re all on the same chip.
The Windows Task Manager shows this fairly well. Here, for example, you can see that this system has one actual CPU (socket) and 8 cores. Simultaneous multithreading makes each core look like two CPUs to the operating system, so it shows 16 logical processors.
No, not all multi-core CPU configurations are the same. There are two distinct design philosophies you’ll encounter when looking at multi-core CPUs.
One type of configuration — and the kind that has been common in consumer PCs for years — uses multiple identical cores. In these setups, if you have an octa-core system all eight of those processors are high-performance CPUs, and they’re all optimized in the same way.
The other uses a mixture of different cores (sometimes called a heterogeneous core architecture). Typically, these setups will use two distinct types: performance cores and efficiency cores.
The precise naming scheme varies a bit between companies and applications, but the basic idea is the same. The efficiency cores are reserved for background and low-demand tasks. These cores consume less power. Performance cores are the exact opposite. They consume significantly more power but give much better performance in demanding tasks, like gaming. The combination results in performance when you need it, but lower background energy use.
This heterogeneous multi-core setup (called big.LITTLE by ARM) first became popular with cellphones and other mobile devices because of the power savings they offered. When you need your phone to last all day, it doesn’t make sense to drain your battery unnecessarily by running a high-power core all the time. Intel also introduced the idea in mainstream desktop CPUs, starting with its Alder Lake processors.
Most computers only have a single CPU. That single CPU may have multiple cores or hyper-threading technology — but it’s still only one physical CPU unit inserted into a single CPU socket on the motherboard.
Before hyper-threading and multi-core CPUs came around, people attempted to add additional processing power to computers by adding additional CPUs. This requires a motherboard with multiple CPU sockets. The motherboard also needs additional hardware to connect those CPU sockets to the RAM and other resources. There’s a lot of overhead in this kind of setup. There’s additional latency if the CPUs need to communicate with each other, systems with multiple CPUs consume more power, and the motherboard needs more sockets and hardware.
Systems with multiple CPUs aren’t very common among home-user PCs today. Even a high-powered gaming desktop with multiple graphics cards will generally only have a single CPU. You’ll find multiple CPU systems among supercomputers, servers, some workstations, and similar high-end systems that need as much number-crunching power as they can get.
The more CPUs or cores a computer has, the more things it can do at once, helping improve performance on most tasks. Most computers now have CPUs with multiple cores — the most efficient option we’ve discussed. You’ll even find CPUs with multiple cores on modern smartphones and tablets.
The clock speed for a CPU and its IPC (instructions per cycle) used to be enough when comparing performance. Things aren’t so simple anymore. A CPU that offers multiple cores and hyper-threading may perform significantly better than a CPU of the same speed that doesn’t feature hyper-threading. And PCs with multiple CPUs can have an even bigger advantage. All of these features are designed to allow PCs to more easily run multiple processes at the same time — increasing your performance when multitasking or under the demands of powerful apps like video encoders and modern games.
Of course, a higher core count isn’t all that important in every situation. Modern operating systems are pretty smart about splitting up their tasks between multiple cores, but not all programs are so well optimized. In many cases (especially gaming,) performance is primarily limited by the maximum speed of an individual core rather than how many total cores you have. So don’t go rushing out to buy a 64-core Threadripper CPU thinking it’ll net you a billion FPS in Call of Duty — it won’t.