ProcesadoresTutoriales

SMT: Diferencias de los núcleos lógicos entre CPU de Intel y AMD

Seguro que cuando has ido a comprar un procesador te has encontrado que este tiene ‘x’ núcleos e ‘y’ hilos de procesamiento. La realidad es que los núcleos y los SMT, también denominados hilos de procesamiento, no son lo mismo, aunque tienen bastantes cosas en común.

Qué es SMT

tecnologia smt procesador

Normalmente los software suelen contener una serie de subprocesos que normalmente están pensados para reducir el tiempo de posibles próximas tareas. Estos subprocesos de un software, en lo concerniente al procesador, son una serie de instrucciones que el software usa para hacer lo que quiera que haga el software.

Pero en las especificaciones de los procesadores, los hilos hacen referencia a los subprocesos en el hardware. Estos hilos en el hardware están integrados en el diseño del propio procesador y reciben el nombre de SMT (Simultaneos Multi Threading)

Los subprocesos del procesador contienen información crucial sobre un subproceso de software que se requiere para que el núcleo pueda ejecutar el subproceso del software. Realmente el SMT del procesador no realiza ningún tipo de trabajo. Estos únicamente tienen información y será el procesador quien tenga que realizar las operaciones pertinentes.

El número de SMT de un procesador lo que nos dice es la cantidad de subprocesos de software que puede ejecutar un núcleo de manera simultánea. Actualmente los procesadores tienen un SMT por núcleo o bien dos SMT por núcleo.

Normalmente se refiere también a los SMT del procesador con las denominaciones «procesador lógico», «hilos de procesamiento» o «núcleo virtual». Ambas denominación son correctas, ya que es como ve sistema operativo ve a los SMT del procesador. De manera resumida, el sistema operativo elige ejecutar un subproceso de software en un procesador lógico determinado. El subproceso de hardware en un núcleo ejecuta el subproceso de software. Sencillamente este sería el proceso.

Una carretera de dos carriles para la misma dirección permitirá el doble de tráfico y mayores velocidades de circulación que una carretera de tan solo un carril.

Cómo funcionan los núcleos y los SMT

Vamos a suponer que ejecutamos un software, el que prefiráis. Los núcleos de la CPU inician un proceso de búsqueda, decodificación y ejecución del software. Los hilos son una secuencia de instrucciones que le dicen al procesador lo que debe hacer para ejecutar el software.

Los núcleos y los hilos del procesador trabajan de manera «coordinada» sin importar el origen de las tareas a realizar. El procesador será quien decida que procesos van a los núcleos y a los SMT del procesador.

Cuando el procesador carga un nuevo hilo, este se almacena en la memoria principal. Cuando las instrucciones del hilo se han ejecutado, la información se «borra» y queda libre para iniciar un nuevo proceso. El SMT vuelve a estar disponible para obtener, decodificar y ejecutar una nueva tarea.

Todo sobre el diseño interno de los procesadores

Qué aportan SMT

Debemos tener muy claro que en realidad los SMT de un procesador no hacen ningún tipo de tarea de computación. Los SMT mejoran el rendimiento del procesador, pero, ¿cómo lo hacen?

Los SMT del procesador permiten ejecutar dos subprocesos de software en un único núcleo, elevando la carga de trabajo. Actualmente los núcleos de los procesadores son realmente potentes y no tienen problemas para soportar estas cargas de trabajo. Lo que permite esto es mantener a los núcleos activos, vamos, los mantiene con trabajo constante.

Por otro lado, si un software no está pensado para ser operado con Simultaneous Multi Threading, esto puede ser un problema. Lo que obtendremos, en vez de una mejora de rendimiento, tendremos un empeoramiento de rendimiento. Actualmente la mayoría del software se diseña para aprovechar los hilos de los procesadores.

Ventajas de inconvenientes de los SMT

Ventajas

Los SMT en el procesador permiten aumentar la eficiencia sin apenas afectar al tamaño de la matriz y al consumo. Es más, podríamos decir que ayudan al procesador a ser mucho más eficientes. Según indica Intel, con un aumento de la matriz de un 5%, el SMT puede ofrecer hasta un 30% más de rendimiento en cargas de trabajo multiproceso.

