A little quibble about the first paragraph: hyperthreads actually do run
truly simultaneously, which is what distinguishes Simultaneous
MultiThreading from Fine Grained MultiThreading. This gives the
additional benefit of being able to use issue slots in a superscalar CPU
that would otherwise be wasted. Of course, if one stalls, you still get
the benefit that the other thread carries on keeping the processor busy.
Since modern x86 CPUs internally use register renaming and figure out
instruction dependencies dynamically, I've always suspected that adding HT
didn't require many (or perhaps any) changes to the middle part of the
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds