CPU Cores Vs Threads

CPU Cores Vs Threads

One of the first things that you come across when browsing for CPUs is the CPU cores and threads. CPU cores vs threads are not that hard to understand if you know what their respective roles are. CPU cores are also known as “physical cores” and CPU threads are often called “logical cores“.

In other words, while CPU cores are physical cores that exist on your CPU, threads are just lines of code that run on your physical cores. By reading this you will know to distinguish CPU cores vs threads. It is not a hard concept to understand, but we will use analogies to describe the differences and similarities between the two in layman’s terms.

CPU Cores Vs Threads

First of all, you must understand that CPU cores are a hardware component. Threads, on the other hand, are virtual but they are set in stone nonetheless because of the CPU’s architecture. In other words, you cannot make your CPU use more threads than intended.

Let’s now continue by explaining CPU specs. You have probably noticed that modern consumer CPUs most commonly come with four, six, and eight cores. And the threads are typically eight, twelve, and sixteen respectively. Older CPUs would often have four cores and four threads, which means one logical core for each physical core. Having more threads nets a direct performance increase, but so does having more cores. So what is better for more performance: CPU cores vs threads?

Increasing the number of either is an upgrade, just like with increasing the clock speed of CPU cores. But you must understand that the two are fundamentally different things. Think of physical CPU cores as workers at a factory. Each core does certain tasks, processes data, and other things that the operating system needs. In other words, the operating system acts as the manager of the factory here. But how to tell the difference between CPU cores vs threads?

On the other hand, threads are the tasks that are given to the cores. To continue the analogy, think of threads as conveyor belts. If you have a CPU with four cores and four threads, that means you have four workers and one conveyor belt for each worker. The threads are used to schedule what the cores do or, in other words, you send the products that need to be worked on to the workers. This is simply how CPUs work, you cannot make a CPU without threads, or at least not yet.

But if your CPU has four cores and eight threads, that means that each worker gets two conveyor belts. The worker can work on one conveyor belt while waiting for the other to send new products. This saves the time that it takes for data to travel from other parts of the system, such as the cache or RAM. If you have two threads for each CPU core, that would mean that you have eight logical cores in this case, not eight cores total.

It means that you have eight different paths that data can take to get processed through your CPU here. Your CPU core can work on data from one thread while the second thread is sending more work for the CPU to do. This is good because having so many cores and threads means that your CPU is being fully utilized. Your CPU does not work at 100% the whole time because it has to get to work on other data. Simply said, having more threads means more efficiency for the CPU.

Another way that you can think of CPU cores vs threads is to imagine the core as your mouth. Your threads would then be the hands that feed you. It is much faster for you to eat using both your hands instead of eating with one while trying to do something else with the other. While you will not eat more food or do it faster by having more threads, you will deliver the food much more efficiently and quickly and you will end up eating a few minutes faster.

Parallel Operations in CPU Cores Vs Threads

Your CPU utilizes something called “parallel operation“. That is the simultaneous processing of two or more different operations. In other words, all cores work at the same time. However, a single core cannot work on multiple threads at the same time, but it rather switches between its threads all the time. The switching is called “concurrent execution“. This is why a 4-core 8-thread CPU will beat a 4-core 4-thread CPU in pretty much anything if other specs are about the same.

Having multiple threads on a single physical core maximizes efficiency and how much you can get out of each core. Threads are not equal to physical cores, but they do lower the downtime when the CPU has to wait for more data. They are there to enhance the performance of physical cores by making the workload more efficient, but they do not do any processing themselves.

Simultaneous Multithreading (SMT)

Simultaneous multithreading, usually shortened to SMT, is the technology that improves the efficiency of CPUs that support it. It allows multiple independent threads to work at the same time for maximum performance. Intel markets its SMT technology under the name “Hyper-threading”. This means that each physical processor core is addressed two virtual cores by the operating system. The operating system will make the threads share all workloads to achieve the fastest processing times.

Modern CPUs have some type of SMT built into them. The AMD Zen microarchitecture uses a 2-way SMT and so does Intel on most of their CPUs. The main disadvantage of simultaneous multithreading is that it can sometimes reduce performance if the shared resources are bottlenecks. This is why you might want to turn off SMT in some rare usage scenarios. Most developers are forced to insert more logic to turn SMT off if it’s lowering the performance in their program.

Temporal Multithreading

Temporal multithreading is another form of multithreading that is commonly used in CPUs. The main difference is that temporal multithreading uses C-slowing. It switches between threads either at a fixed interval or in other situations, which is in contrast to SMT that switches only when there is nothing to process. It can be either fine-grain or coarse-grain multithreading.

