Why does hyperthreading increase CPU performance?

562 views

I am not able to get this.

Lets say that 1 cpu core takes 1 second to do 1 operation and it requires full focus on that 1 task to finish it in 1 second. So, in this case a 4 core cpu will do 4 operations per second. How does hyperthreading increase it to 5 or 6 tasks per second.

Where is the extra power coming from?

In: Technology

6 Answers

Anonymous 0 Comments

>it requires full focus on that 1 task to finish it in 1 second

This just isn’t true of modern CPUs.

Modern CPU design involves the use of what are known as “execution units.” The CPU decodes each instruction and dispatches it to be executed to an execution unit and while it is being executed, which might take a few cycles, it starts handling other instructions, and uses some complex logic to make sure that the new instructions aren’t dependent on old instructions.

So integer addition is performed by the integer addition module, memory reads and stores performed by the read store module, floating point additions by that module, etc. And each core has multiple of these modules, so that it can do multiple say floating point additions at the same time.

So what simultaneous multithreading (hyperthreading in Intelspeak) does just make it so that each core has two of these “instruction decode, dispatch, and register file” units attached to each “execution engine.” So they share the same execution engine, and if some modules aren’t used like say one process isnt doing floating point additions and the other is, everything works out, there are free execution units for floating point additions so the two threads can share the same execution unit.

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