Choosing the CPU you need: Hyper-Threading, Multi Cores, and Beyond

Before making a decision to purchase a PC or laptop tailored to your needs, it’s essential to grasp the concepts of CPU cores and hyper-threading. Does more CPU increase performance of AutoCAD or adobe photoshop? In this article, we will delve into these fundamental concepts, empowering you to make an informed choice.

Kandarpa Borchetia
Tech Clarity Insights
7 min readAug 7, 2023

--

In today’s world, modern CPUs come equipped with multiple cores, each functioning as its own individual processor. A technology known as Simultaneous Multithreading (referred to as Hyper-Threading by Intel) takes this concept even further by dividing each physical core into two logical processors. This allows the CPU to handle two separate tasks simultaneously, boosting performance and efficiency. Take, for instance, a four-core CPU; it appears as a single unit with 4 cores and 8 logical processors.

central processing unit (CPU) is responsible for executing computational tasks, essentially running programs. However, contemporary CPUs offer advanced features such as multiple cores and hyper-threading, and some systems even utilize multiple CPUs. In the following paragraphs, I’ll delve into these differences and elucidate how they operate.

Hyper-Threading and Simultaneous Multithreading: What’s the Difference?

Simultaneous Multithreading (Intel calls it Hyper-Threading) empowers a single CPU to concurrently run multiple tasks rather than sequentially. This dynamic enhancement significantly improves performance across various scenarios.

Simultaneous Multithreading (SMT)is same as Hyper-Threading, Intel uses the term Hyper-threading whereas AMD uses SMT. It empowers a single CPU to concurrently run multiple tasks rather than sequentially. This dynamic enhancement significantly improves performance across various scenarios.

single thread vs multi thread processing

Back in 2002, Intel introduced Hyper-Threading as an initial attempt to bring parallel computation to consumer-grade PCs. During that era, CPUs like the Pentium 4 had only one core, limiting them to performing one task at a time, despite swift task-switching that simulated multitasking. Hyper-Threading (referred to as simultaneous multithreading or SMT on non-Intel processors) aimed to address this limitation.

Multithreading unlike SMT or Hyper Threading is a software concept that allows a single process to run multiple threads simultaneously whereas Hyperthreading is a hardware technique that allows a single physical core to run multiple threads simultaneously. This means that multithreading can be used on any CPU, while hyperthreading or SMT is only available on CPUs that support it.

Under this technology, a solitary physical CPU core with hyper-threading or simultaneous multithreading appears as two logical CPUs to the operating system. More threads mean more work can be done in parallel. You can consider it as a virtual CPU. Do not get confused, we are talking about a CPU having a single core with SMT (Simultaneous Multithreading) enabled here. While this might seem like a bit of a trick, the CPU itself remains singular. The operating system perceives two CPUs for each core, while the CPU’s physical hardware contains only one set of execution resources per core. Effectively, the CPU feigns additional cores and employs its logic to expedite program execution. Consequently, the operating system gets tricked into recognizing two CPUs for every actual CPU core.

Hyper-threading facilitates resource-sharing between the two logical CPU cores, enabling improved speed. For instance, if one virtual CPU is halted and waiting, the other can temporarily utilize its execution resources. While hyper-threading can enhance system speed, it falls short compared to having genuine additional cores.

Thankfully, hyper-threading has evolved beyond being just an extra feature. Unlike the original consumer CPUs with hyper-threading, contemporary CPUs now combine both multiple cores and hyper-threading or SMT technology. Note that hyper threading always applies to per physical core. For example, an octa-core CPU with hyper-threading is recognized by the operating system as having 16 cores, while a hexa-core CPU with hyper-threading appears as 12 cores. While hyper-threading can’t replace actual core count, a hexa-core CPU with hyper-threading usually always outperforms a hexa-core CPU without multi-threading.

Understanding CPU Cores

