[SOLVED] Difference between cores and threads

Solution
A CPU core is a set of structures that work together to execute instructions.

A multi-threaded core (Simultaneous Multi-Threading or SMT) is a core capable of executing instructions from two or more different instruction flows whereas a single-threaded core is limited to working on a single flow at a time.

The reason why modern CPUs have SMT is because CPUs have various execution units specialized in a subset of the entire instruction set and it is nearly impossible to keep all execution units busy with the typical instruction mix of a single thread. By letting the CPU work on multiple threads at a time, more execution resources can be kept busy doing useful work more of the time and overall throughput increases.

Back in the Pentium...

InvalidError

Titan
Moderator
A CPU core is a set of structures that work together to execute instructions.

A multi-threaded core (Simultaneous Multi-Threading or SMT) is a core capable of executing instructions from two or more different instruction flows whereas a single-threaded core is limited to working on a single flow at a time.

The reason why modern CPUs have SMT is because CPUs have various execution units specialized in a subset of the entire instruction set and it is nearly impossible to keep all execution units busy with the typical instruction mix of a single thread. By letting the CPU work on multiple threads at a time, more execution resources can be kept busy doing useful work more of the time and overall throughput increases.

Back in the Pentium 4 days, Intel claimed that HT/SMT added about 5% to design complexity and power for up to 30% more throughput, which makes it one of the most cost-effective and efficient trick in recent history.
 
Solution