0

So, this semester I have a subject about operating systems, and I don't understand so much yet about Hyper threading. I searched internet but what I found are almost the same things (I don't know if I searched with the wrong terms).

Here are the sources I found:

https://www.dasher.com/will-hyper-threading-improve-processing-performance/;

Hyper-threading Performance Comparison;

Why does hyper-threading benefit my algorithm?;


But, my question is not about HT in differents languages or how I can analyse with/without but how this was implemented at the hardware level.

How does HT comunicate with main memory (ALU, registers..), cache and others devices. Where can I find something about this?

And finally I want to compare HT to parallelized processes. How does parallelism take advantage of hyper threading?


So guys if you know about a book or site that can help me, please share here.

Thanks,

Community
  • 1
  • 1

1 Answers1

1

Modern hyperthreading is implemented in a very clever way.

Think about a dual-core processor for a minutes. It has two cores, each of which has registers, caches with mechanisms to access memory, and a collection of execution units to perform various integer, floating point, and control operations.

Now imagine that instead of each core having its own collection of execution units, the two cores just share one pool of execution units. Either core can use, say, a floating point multiplier so long as the other core isn't using that same execution unit. If one core needs an execution unit that is used by the other core, it will have to wait, just as it would have to if that execution unit was used by an overlapping instruction executed by that same thread.

David Schwartz
  • 179,497
  • 17
  • 214
  • 278