Fine-grain multithreading switches at fixed intervals, which usually means each cycle. Coarse-grain multithreading, on the other hand, does it when there are long-latency intervals, such as in LLC cache misses. The difference between temporal and SMT is that temporal is a bit more efficient, causing less heat output, but it is slower as it only allows one thread execution at a time.

Intel Vs AMD

When it comes to the two companies, they have had a different mindset until very recently. Intel has switched to having two logical cores for each physical core with its 10th gen Comet Lake CPUs. Before that, they focused on having faster cores rather than more threads. If we compare the Intel Core i5-9600K against the AMD Ryzen 5 3600X, we will see that Ryzen comes out on top in any multithreaded tasks and benchmarks. In other words, the Ryzen CPU is more efficient.

If you are interested in more details here, the Ryzen 5 3600X pulls out a marginal win in Cinebench single-core (496 vs 481), but the multicore is not even close for Intel here (3696 on the Ryzen and only 2574 on the Intel one). This is concrete evidence that more threads mean better performance. What this means for you is that if you have to process a lot of data, you are better off buying a CPU with more threads rather than faster cores.

As far as gaming performance is concerned, the Intel Core i5-9600K pulls out a marginal win in most titles thanks to its much faster cores. But any game that can take advantage of multithreading will see the Ryzen come out on top. Games like Shadow of The Tomb Raider and Rage 2 utilize Ryzen’s multithreading technology pretty well, which results in a 10-20% performance difference against Intel.

However, Intel has brought some important changes with their new 10th gen CPUs. Here we will compare the Core i5-10600K and the Ryzen 5 3600XT. Both are 6-core, 12-thread CPUs that perform great in modern games as well as productivity tasks. We once again see the AMD CPU pull out a win in Cinebench, but it is not nearly as dramatic as when Intel only had six threads. The same is true for 7-Zip and other multithreaded benchmarks.

As for gaming performance, the two CPUs are very close. The Core i5-10600K wins with a difference of about 2-5 FPS in most AAA titles thanks to its higher clock speed. All these comparisons are mentioned here just to see how much threads can impact performance despite not being a physical core that processes data. Efficiency is as important as horsepower in computation and that is why we see transistors shrinking rather than dies getting bigger. 

This argument shows us that CPU cores vs threads is not something that you should take lightly. Professionals need to get as many threads as they can for optimal performance and efficiency.

What CPU Cores Vs Threads Means for You?

Just like the core count, the thread count is an important spec. It doesn’t matter if you are a gamer or a professional, you should avoid buying a CPU that only has one thread per physical core. And with AMD’s new Ryzen 5000 series launch, going with an Intel CPU from 2019 or older would be a major mistake anyways. We can only recommend buying an AMD Ryzen CPU until Intel comes up with an answer.

We see AMD CPUs beating Intel in gaming for the first time in a decade now with their new release. If you do not know what CPU to get, you should take your usage scenario into account. If you are a professional who needs stuff processed as quickly as possible, going with a CPU that has many cores and threads, like a Ryzen 7 or Ryzen 9 is your best bet. If you need the absolute most power, consider going with an AMD Threadripper.

As the name suggests, Threadripper CPUs have tons of threads (and cores, of course) that allow them to process multithreaded workloads extremely quickly. The Ryzen Threadripper 3990X has 64 cores and 128 threads which allow the processor to destroy synthetic benchmarks. This CPU shows us that having many cores and threads can be an amazing thing in professional use.

The core and thread count are more important than the clock speed when processing tons of data, which is why this CPU has a base clock of only 2.9GHz. If you are a gamer, do not even bother with high core and thread counts. A CPU with 6 cores and 12 threads is more than enough for all modern titles because games still have not caught up to all the recent hardware trends towards many cores and threads.

Conclusion

So, what can we say about CPU cores vs threads? A CPU is made of multiple physical cores that usually have one or two logical cores called “threads”. While the cores are responsible for processing data and increase the amount that can be done, threads are responsible for making all of that as efficient as possible. Threads do not process data but instead improve the throughput.

While cores are a physical component, threads are only lines of code that are made to work with the CPUs architecture. You cannot make a CPU with 4 cores and 4 threads use 8 threads because the cores are not designed to use that. When it comes to multithreading, it is an amazing technique that allows programs and games to utilize all those threads that you have on your CPU.

It has been proven time and time again that threads are almost as important as physical cores themselves. CPUs that received more threads between generations without any other significant changes to the architecture have seen significant improvements. Thread and core count are both important factors that you should consider when buying a new CPU. If you are a professional, always look for the CPU that offers the most threads for the price for maximum productivity.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top