What is CPU hyperthreading/multithreading and how does it benefit me?

703 views

What is CPU hyperthreading/multithreading and how does it benefit me?

In: Technology

5 Answers

Anonymous 0 Comments

A lot of time and effort have gone into making CPUs faster by executing instructions in a different order than the program specifies. This is advantageous because different instructions use different parts of the CPU to execute them and they take different amounts of time to run. By reordering instructions and even running some at the same time (if they don’t collide within the CPU) you could improve performance.

At some point the decision was made that these features could be tweaked to let a single CPU run like a dual core CPU, or back in the old days a motherboard with 2 CPUs on it. The downside is that not everything in the core, like the math unit, is duplicated – while the two threads can take turns using it, if they both want it at the same time one thread has to wait just like in the instruction reordering scenario. However in the grand scheme of things it still usually adds up to the CPU doing more work since more parts of it are in use at a time. A CPU doing more work finishes its work faster, etc. That’s good.

Enabling hyperthreading isn’t quite the same as a CPU with double the number of cores, but compared to hyperthreading off when the CPU is running at maximum power you can get most of a doubling of work done. Of course, the usual rules of many CPU cores still applies… If a program can only use 4 cores and you have a 4 core (8 threads) CPU, enabling hyperthreading won’t speed it up.

You are viewing 1 out of 5 answers, click here to view all answers.