¿Cómo funciona Hyper Threading en los procesadores Intel Core i7?

Componentes / ¿Cómo funciona Hyper Threading en los procesadores Intel Core i7? 4 minutos de lectura

Has escuchado el término Hyper-Threading muchas veces. Se supone que es una tecnología mágica que duplica la velocidad de su procesador una vez que está habilitado. Las empresas pueden encenderlo o apagarlo y cobrar mucho más como una prima.



Me gustaría decir que todo eso es una completa tontería y que este artículo tiene como objetivo educarlo para comprender mejor qué es Hyper-Threading. Este artículo será muy amigable para los novatos.

Prefacio

En los viejos tiempos, si Intel o AMD tuvieran que hacer una CPU más rápida, generalmente aumentarían la cantidad potencial de transistores encogiéndolos y colocando más en el mismo espacio y tratando de aumentar sus frecuencias (medidas en MHz / GHz). Todas las CPU solo tenían un núcleo. Las CPU se convirtieron en 32 bits y podían manejar una RAM de hasta 4 GB. Más tarde se trasladaron a CPU de 64 bits que podían manejar saltos de RAM de más de 4 GB. Luego, se decidió utilizar múltiples núcleos y distribuir las cargas de trabajo entre estos múltiples núcleos para una informática más eficiente. Todos los núcleos se comunican entre sí para distribuir cualquier tarea. Se dice que esta tarea es una tarea de varios subprocesos.



Partes de una CPU



Una CPU consta de las siguientes partes que funcionan en armonía. Como se mencionó anteriormente, esto va a ser una simplificación excesiva. Este es simplemente un curso intensivo y no tome esta información como la palabra del Evangelio. Estas piezas no se enumeran en ningún orden en particular:



  • Programador (en realidad a nivel de sistema operativo)
  • Fetcher
  • Descifrador
  • Núcleo
  • Hilo
  • Cache
  • Controlador de memoria y E / S
  • FPU (unidad de coma flotante)
  • Registros

Las funciones de estas partes son las siguientes

El controlador de memoria y E / S gestiona la entrada y salida de los datos hacia y desde la CPU. Los datos se llevan desde el disco duro o SSD a la RAM, luego los datos más importantes se llevan a la caché de la CPU. El caché tiene 3 niveles. Por ej. el Core i7 7700K tiene una caché L3 de 8 MB. Esta caché es compartida por toda la CPU a 2 MB por núcleo. Los datos de aquí son recogidos por la caché L2 más rápida. Cada núcleo tiene su propia caché L2, que es de 1 MB en total y 256 KB por núcleo. Como el caso del Core i7, tiene Hyper-Threading. Cada núcleo tiene 2 subprocesos, por lo que esta caché L2 es compartida por ambos subprocesos. La caché L1 en total es de 256 KB a 32 KB por subproceso. Aquí los datos ingresan a los registros que son un total de 8 registros en modo de 32 bits y 16 registros en modo de 64 bits. El SO (sistema operativo) programa procesos o instrucciones para el subproceso disponible. Como hay 8 subprocesos en un i7, cambiará ay desde subprocesos dentro de los núcleos. Los sistemas operativos como Windows o Linux son lo suficientemente inteligentes como para saber qué son los núcleos físicos y qué son los núcleos lógicos.

¿Cómo funciona Hyper Threading?



En una CPU tradicional de varios núcleos, cada núcleo físico tiene sus propios recursos y cada núcleo consta de un único hilo que tiene acceso independiente a todos los recursos. Hyper-Threading implica 2 (o en casos raros más) subprocesos que comparten los mismos recursos. El planificador puede cambiar tareas y procesos entre estos subprocesos.

En una CPU tradicional de múltiples núcleos, el núcleo puede 'estacionarse' o permanecer inactivo si no tiene ningún dato o proceso asignado. Este estado se llama inanición y se resuelve de manera saludable mediante SMT o Hyper-Threading.

Núcleos físicos vs lógicos (y qué son los hilos)