Esta mejora de rendimiento teórica dependerá mucho de la optimización del software y de la cantidad de subprocesos que genere.

Inconvenientes

El sistema operativo no deja ver cuando los SMT de procesamiento están habilitados, aunque esto no siempre es malo. Normalmente saber cuando el Simultaneous Multi Threading está habilitado y funcionando es algo superfluo para el usuario. Pero hay un problema y es cuando se trabaja con la planificación de la capacidad de procesamiento o en ajustes de carga de trabajo en tiempo real, si es necesario saber si los SMT de procesamiento están habilitados.

Algunas de las vulnerabilidades detectadas en los últimos años centran sus ataques precisamente en los hilos de procesamiento. Tras estas vulnerabilidades se ha recomendado deshabilitar los SMT completamente. Se temía que se descubrieran nuevas vulnerabilidades en los hilos de procesamiento, como finalmente ha sucedido.

Deshabilitar Simultaneous Muti Threading puede tener un impacto negativo en el rendimiento. Las gamas altas de Intel y AMD tienen tantos núcleos que deshabilitarlos realmente no afecta en exceso. Se puede notar sobre todo en las gamas de entrada y gamas media de procesadores, con un menor número de núcleos.

Tipos de SMT en los procesadores

Intel HyperThreading

Es la denominación que Intel da a los hilos de procesamiento de la CPU. Lo que permite es que cada núcleo tenga dos núcleos virtuales para la paralelización de tareas. Realmente es una denominación que Intel da a los SMT basándose en un diseño de estos que es propio.

intel hilos procesador

AMD SMT

Para diferenciar sus hilos con los de Intel, AMD los bautiza simplemente como Simultaneos Multi Threading (SMT). AMD ha optado por usar el nombre «técnico» de esta tecnología, sin florituras.

Diferencias entre Intel HyperThreading y AMD SMT

Para el usuario y para el software realmente no existe diferencia entre ambas tecnologías. Sencillamente AMD e Intel han realizado una implementación propia de los SMT en la CPU basadas en la patente de Sun Microsystems sobre Multi Threading. Ambas compañías los integran según sus necesidades, provocando que existan pequeñas diferencias entre ambas implementaciones.

El sistema operativo sencillamente verá dos núcleos lógicos para cada núcleo físico (siempre que la CPU tenga dos SMT por núcleo). La asignación se realizara según interprete el sistema operativo, normalmente, empezara por el núcleo (y por lo tanto los SMT) que ofrezcan mejor rendimiento.

Cómo afectan el SMT al gaming

Lo que más te puede interesar, si eres aficionado a los videojuegos, es saber lo que te aportan los SMT. Pues debemos decirte que el SMT para el gaming pueden aportar más bien poco.

Actualmente los motores gráficos sí que están empezando a mejorar el soporte para núcleos lógicos. Todos los procesadores con SMT se verán beneficiados por esta mejora en el soporte. Para juegos clásicos, el Simultaneous Multi Threading de procesamiento no aportan absolutamente nada. Donde más podemos notar los beneficios de los núcleos lógicos es en los juegos de simulación como el Flight Simulator 2021 o similares.

Pero en realidad lo más importante en el gaming actual son los núcleos y la frecuencia del procesador. Los juegos actuales están más optimizados para multinúcleo. Además, se ven beneficiados con frecuencias altas, por eso los procesadores de Intel son mejores en gaming, por sus frecuencias de trabajo.

Palabras finales sobre SMT en los procesadores

La realidad es que para el usuario doméstico y para el aficionado a los videojuegos, la relevancia de los núcleos lógicos es limitada. Quienes más se pueden beneficiar de SMT son los que se dedican a diseño gráfico, edición de vídeo, inteligencia artificial y otros trabajos similares.

Te recomendamos nuestro artículo con los mejores procesadores gaming

Sobre los SMT en procesadores Intel y AMD, la verdad es que la diferencia entre ellos es mínima. Para el usuario doméstico es inexistente, es más, más allá de desarrolladores de software y aplicaciones concretas, tampoco hay mucho que los diferencia. Realmente la mayor diferencia reside en la manera de construir y fabricar los núcleos de los procesadores que en los propios hilos.

Juan Gomar

Soy un apasionado de la tecnología en general pero principalmente de la informática y los videojuegos.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba