At first, we had single core CPUs. These CPUs were clocked at a certain speed and could deliver performance at that particular speed. Then came the age of CPUs with multiple cores. Here, every individual core could deliver its own speed independently. This exponentially increased the power of a CPU and thereby increased the overall performance of the computing device. But the human tendency is to always look out for even better. Hence, multithreading was introduced which slightly increased the performance – but then came Hyper-Threading. It was first introduced in 2002 with Intel’s Xeon Processors. With the implementation of hyperthreading, the CPU was always kept busy with the execution of some task.
It was first introduced with Intel’s Xeon chip, and then it made an appearance to the consumer based SoCs with the Pentium 4. It is present in Intel’s Itanium, Atom as well as Core ‘i ‘ series of processors.
What is Hyper-Threading
It is like making the waiting time or latency for the CPU to switch from one task to another being negligible. It allows each core to process tasks continuously without any wait time being involved.
With Hyperthreading, Intel aims to bring down the execution time of a particular task for a single core. This means that a single core of a processor will be executing multiple tasks one after the other without any latency. Eventually, this will bring down the time taken for a task to be executed fully.
It directly takes advantage of the superscalar architecture in which multiple instructions operate on separate data are queued for processing by a single core. But for this, the operating system must be compatible too. This means that the operating system must support SMT or simultaneous multithreading.
Also, according to Intel, if your operating system does not support this functionality, you should just disable hyperthreading.
Some of the advantages of Hyperthreading are-
- Run demanding applications simultaneously while maintaining system responsiveness
- Keep systems protected, efficient, and manageable while minimizing the impact on productivity
- Provide headroom for future business growth and new solution capabilities
Summing up, if you have a machine that is used to pack some box, the packing machine has to wait after packing one box until it gets another box from the same conveyer belt. But if we implement another conveyer belt that serves the machine until the first one fetches another box, it would boost the speed to pack the box. This is what Hyperthreading enables with your single core CPU.
NOTE: The article has been reviewed & edited on 28th December 2018.