Si lee la hoja de especificaciones de casi todos los Core i5, notará que tiene 4 núcleos físicos y 4 núcleos lógicos o 4 subprocesos (Coffee Lake i5s tiene 6 núcleos y 6 subprocesos). Todos los i7 hasta 7700K son 4 núcleos y 8 hilos / núcleos lógicos. En el contexto de la arquitectura de CPU de Intel, los subprocesos y los núcleos lógicos son lo mismo. No han cambiado el diseño de su arquitectura desde la primera generación de Nehalem hasta hoy con Coffee Lake, por lo que esta información se mantendrá. Esta información no será suficiente para las CPU AMD más antiguas, pero Ryzen también ha cambiado mucho su diseño, y sus procesadores ahora son similares en diseño a los de Intel.

Ventajas de Hyper Threading

  • Hyper-Threading resuelve el problema de la 'inanición'. Si un núcleo o subproceso está libre, el programador puede pasarle los datos en lugar de que el núcleo permanezca inactivo o esperando a que fluyan otros datos nuevos a través de él.
  • Se pueden realizar cargas de trabajo mucho más grandes y paralelas con mayor eficiencia. Como hay más subprocesos para paralelizar, las aplicaciones que dependen en gran medida de varios subprocesos pueden impulsar su trabajo de manera significativa (aunque no el doble de rápido).
  • Si está jugando y tiene algún tipo de tarea importante ejecutándose en segundo plano, la CPU no tendrá problemas para proporcionar marcos adecuados y ejecutar esa tarea sin problemas, ya que puede cambiar recursos entre subprocesos.

Desventajas de Hyper Threading

Las siguientes no son muchas desventajas, más bien son más inconvenientes.

  • Hyper-Threading necesita implementación desde el nivel de software para aprovechar. Aunque se están desarrollando más y más aplicaciones para aprovechar múltiples subprocesos, las aplicaciones que no aprovechan ninguna tecnología SMT (Multi-Threading simultáneo) o incluso múltiples núcleos físicos se ejecutarán exactamente igual independientemente. El rendimiento de estas aplicaciones depende más de la velocidad del reloj y el IPC de una CPU.
  • Hyper-Threading puede hacer que la CPU genere más calor. Esta es la razón por la que los i5 solían tener una frecuencia mucho más alta que los i7 porque no calentaban tanto porque tienen menos hilos.
  • Varios subprocesos comparten los mismos recursos dentro de un núcleo. Por eso el rendimiento no se duplica. En cambio, es un método muy inteligente para maximizar la eficiencia y aumentar el rendimiento siempre que sea posible.

Conclusión

Hyper-Threading es una tecnología antigua, pero llegó para quedarse. A medida que las aplicaciones se vuelven cada vez más exigentes y la creciente tasa de mortalidad de la ley de Moore, la capacidad de paralelizar las cargas de trabajo ha ayudado a mejorar el rendimiento de manera significativa. Poder ejecutar cargas de trabajo parcialmente paralelas ayuda a aumentar su productividad y hace que su trabajo sea más rápido sin tartamudear. Y si está buscando comprar la mejor placa base para su procesador i7 de séptima generación, eche un vistazo a esta artículo.

#AvanceNombreNVIDIA SLIAMD CrossFireFases de VRMRGBCompra
1 Fórmula 9 de ASUS 10

Consultar precio
2 MSI Arsenal Gaming Intel Z270 10

Consultar precio
3 MSI Performance Gaming Intel Z270 11

Consultar precio
4 ASRock Gaming K6 Z270 10+2

Consultar precio
5 GIGABYTE AORUS GA-Z270X Gaming 8 11

Consultar precio
#1
Avance
NombreFórmula 9 de ASUS
NVIDIA SLI
AMD CrossFire
Fases de VRM10
RGB
Compra

Consultar precio
#2
Avance
NombreMSI Arsenal Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
Fases de VRM10
RGB
Compra

Consultar precio
#3
Avance
NombreMSI Performance Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
Fases de VRM11
RGB
Compra

Consultar precio
#4
Avance
NombreASRock Gaming K6 Z270
NVIDIA SLI
AMD CrossFire
Fases de VRM10+2
RGB
Compra

Consultar precio
#5
Avance
NombreGIGABYTE AORUS GA-Z270X Gaming 8
NVIDIA SLI
AMD CrossFire
Fases de VRM11
RGB
Compra

Consultar precio

Última actualización el 2021-01-05 a las 22:02 / Enlaces de afiliados / Imágenes de la API de publicidad de productos de Amazon