Why do most CPUs only have 2 threads per core?
Why do most CPUs only have 2 threads per core?
Many processors feature one or two threads per core, yet I questioned why more CPUs don’t offer 4c/16t or 8c/32t configurations. Some examples include the IBM POWER9, which has 4 threads per core and appears to be costly, though it raises the question of why larger or specialized CPUs like AMD or Intel don’t adopt a similar design. A note on this: the IBM POWER9 is the only known CPU with four threads per core.
Some x86 processors feature four threads per core in Intel Xeon Phi models. However, most workloads struggle to leverage those threads effectively since they are limited in capability.
Architectural variations. If possible, they would have implemented it. The CPU you mentioned employs a PowerPC instruction set (RISC), whereas x86 uses a CISC architecture, which could significantly impact performance. I lack sufficient technical insight to elaborate further.
Also, the creator and Linus himself made videos about Xeon Phi!
PowerPc is more efficient. Even if it had been designed for x86, SMG wouldn't have performed as well on Wii.
Optimisation typically occurs on the software side instead of the hardware. This applies only when the hardware is built to support a particular software. No.
Well, likely the reasoning comes from historical factors... and because Windows is built to handle two threads per core. The operating system's core would need adjustments, and more sophisticated algorithms would have to be developed to efficiently manage more than two threads per core. It often takes years for new technologies to gain full support—this is evident in the development of Ryzen and Threadripper, which took time for Windows to fully grasp the CCX concept (core complex with chiplets containing four cores and eight threads). There are whispers that AMD plans to enhance the next EPYC server CPU with four threads, potentially reaching up to 64 cores and 256 threads, though it remains uncertain if this will materialize.
Two threads enable the core to handle multiple tasks simultaneously, though this may cause scheduling issues in software.