What is Hyper-Threading?
Every time you look at laptop’s specification, you would have noticed it is mentioned Core i5 with Hyper-Threading; and then you scratch your head and think what is this Hyper-Threading exactly? We have got it covered for you in a simple language. Just make sure to read the whole post and you will understand what is Hyper-Threading; for whom Hyper-Threading beneficial; and also which kind of tasks are made easier with Hyper-Threading Technology.
Hyper–Threading is a technology used by some Intel microprocessors that allows a single microprocessor to act like two separate processors to the operating system and the application programs that use it.
About Hyper-Threading Technology
Hyper-Threading, which is abbreviated as HT or HTT is Intel’s own proprietary simultaneous multi-threading (SMT) implementation for doing multiple tasks at once on x86 based processors. Initially, Hyper-Threading was started by Intel in the year 2002 on Xeon Server Processors and then further included it in Atom and Core I Series CPUS
In the past, at the time when there were old microprocessors i.e CPUs, they had various different units inside them. The ones who have did any computer basic course or have knowledge about hardware would be knowing about this. If you don’t know, don’t worry. Inside a CPU there are units such as ALU (Arithmetic and Logic Unit) which does all the logical and arithmetical tasks, CU (Control Unit) which decides which units have to work, FPU (Floating Point Unit) , MMU (Memory Management Unit) and much more. What CPU does it that it fetches instruction, then decodes it followed by the utilization of required units to do the task. This goes on in a cycle.
As a result of this if you closely look at the traditional methods you would come to know that; even if the CPU has many Units, when it is running an task or set of instruction, most of the units are idle. Eg: When an instruction deals with integers only, the ALU is used and other units mentioned above are idle. So they came up with an technology named as Superscalar. However, we don’t have to discuss about superscalar. But I would say that even that Superscalar technology had a drawback because there were some situations where more than one instructions needed a same unit or even the second instruction needed the result of the first one. Even there were problems of cache invalidation.
How Hyper-Threading Works?
But now as we moved further and the technology evolved, and we got using dual and quad core processor in our daily lives. The Even operating system started supporting multi-processing which was a common problem. Various enhancements went on into a multi user and multi-core systems and behold the Super-scalar System was removed and reconfigured into CPU to pretend that they have two cores.
Now you might have a question that why does we need to pretend Operating system that we have two core? See, when the operating system senses that there two CPU cores, it orders them to execute two separate programs at the same time. Two set of instructions from different programs are fed to it at the same time. But we have only one core. Boom! That’s when Hyper-Threading dives in as a savior for us.
Now think, when instructions are fed to the same single core, it make the core to utilize all the different units at the same times. You might say that this is like Superscalar but no its not, because earlier there were only instructions from one and only one program but now as the technologies as progressed and the operating system supports multiple processing power, the instructions are different and don’t rely on each others result to be processed. As a result of this the all of units keep on working which in earlier case were always idle. There is decreased chance of two instructions using same units as two programs mostly have different set of instructions to be performed.
Hyper-Threading in Simple Words
I am very sure that many people who are new and have no knowledge about such things would not have understood what I meant to say at the earlier stage, as a result, I am going to explain it to you in a simple language with an example.
Suppose you have a vessel in which you can boil sweet potatoes. Remember that the flame is constant. In that vessel, you can keep one sweet potato and it takes you 20 seconds for boiling. And after boiling in order to empty the vessel you need another 2 seconds. Like this, you have to boil 200 such sweet potatoes. Now, the total time which you will need to boil 200 such potatoes would be 200*(20+2) viz. 4400 seconds.
Let’s change the condition, suppose you divide the container into two parts, remember the phrase we are dividing the container into parts. So now, at one time you can boil two sweet potatoes with the same amount of time as the heat is same in the vessel as we have just divided the vessel into two compartments. On every 2 sweet potatoes, you take 20 seconds and other additional 2 seconds for removing it. Now, the total time would be 2200 seconds. As you can see that just by dividing the vessel you were able to boil two sweet potatoes at once and save time.
That’s what exactly happens in Hyper Threading, we cook two sweet potatoes in one container and thereby decrease our waiting time.
Hyper Threading by Intel
According to Intel, Hyper-Threading increases the performance of your processor cores. With HT you can you can perform more task in the same amount of time. It’s like going from a one lane highway to a two-lane highway. It allows each core to accomplish two things at once. Applications to run faster.
Yes, you can somewhat disagree on just how wonderful HT is but it is like a knife with sharp edges. So, at some rare times, the edges may hurt you itself. Hyper Threading does not provide extra copies of all resources, they are mainly portioned. As a result of this, at rare times it can make programs slower instead of making them faster. Suppose you are running many programs on a single processor, you might think that your processor does it faster but you should know that being with a less number of cores it has to process a number of instructions which cause heavy usage of all the CPU threads/units.
Answer to Normal FAQs
Does Hyper-Threading mean double the no of the processor?
No Hyper Threading doesn’t mean double the no of the processor. We are still doing the work on execution on one single physical/ the physical no of cores your processor has. We just logically divide the physical processor into two by sharing the resources keeping one PHYSICAL core.
Can we compare two core processor with a Single Core Processor with Hyper Threading?
No, you cant compare them both because more physical cores have its own advantage. But Single core with Hyper Threading is always better than Single Core without Hyper-Threading.
Who all are/ what kind of tasks are benefited from Hyper Threading?
Always keep in mind that Hyper-Threading is best suited with operations, instructions, and tasks which can be managed intelligently and effectively giving no idle time for your processor. Heavy Application usage, 3D Rendering, Video Editing are great examples of where Hyper-Threading works. Here it pushes all the things onto core, browser and light tasks onto one core and the other applications like games and other stuff to other cores.
On the other side, the instructions or tasks which are required to be done serially, or when one task has to take place before one can begin arent benefited by Hyper-Threading much.
Are the heat output and power consumption less if you compare a Hyper-Threading Dual Core Chip with a Quad Core Chip?
Yes, technically the power consumption and heat output would be less with a dual core chip than a Quad Core Chip. But more no of physical cores are beneficial always. So you can say even if they use less power and give less heat, the benefits of Quad Core outweigh them.
FACTS About Hyper-Threading
- Hyper-Threading causes Performance improvements by 60%, versus 25% for Superscalar.
- You have two logical cores for every physical core with Hyper Threading; each Logical core is 80% of a real core. Each core with Hyper Threading is more than 1.5 real cores.
I hope that by now, you have really understood what is Hyper-Threading exactly. If you still have any doubts feel free to ask them in the comments below. I would definitely clear them out. Thanks for reading.
Subscribe To Our Newsletter
Join our mailing list to receive the latest news and updates from our team.