Cores, treads and hypertherding

I'm considering using a Intel core 17-3930K Sandy bridge-E for my up coming pulid and not many mother boards support hypertreading so i was wondering, What is hyperthereding? is it worth cuting out a lot of my options for mother boards for it? that lead my to find phisica cores and treads. does anyone know what any of this means if so thanks!

 

all modern (intel) motherboards support hyperthreading, its old OLD 478 and early 775 mobos that didn't

now I don't claim to grasp how hyperthreading works on the hardware level, but here's what I'd like to think how it works since I don't really have to know

cores are your arms and threads are your hands, with hyper threading you have 2 hands per arm

As long as the board is X79, and not from Foxconn, then it supports hyper-threading. Basically, the only boards that don't support hyper-threading are older ones for socket 1155 and 1156. Hyper-threading is where, on a semi-hardware, semi-software level, where a single core acts like 2 cores, giving you two threads for multi-threaded apps, which act like 2 cores, as aforementioned.

My knowledge on cpus isnt great at best, but to my understanding hyper threading simply begins fetching the next set of instructions into each cpu core before it's finished executing the the previous, where a normal cpu will 1.fetch, 2.decode, 3.execute and 4.store(into ram) then begin another task, hyperthreading is doing two of these steps at a time, the outcome is about a 30% increase in per core performance.

What you're thinking of is called a multiscalar architecture. Each of those steps can be done on a separate instruction each cycle, and that applies to pretty much any CPU in the last 20 years. Hyperthreading is a bit more complex, but overly simplified, it allows two threads to shove their instructions into the pipeline at the same time, rather than just one.

Your absolutely right, i just read this: http://www.overclock.net/a/hyperthreading-explained

But i still don't know what core or treads are?!?!?!?!

 

A core is a physical unit; it is actually on your CPU. Threads are the, let's say, roads that the instructions and results are "transfered" on, between the software, and hardware. Basically, an application uses these threads to do things; if the application supports multiple threads, than by using a CPU with more than 1 core will offer better performance in that application. Hyper threading basically doubles the amount of threads usable. For the 3770k (and AMD 8350 "8" core), there are only 4 cores. Without hyperthreading, it would have 4 threads to work on. When you enable hyperthreading (can't just be any CPU; it is semi-hardware, semi-software; the CPU has to be made to do it), you allow each core to act as 2 cores, where it virtualizes a second thread to work on. While a 3770k 4-core (quad-core) won't perform the same as an 8-core (Octo-core) Intel Xeon in multi-threaded apps, when hyper-threaded, a 3770k will offer (in some cases) significant increases in performance over the 3570k.