What is hyperthreading?

or:What is hyperthreading?or:It's a way of making processors run faster. One of the first attempts was pre-emptive multitasking which means that if a

or:What is hyperthreading?


or:It's a way of making processors run faster. One of the first attempts was pre-emptive multitasking which means that if a bit of microcode (the language that processors talk in) is sitting waiting because it needs the result of another bit of microcode (a calculation, say), the processor will work out that there's a dependency and simultaneously (kind of, anyway) process the calculation (even though it's not scheduled until a later bit of code). This saves the clock cycles that would have been wasted by sitting around waiting for it.After that, multithreading came in. Rather than just going to get a pre-emptive calculation, entire processes run in their own threads so the processor can seemingly be doing multiple things at once. When multicore processors came in, the processor actually is doing multiple things at once.Finally, hyperthreading is where a single core is treated as two cores by the OS and work is shared. In practice, several technologies can and do work at once. So a modern quad core processor could be treated as eight cores by the OS and can be multithreading too.The background to this is that we're running out of steam with our current processor technology and so are needing to improve things by adding cores and improving the execution speed.It's a bit like with cars where there are practical limits on engine size and when they are tuned as well as they can be, all other speed increases come from things like making the car lighter or more aerodynamic. That's effectively what hyperthreading is. Aerodynamics for processors.For the next big leap, you'd need a better way of producing power (a nuclear cell?) and it's the same with processors. We will one day abandon copper and develop optical, quantum or some other kind of processor.

Tags: