¿Qué es físicamente diferente entre una CPU hyperthreaded y una CPU no hyperthreaded idéntica?

En el nivel más básico,

Un montón de instrucciones en el microprograma de la CPU que le indica que busque instrucciones de 2 ubicaciones de memoria cada reloj alterno.

Una CPU estándar obtiene la secuencia de instrucciones de una secuencia de instrucciones. Solo trata con un flujo de control. En Hyperthreading (o cualquier tipo de subprocesamiento múltiple), el núcleo de la CPU se presenta como múltiples núcleos y obtiene instrucciones de múltiples flujos de instrucciones. Existen múltiples flujos de control que operan en paralelo sobre la CPU, ejecutando 2 o más programas en paralelo. En los procesadores Intel ejecutan 2 subprocesos, algunos modelos de IBM corrieron 4, los procesadores AMD FX hacen 2 e incluso tienen grupos de ALU separados para cada subproceso. Y hasta el núcleo de tercera generación, Intel tenía colas de decodificación separadas y estaciones de reserva. La implementación real varía, pero el principio básico es solo eso: obtener dos (o más) secuencias de instrucciones en ciclos de reloj alternos. Podría contarte más, pero luego tendría que matarte 😉

La versión hyperthreaded tiene menos defectos de fabricación.

Si está interesado en cómo son diferentes en cuanto al rendimiento, una CPU con hyperthreading puede ejecutar dos subprocesos por núcleo, en lugar de solo uno. En teoría, esto puede duplicar el rendimiento, pero en la práctica, obtendrá ganancias de +/- 20% para una aplicación con muchos subprocesos. Tenga en cuenta el signo menos: en algunas aplicaciones, hyperthreading en realidad reducirá el rendimiento.

Estoy totalmente de acuerdo con las respuestas anteriores.

Solo puedo agregar que en realidad hay un nivel más con procesadores hiperprocesados ​​en puente que permiten dividir la misma instrucción entre 2 o 4 subprocesos.

Son los mismos factores físicos entre hyperthread y CPU sin hiperprocesos. La tecnología Hyperthread se implementó en el procesamiento de instrucciones virutal / lógico en la CPU. Simplemente será diferente en el programa en la CPU.

Para más información aquí Hyper-threading