CPU cores vs. threads is a question that still gnaws at PC enthusiasts and hobbyists. What is more important for a good processor, the number of cores or threads? Well, as you might expect, there is no direct answer to this question. Threads basically help kernels process information more efficiently. That being said, CPU threads bring real visible performance in very specific tasks, so a hyper-threaded CPU may not always help you achieve the best results.
What is a central processing unit?
The processor (central processing unit) is the core of every smartphone, tablet, computer and server. It is a critical component that determines how your computer will perform and how well it can do its job.
The processor takes the basic instructions you type into your computer and distributes those tasks to the other chips in your system. By reallocating complex tasks to the chips best equipped to handle them, it keeps your computer running at its peak.
The processor is sometimes called the brain of the computer. It is located on the motherboard (also called main board) and is a separate component from the memory component.
It acts on the memory component that stores all the data and information in your system. The memory component and processor are separate from your graphics card. The only function of a graphics card is to receive data and convert it into the images you see on your monitor.
As technology advances year after year, we see processors getting smaller and smaller. And they work faster than ever before. You'll understand what that means more quickly if you learn a little about Moore's Law, named after Intel co-founder Gordon Moore. Moore estimates that the number of transistors in an integrated circuit doubles every two years.
What does the processor do?
As we said before, the processor is the brain of your computer. It takes data from a specific program or application, performs a series of calculations, and executes a command. It performs a three-part cycle, otherwise known as a repetitive fetch, decode, and execute cycle. In the first stage, the processor selects instructions from your system's memory. As soon as it receives instructions from memory, it goes to the second stage. It is in this second stage that it decodes these instructions.
As soon as the machine deciphers the instructions, it moves to the third stage of execution. The decoded information passes through the CPU to reach the blocks that are actually supposed to perform the required function. In the decoding process, it performs mathematical equations to send the required signal to your system.
This loop repeats itself over and over for every action and command you execute. A processor is an important part of any system, and it works closely with threads. Different processors have different number of threads to limit or increase the performance of your computer.
What is multithreading?
A thread is a small sequence of programmed instructions. Threads are the highest level of code that your processor can execute. They are usually managed by a scheduler, which is a standard part of any operating system.
To create a thread, a process must first be started. Then, the process creates a thread that executes, this can last for a short or long period of time, depending on the process. Regardless of how long a task takes, it feels like your computer is doing many things at once.
Each process has at least one thread, but there is no maximum number of threads that a process can use. For specialized tasks, the more threads you have, the higher the performance of your computer. With multiple threads, a single process can handle different tasks at the same time.
You'll also hear people use terms like "multithreading" and "hyperthreading." Hyper-Threading technology enables a single CPU core to act as two cores, speeding up the execution of a specific program or application.
Even with a single core, it can simulate performance as if you had two cores. The more cores in the processor, the more threads. The more threads you have, the higher the performance of your system.
What is Hyper-Threading
Hyperthreading debuted in 2002 and was Intel's attempt to bring parallel computing to users. This is a bit of a trick, as the OS recognizes threads as separate CPU cores. When you use an Intel Chip, your task manager will show you double the number of cores and treat them as such. This allows them to share information and speed up the decoding process by sharing resources between cores. Intel claims this technology can increase performance by up to 30%.
How do processor cores and threads work?
Processor cores are hardware. They do all the hard work. Threads are used to help the processor perform many parallel tasks more efficiently at the same time. If the CPU is not hyper-threaded or multi-threaded, tasks will be scheduled less efficiently, forcing it to work harder to access information that is important to running certain applications.
One core can work on one task at a time. Multiple cores will help you run different applications more smoothly. For example, if you plan to run a video game, it will need multiple cores to run it, while other cores can run background applications like Skype, Spotify, Chrome, or something else. Multithreading only makes processing more efficient. This will, of course, increase performance, but also make the processor consume more power, but since multithreading is already built into the chips, this is not a cause for concern. Although the processor consumes more power, it rarely causes the temperature to rise.
In short, when you're considering an upgrade, more threads mean better performance or better multitasking, depending on what apps you're using. If you use multiple programs at the same time, it will definitely increase your productivity.
Multicore
Initially, processors had a single core. This meant that there was one CPU per physical processor. To increase performance, processors are replaced with models with a larger number of "cores", or additional central processors are added, if this possibility is provided by the manufacturer. A dual-core processor has two CPUs, so it appears to the operating system as two processors. For example, a processor with two cores can run two different processes at the same time. It speeds up your system because your computer can do several things at once.
Unlike multithreading, there are no tricks involved - a dual-core CPU literally has two CPUs on a CPU chip. A quad-core processor has four CPUs, an octa-core CPU has eight CPUs, and so on.
This helps greatly improve performance while keeping the physical CPU small enough to fit into a single socket. There should be only one CPU socket with one CPU module, not four different CPU sockets with four different CPUs, each requiring its own power, cooling and other hardware. Latency is lower because the cores can exchange data faster because they are all on the same chip.
Windows Task Manager shows this clearly. Here, for example, you can see that this system has one actual processor (socket) and four cores. Multithreading makes each core look like two CPUs to the operating system, so it shows 8 logical processors.
Conclusions
Basically, more cores and more threads will always mean better performance. Some performance-oriented applications, such as video editing, will benefit more from multiple threads.
If your workload includes intensive tasks such as: working with loaded databases, analytical tasks, video editing, then multi-threaded processors are a must for you. Both Intel and AMD provide a variety of multi-core, multi-threaded processors for both workstations and small and large enterprise servers.
How can we help?
The Server Solutions company sells Dell PowerEdge R760 and Dell PowerEdge R760xs servers throughout Ukraine, among our customers are small, medium and large businesses. If you or your company needs advice and the purchase of high-quality server equipment, then you should contact us.