While I was going through one of the forums, I found out that someone had a difficulty in understanding how exactly a processor works as a multi-core processor. I will try to elucidate this in a simpler manner.
Intel has the propriety of hyper-threading technology. In this system, we can make a single core processor to virtually work as a multi-core processor. That is, the single processor gets split into two and then both share the workload simultaneously as instructed by the operating system. Now for this to work, the operating system which can command two processors should be present on the machine. Thus, they need operating systems which are specially designed for commanding two cores and if not present, using HTT should be avoided. Not all the processors of Intel are HTT implemented but here are the few which are – Atom, Pantium4, Titanium, Xenon, i3, i5, and i7.
How does it actually work?
In this process, certain sections of the processor are duplicated or virtually reproduced but at the same time, the main execution resources are maintained the same. Thus, the processor appears as not one but ‘two’ logical processors. What this helps in is that, now the operating system can schedule two tasks or programs or processes knows as ‘threads’ simultaneously. Thus when the main execution resources (which are common to both) are not being used by one processor, then they might be used by other. This increases the overall performance of the machine.
The tool that OS uses to deal with hyper-threaded processors is the scheduler. And if the scheduler is not programmed accordingly, there’s practically no point in using hyper threaded processors. For instance, lets assume that a machine has two hyper threaded processors (p1 and p2), which makes it to a total of four logical processors (say, p11, p12 and p21, p22). These 4 logical processors can now share the work and act simultaneously. but an unprogrammed OS may treat both the processors to be one. In such a case, both ‘logical’ processors of the same processor (p11, p12) may be scheduled to do the entire task leaving the other processor idle. This will make the system performance poorer. So the correct OS is important.
Some of the performance characteristics of HTT enabled processors are:
Much less response and reaction time and support to multi-threaded programs
30% enhancement in the performance is seen in a HT processor compared to other identical processor without HT.
Some have said that even a P3 HT enabled processor can leave behind a P4 in execution processes.
However the tech has some issues regarding more power consumption and increase in cache thrashing and the tech being application specific.
I have tried to elucidate HTT in as simple words as I could, I hope you get your doubts cleared with this.