Near the end of .NET Rocks show #582 Richard Campbell explains hyperthreading in such a way that I feel like a hardware expert.
The guest, Scott Hanselman, has a 6 core hyperthreaded processor, which shows up at 12 cores in Windows Task Manager. How many cores does this CPU actually have?
Richard: You have six, with six brain-damaged cousins. And sometimes you can hand the cousin, "Here, eat this, while I'm doing the real work." And everything is fine. But once in a while he chokes. And then the brother actually has to pat him on the back to get him cleaned up.
Carl: He's gotta do the Heimlich on his cousin.
Richard: That's exactly what happens. When the pipeline drains, it is the Heimlich. You are barfing 64-bits of instructions out of the core.
Now I know, and will never forget (no matter how hard I try), how hyperthreading works.