Creo que estay confundiendo el HyperThreading con la Segmentación. El HyperThreading (nombre de Intel) es lo que todo el mundo conoce como threads hardware (En cada core se replica el numero de los registros y las unidades de control, pero no las ALUs o FPs [hay que tener en cuenta que hay que sincronizar datos y esto ya de por si es relativamente costoso]). Mientras que la Segmentación (viene de la arquitectura ARM) lo que hace es un pipeline con las instrucciones (antes de que una acabe entra otra [el problema es que si en algún momento ejecuta una instrucción que no debía, hay que revertir el proceso hasta cierto punto y cargar la instrucciones que buena]).
No, si equivocar, me puedo equivocar unas cuantas veces... xD
Lo que pasa es que para explicar el Hyperthreading hay que explicar primero la segmentación. Sin segmentación y fallos de predicción, no podemos precargar en otro hilo una instrucción a la espera del fallo de predicción.
Todos los procesadores se equivocan cuando predicen, con lo que tienen que vaciar todo su pipeline y volver a llenarlo. Por eso, cuanto menos segmentado este el pipeline del procesador menos tiempo perderá, y cuanto mas segmentado este mas penalizara este vaciado y llenado de pipeline.
Con Hyper Threading se evita esto, ya que permite al procesador ejecutar lo que viene por el otro hilo. Supongamos que un programa es multi-hilo. Cuando se ejecuta un hilo, y el procesador se equivoca al predecir algo en ese hilo, entonces el HT permite al micro en ese mismo momento ejecutar el siguiente hilo por el pipeline mientras corrige el error de prediccion del anterior hilo, asi el micro optimizará su uso para no quedar ocioso.
Todos los micros actuales estan segmentados y todos se equivocan al predecir. La tecnologia HT aumentaria el rendimiento a todos los micros segmentados. A los poco segmentados en menor medida que a los mas segmentados. Permite que los micros segmentados nunca esten sin hacer nada.