There’s so much to take into account when looking for a CPU.
Cores, threads, clock speeds, caches, overclocking potential, operating temperatures, TDP, IPC… the list goes on and on.
It’s only natural that all these specifications can become confusing when it comes to the nature of their purpose.
So let’s take it step by step.
In this article, we will take a look at one of the most important aspects related to a processor’s performance: Its physical cores, threads, and the resulting logical processors.
What makes each of these components unique? What are they used for? How many do you need for your workloads?
And most importantly: Do Threads or Logical Processors perform the same as Cores?
Well, before we start mixing up terminology let’s take a closer look at what they mean:
What Are Cores?
A CPU core is a CPU’s processor.
Though CPUs used to operate with just a single core, modern-day processors are predominantly multi-core.
This means they have at least two or more cores installed onto an integrated circuit die (or multiple chiplets), and can therefore process two or more tasks simultaneously.
Note that each core can only execute a single task at a time.
If the CPU’s cores are insufficient for the number of tasks being processed, a performance penalty is incurred.
This is known as Context Switch Overhead.
In order for a core to process different tasks, one task must be removed, and the next task must be loaded.
So, simply put, Context Switch Overhead is when the CPU spends a lot of time switching between tasks, rather than processing them.
This’ll become important when we look at what threads are a bit further down.
What Are Core Clock Speeds?
A core’s clock speed is a measure of its processing frequency, which is not necessarily a measure of its overall performance.
To be more precise, the term “clock speed” refers to the number of cycles of calculations that the core runs per second.
This metric is nowadays measured in Gigahertz: billions of cycles per second.
The reason why clock speeds are not the sole determining factor of performance for a CPU is because the internal architecture – the synergy between multiple cores – and the size of the internal caches are paramount for producing its overall performance.
One CPU might be able to process more per cycle than another CPU, simply because of its architecture design.
What Are Base & Boost Clock Frequencies?
A CPU’s base clock speed is the minimum frequency the CPU will operate at when idle, or when processing low-level workloads.
In contrast, the boost clock frequency is a metric that signifies how much the CPU’s performance can be enhanced when running more demanding tasks and processes.
Boost clock frequencies are automatically applied and are limited by the resulting heat that can be tolerated by the CPU before it reaches unsafe levels of operations (among other factors).
When this occurs, the boost clocking function will automatically be turned off or throttled.
This article goes into this topic in-depth if you want to learn more.
Is it Better to Have More Cores or Less, More Powerful, Cores?
The answer to this question depends solely on the type of workloads your computer will be working on.
If you’re one of our frequent readers, you’ll most likely be familiar with the terms “active” and “passive” workloads.
Active workloads refer to any process that needs the user to manually manipulate or adjust data in real-time, in order to complete a task.
Passive workloads, on the other hand, are tasks that are usually easily parallelizable and that can be left unattended – passive.
Active workloads are more so dependent on high single-core performance and boost clock speeds.
Therefore, such workloads will require fewer, but more powerful, cores for smoother overall operation.
Passive workloads benefit from high core counts and higher base clock speeds.
These processes will need CPUs with a higher core count, like AMD’s Threadripper series.
What are Threads?
Another aspect that passive workloads benefit from are high thread counts and hyperthreading capabilities.
But what are these “threads”?
In short, a thread is a set of data that is sent from an application to the CPU in order to be processed.
Threads are not physical components of the CPU, but rather an indicator of the amount of processes the cores can handle.
Remember the Context Switching Overhead we talked about in the Cores section before?
Because a lot of the performance of a Core is wasted on switching between tasks, threading creates multiple virtual cores out of each physical core (usually two threads per core).
This allows for optimized queueing of tasks and utilizes the real core much more efficiently.
Having the ability to process multiple threads allows your CPU to seamlessly switch between workloads and tasks.
What is Hyper Threading?
Hyperthreading on Intel’s CPUs and SMT (Simultaneous Multi-Threading) on AMD’s CPUs are names for the process of splitting physical cores into virtual cores – allowing a single core to process multiple threads more efficiently.
It is essentially a way of scheduling threads to be executed by the core without any downtime.
This is accomplished by readying a thread to be processed, while another thread is being executed.
Hyperthreading and SMT aren’t actually the simultaneous processing of two threads by one physical core, but rather an efficient way to have two threads prepared for optimized processing – one at a time.
Do all CPUs support Hyperthreading or SMT?
Most CPUs will have the ability of Hyperthreading or SMT and run two threads per Core.
There are some CPUs, though, such as lower-tier Intel Celeron or AMD Ryzen 3 CPUs that do not support Hyperthreading or SMT and therefore will have just one thread running per core.
Intel especially disables Hyperthreading support even on some higher-tier CPUs, mostly for market-segmentation reasons, so be sure to check the product description for Cores & Threads before buying even higher-tier CPUs.
Are Threads as fast as Cores?
Threads are not as fast as Cores.
Hyperthreading or SMT allows tasks to be scheduled more efficiently, meaning they can use parts of the Core that are currently not actively processing a task.
In a best-case scenario, Threads provide around 50% more performance compared to a physical core.
Do you need a CPU with Hyperthreading or SMT support?
This depends on your workload.
Because a task will always prefer to run on a free Core over a free thread (since Cores are faster than Threads), depending on your type of typical workloads, you might not make use of your CPU’s threads at all.
If you run active workloads such as 3D Modeling or Gaming throughout a typical day, chances are you will not utilize all of your Cores since such workloads can’t be parallelized easily and usually run on just one or two Cores.
For workloads such as CPU Rendering that make use of 100% of your cores and then easily make use of all your available threads as well, though, having a CPU with Hyperthreading or SMT support can make a considerable performance difference.
What Are Logical Processors?
Now that we’ve gone through what cores and threads are, defining logical processors is a far easier task.
Logical processors are simply a measure of how many Cores the operating system sees and can address.
It is, therefore, the product (multiplication) of the number of physical cores with the number of threads each core can handle.
So, let’s say you have an 8 core 8 thread CPU.
The number of logical processors you will have will be 8.
This value is a product of the number of physical cores (8), and the number of threads they can handle (1).
But what if your CPU is capable of hyperthreading?
Well then each core can handle two threads, so an 8 core CPU will have 8 * 2 = 16 logical processors.
How Can You See How Many Logical Processors Your CPU Has?
If you’d like to see how many logical processors your CPU has, simply open the task manager on your Windows OS (CTRL+Shift+ESC) and click on performance, then highlight the CPU tab, and check the bottom right-hand side of the window.
Right underneath the number of cores of the CPU will be the number of logical processors.
Logical Processors vs Physical Cores
What is more valuable? Logical processors or physical cores?
That’s an easy answer: Physical cores.
Remember, with multithreading you aren’t processing two threads simultaneously, you are simply scheduling the threads so that the single physical core can process them as efficiently as possible.
Logical Processors (or Threads) at most will introduce a 50% performance uplift in workloads that are well parallelized such as CPU Rendering.
Physical Cores will show a 100% performance increase in such workloads.
In single-threaded workloads, you’ll most likely see no performance increase at all, when switching from a CPU without Threading-support to a CPU with Threading-support (all other factors being the same).
Logical Processors are the number of CPU Threads the Operating system sees and can address.
Because your PC will always schedule tasks on physical cores first before spilling over into using Threads, having a CPU with Hyperthreading or SMT will benefit you the most if you can make use of all of the CPU’s Cores in workloads such as CPU Rendering.
Here’s a simplification: Your CPU Core is your mouth and your two Hands are the Core’s Threads.
The task that should be processed is: eating.
If you take food into one hand and place it into your mouth then chew and swallow and only after you’re finished doing that, you reach out to grab some more food, the mouth sits there idly waiting for more food to be placed into the mouth.
This is a waste of processing time.
With two Hands (two threads), the second hand can already place food into the mouth to be processed while the first-hand looks for more food.
Well, now I’m hungry…