In the early days, CPUs were equipped with only one core, implying the CPU had only one central processing unit. To elevate performance, manufacturers introduced additional “cores,” essentially more central processing units. A dual-core CPU, for instance, houses two central processing units, making the operating system perceive it as two separate CPUs. This design enables the CPU to run two distinct processes simultaneously, thereby enhancing overall system efficiency.

Unlike hyper-threading, this approach does not involve any trick like fooling the OS to believe in something that does not present physically. A dual-core CPU physically encompasses two central processing units on the CPU chip. Correspondingly, a quad-core CPU comprises four central processing units, while an octa-core CPU boasts eight central processing units.

This innovation substantially enhances performance while maintaining the CPU’s physical size to fit within a single socket. Consequently, only one CPU socket and one CPU unit need to be inserted, eliminating the complexity of multiple CPU sockets, each demanding separate power, cooling, and hardware resources. This arrangement minimizes latency, as communication between the cores occurs swiftly, given their presence on the same chip.

You can check the number of cores and if SMT is enabled in the task manager of the computer. In my PC, I have one single CPU sitting on a single socket. CPU has 6 cores (hexa-core CPU), and 12 logical processors. And as you might have guessed by now, the OS believes that I have 12 CPUs.

task manger screenshot of author Kondorpa Borchetia

It is worth noting that in today's world, not all cores are same. Intel’s new Alder Lake chips come with two sets of CPU cores: E-Cores and P-Cores and AMD follows a different hybrid architecture popularly known as “big.LITTLE”. But that is an entirely different topic of discussion.

Exploring Multiple CPUs

The majority of computers rely on a solitary CPU. This CPU might encompass multiple cores or hyper-threading, but it remains a single physical unit inserted into a lone CPU socket on the motherboard.

Before the advent of hyper-threading and multi-core CPUs, additional processing power was sought by incorporating extra CPUs. This necessitated a motherboard with multiple CPU sockets, accompanied by supplementary hardware to link these sockets to RAM and other resources. Such a setup incurred significant overhead, resulting in elevated latency when CPUs needed to communicate, heightened power consumption in multi-CPU systems, and a demand for additional sockets and hardware in the motherboard.

Currently, home-user PCs seldom employ multiple CPUs. Even high-performance gaming desktops with multiple graphics cards typically employ only one CPU. Multiple CPU configurations are prevalent in supercomputers, servers, select workstations, and high-end systems that demand extensive computational power.

A higher number of CPUs or cores equates to increased multitasking capability and enhanced performance across various tasks. Most contemporary computers incorporate CPUs with multiple cores, the most efficient option discussed so far. Furthermore, CPUs with multiple cores have even made their way into modern smartphones and tablets.

Gauging CPU Performance

In the past, CPU performance was often evaluated based on clock speed and IPC (instructions per cycle). However, the landscape has evolved. A CPU offering multiple cores and hyper-threading can significantly outperform a same-speed CPU lacking hyper-threading. Systems equipped with multiple CPUs confer an even more pronounced advantage. These innovations facilitate seamless multitasking and empower PCs to handle resource-intensive applications like video encoders and modern games.

Nonetheless, a higher core count doesn’t invariably guarantee superior performance. While modern operating systems adeptly distribute tasks across multiple cores, not all software is equally optimized. In numerous scenarios, particularly in gaming, performance hinges primarily on the maximum speed of an individual core rather than the total core count. Therefore, acquiring a 64-core Threadripper or Intel cascade Lake 56-core Xeon Platinum 9200 CPU with the expectation of achieving astronomical performance while playing games like Minecraft would be misguided. In reality, most Day-to-day applications like web browser, antivirus software or media players uses only one core. Resource intensive software like AutoCAD uses at most 2 cores only irrespective of available CPU cores, while adobe photoshop uses at max 6 to 8 cores. Photoshop performance drops off after two cores, with the four-core processor only being around 25% faster than the two-core at the same clock speed. The six-core processor is approximately 8% faster than a four-core. Thus, the focus should be on balancing core count, clock speed, and other factors to attain the optimal computing experience.

--

--

Kandarpa Borchetia
Tech Clarity Insights

I write about personal experiences, social justice, technology and finance.