3 ms·
You seem to be confusing SMT (the formal term for hyperthreading) with superscalar. It's superscalar (and out-of-order which builds on it) which works by using
by cesarb 5y ago
You seem to be confusing SMT (the formal term for hyperthreading) with superscalar. It's superscalar (and out-of-order which builds on it) which works by using multiple ALUs in parallel when possible. SMT then builds on that by allowing the unused ALUs to be used by other thread(s). If a single thread was simply using the same ALU over and over again, you'd have a large additional performance gain from SMT, since all the other ALUs would be available for the second thread.
- water8 5y agoWhat if the 2nd thread also needed the same ALU? What if the threads require synchronization and instructions cant be reordered? In both cases you would get no performance gain. Were talking about the same thing though which is effectively using parts of a core more efficiently when possible.