I’ve noticed some misinformation about HyperThreading and how it works so I’m going to attempt to explain it. In doing so I tradeoff simplicity for a bit of accuracy but I think it’s a reasonable summary.and this may affect your buying decision too(i5 or i7)
HyperThreading.. What is it?
Basically, HyperThreading is just Intel’s marketing term for their implementation of Simultaneous Multi-Threading (SMT, for short)…..SMT literally means executing two threads simultaneously on a single processing core…..In reality, the name SMT is used mostly for historical reasons as two threads never actually execute simultaneously on the same hardware.. However, HyperThreading (referred to as HT from here on) will switch between threads quickly enough that the illusion is that they are running at the same time..
A processor spends most of its time being idle(doing nothing) and hence there is room for improvement…so what ht does is between the execution of particular instructions if there r lapse between processing times then those idle times r made use of in initiating new tasks and providing them that idle time as working time hence.. the cpu spends almost all its time doing something instead of sitting idle.. this in most cases improves performance!
Virtually there are no drawbacks of HT but its applicability and effectiveness can vary depending on these following factors:
- Operating system/Operating environment.
- Application’s way of handling threads.
- CPU architecture’s maturity.
Now i would explain the phenomenon in an analogous manner taking the following example:
Take a highway(single lane) as an example.. this highway is your processor pipeline.The vehicles(cars for simplicity) are the data/instructions being executed.
Now taking these 2 assumptions in mind.. we see that if we add another lane here..although still keeping the total width of road same(its analogous to same core but 2 threads)it will then optimize the traffic and allow more cars comparatively to pass through it…but of course it wont be as effective as adding a full fledged lane by doubling road width.
I hope I was able to convey the message to all in an easily understandable way.
That sums it up(forgive me if I left anything.. you guys are free to suggest any left out point).