What is Hyper-Threading and Simultaneous MultiThreading?

With the newly released 8th Generation CPUs from Intel, one feature has gone missing from the Core i3 models: Hyper-Threading (HT). For example, the new Intel i3-8100 features 4 physical cores and 4 threads, whereas the previous generation’s i3-7100 featured 2 physical cores and 4 threads.

What is Hyper-Threading, and is it any different from AMDs Simultaneous Multi-Threading?

What is the difference between having a 2-core Hyper-Threaded CPU or a 4-core CPU without Hyper-Threading?

You say Hyper-Threading, I say Simultaneous MultiThreading…

What’s the difference between Hyper-Threading and Simultaneous MultiThreading? Essentially, nothing! Both terms describe the same technology, which doubles parts of the CPU core to help speed up multi-threaded tasks. Hyper-Threading is Intel’s brand name for the technology, while simultaneous multi-threading is the more general term.

What is HT/SMT?

HT/SMT is not as good as having more physical cores. It is, however, a great feature that speeds up CPUs while keeping manufacturing costs down.

To understand HT/SMT, first it’s important to understand the basics of how a CPU works.

Any task you do on your PC, like checking your email, requires your CPU to process a set of instructions.

A normal single CPU core can process one instruction at a time. Even when a CPU can process millions of instructions per second, this takes time.

But the instructions aren’t all the same. different instructions are processed by different parts of the CPU core.

This is where Hyper-Threading and Simultaneous MultiThreading come into play. With HT and SMT, Windows sees two CPU cores. These are virtual cores, designed to be seen by the operating system individually like physical cores. This allows various operations to be broken down into smaller parts and have those processes carried out more efficiently by the CPU core. As long as the core is not using the same data for each task, that information can be split up, queued and then processed quickly by using HT/SMT technology. Code optimized for SMT can run up to twice as fast as on a normal CPU core. Un-optimized code may not be any faster, and can even be slightly slower.

In fact, that’s the analogy Intel uses in this simple overview of the potential benefits for Hyper-Threading: (from Intel’s article¬†here)

 

So HT and SMT are good?

Yes. However, software has to be properly optimized to take advantage of HT/SMT. At a fundamental level, HT/SMT is not as powerful as having more physical cores, because only part of the core is duplicated. Since only part of the core is duplicated, SMT is cheaper than adding the equivalent number of CPU cores, allowing lower prices. For example, assuming per-core speeds are the same, A 4 core CPU with SMT (8 threads) can perform equal to 4 core CPU without SMT, or up to about 90% of the speed of an 8 core CPU without SMT.

What this means for 8th Gen Intel CPU’s

Right now, only the new i7 chips come with Hyper-Threading. The new i7-8700K has upgraded to 6 physical cores, each with two logical CPUs for a total of 12 threads. The previous i7-7700K had only 4 cores and 8 threads.

The i5 chips have upgraded from 4 to 6 physical cores and have a total of 6 threads (one per core) because they lack Hyper-Threading. Previous i5 chips had 4 cores, but also lacked Hyper-Threading.

The i3 CPUs have upgraded from 2 to 4 cores, but dropped their Hyper-Threading.

What about AMD?

AMD’s new Zen architecture is AMD’s first to feature Simultaneous MultiThreading, which is featured in their Ryzen 5, Ryzen 7 and Threadripper CPUs. The appropriately named Threadripper 1950X features a staggering 16 physical cores and 32 threads.

AMD’s entry-level A-Series and new generation Athlon CPUs are based on older architecture and do not feature SMT.

Bottom line

HT/SMT is great, but having more physical cores is better than having HT/SMT. So, if choosing between two CPUs of similar price, pick the one with more physical cores. If it happens to have HT/SMT, that’s a nice bonus.