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 in 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.
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 the number of instructions which cause heavy usage of all the CPU threads/units.
Answer to Normal FAQ’s
- Does Hyper-Threading mean double the no of the processor?
No HyperThreading 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 can’t 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 for 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 aren’t benefitted 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 is 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 and each Logical core is 80% of a real core. Each core with Hyper-Threading is more than 1.5 real cores.
- Hyper-Threading CPUs have a collection of duplicated hardware ‘’ Support Resources’ around a single hardware execution unit to make that single execution look like a dual-core processor.
Missed the Part one? Check it here