Hyperthreading Guide - Laserbeam31 Electronics and Computing
home menu IT - Hardware IT - Software Inventions Tech Guides About

Hyperthreading Guide - 19/05/17

Hyperthreading was developed by Intel and released in its Xeon processors in 2002 as a means of improving the efficiency of CPUs when doing parallel tasks (eg: multitasking within Windows). Hyperthreading is now included by default in many modern CPUs.

The main idea behind hyperthreading is the creation of multiple virtual processor cores. For example, if a processor has one core, two virtual cores are created and the workload shared between them as evenly as possible likewise a two (dual) core processor will have four virtual cores created for its workload. What hyperthreading essentially creates is a situation where multiple instructions are carried out in one cycle of the processor; time at the end of a cycle operation when the instruction has executed which would normally be wasted is instead used for another instruction. Such an approach is called superscalar architecture and is notably not the same as having multiple physical cores even if that is how it appears to a computer's operating system.

Another advantage of hyperthreading is that if two processes are allocated one sector, or thread of the processor and one of them cannot be carried out at a given point, perhaps owing to lack of system resources or another incomplete process upon which it depends, then rather than the thread being inacsessible for the rest of that cycle, another process which has been allocated the same thread can still utilise it.

hyperthreading diagram

Above you see a high level diagram (flow chart) of how instructions are sent to a hyperthreaded processor; they are first fetched from the, they are then decoded at the first section (front end) of the processor and sent on to the excecution core which actually carries out the instructions and is, by means of hyperthreading, able to carry out multiple of these instructions in one cycle. (Image from Wikipedia).

Support:

For hyperthreading to work, it must be supported by the CPU, motherboard, and software running on the computer. As I mentioned earlier, any modern processor will include hyperthreading technology, but for that to work the computer's motherboard must also include support and in some cases, when a non-hyperthreading motherboard and a hyperthreaded CPU are paired together the two may not work at all. Sometimes, hyperthreading support is present on both components but has simply been disabled in the system BIOS. If hyperthreading is enabled in the system BIOS but still does not work it could be that the computer's operating system does not include support for hyperthreading, in which case, Intel recommends that the feature be disabled in the system BIOS.

task manager

Above: Despite what Windows task manager may show, hyperthreading is not the same as multiple physical processor cores.

Back to Top