Anders Johansson
On Saturday 24 January 2004 20:40, Alexandr Malusek wrote:
Yes, but some instructions break the simultaneous execution of two "streams" of instructions in the CPU. If for instance a multithreaded application is optimized for HT, then these collisions are rare and both threads run at "full" speed. In my case, these collisions are frequent and therefore only one stream runs at full speed, the other is blocked.
But surely HT isn't fully dual core?!
Yes, the CPU isn't fully dual core. Actually, it's a single core but some execution units may work in parallel. Anyway, the description above is oversimplified.
I was led to believe that HT meant that when one thread was blocking for I/O, another thread could use the idle CPU cycles while the first thread completed, thus increasing the CPU utilization
HT is much more than that, see e.g. http://www.intel.com/technology/hyperthread/download/25000802.pdf This document doesn't contain the marketing rubbish and is easy to read and understand.
I'm not an expert in CPU design so
Neither I. I just read the document above several years ago. -- A.M.