Lunes , Agosto 21 2017
Inicio / Procesadores / Diferencias entre núcleos físicos y núcleos lógicos (SMT o HyperThreading) en CPU

Diferencias entre núcleos físicos y núcleos lógicos (SMT o HyperThreading) en CPU

Núcleos, cores, threads, sockets, núcleo lógico y núcleo virtual son términos relacionados con los procesadores que muchos usuarios no acaban de comprender. Por ello hemos elaborado este post para tratar de explicarlo de una forma sencilla y entendible para todos los usuarios.

Diferencias entre núcleo e hilos de ejecución (SMT o HyperThreading) en CPU

En primer lugar, tenemos que pensar en la época de los Pentium en la que los procesadores estaban formados por un único núcleo o core, el procesador se instala en una ranura especial de la placa base que le sirve para comunicarse con el resto de componentes, esta ranura es el socket o zócalo. Normalmente las placas base solo tienen un socket pero algunos modelos orientados al sector empresarial presentan varios sockets con lo que se pueden montar varios procesadores. En cuanto al núcleo, este es la parte del procesador en la que se realizan todos los cálculos, digamos que es el cerebro que hace que nuestro ordenador funcione. Cada uno de los núcleos puede manejar un hilo o thread de datos.

Con el paso de los años apreció la tecnología HyperThreading de Intel que consiste en duplicar algunos elementos dentro del procesador como los registros o las memorias caché de primer nivel, esto permite al núcleo del procesador poder manejar dos tareas a la vez (2 hilos o threads) y da lugar a la aparición de los núcleos lógicos. Algo que mejora el rendimiento de forma importante ya que, si un proceso necesita quedar a la espera de una operación o algún dato, otro proceso puede seguir haciendo uso del procesador sin que este se quede parado, un procesador parado significa pérdida de rendimiento por lo que hay que evitar que pase.

Todo sobre el diseño interno de los procesadoresExplicación de la tecnología HyperThreading

Esta tecnología HyperThreading “engaña” al sistema operativo al hacerle creer que existen dos núcleos cuando en realidad solo existe uno, el que existe de verdad es el núcleo físico y el que aparece fruto de HyperThreading es el virtual. El núcleo virtual tiene mucha menos capacidad de procesamiento que el núcleo físico por lo que el rendimiento no es equivalente a tener dos núcleos físicos ni mucho menos, pero proporciona un buen extra.

TE RECOMENDAMOS
¿Qué es la memoria caché y para que sirve?

El siguiente paso en la evolución de los procesadores era dar el salto a la aparición de los procesadores con dos núcleos físicos, esto fue posible gracias a la miniaturización de todos los elementos que hay dentro del procesador, es decir que se hacen más pequeños y por tanto podemos meter muchos más en el mismo espacio. En esencia un procesador de dos núcleos es como tener dos procesadores trabajando juntos, pero con una comunicación entre ellos mucho más rápida y eficiente, lo que hace que el rendimiento sea muy superior a los sistemas con dos sockets y dos procesadores.

Todo sobre el diseño interno de los procesadoresEjemplo de un procesador de dos núcleos

A diferencia del HyperThreading, en los procesadores de dos núcleos cada uno de ellos tiene todos los elementos necesarios para poder realizar todo tipo de tareas por lo que un procesador de dos núcleos es muy superior en rendimiento a un procesador de un núcleo con HyperThreading. El siguiente paso fue lograr procesadores de más núcleos, algo posible a una miniaturización de sus componentes cada vez más grande. Hoy en día existen procesadores con hasta 18 núcleos físicos.

Te recomendamos la lectura de nuestra guía de los mejores procesadores del mercado

Además, podemos combinar el uso de varios núcleos con la tecnología HyperThreading por lo que podemos lograr procesadores con un número enorme de núcleos lógicos, así un procesador de 18 núcleos físicos con HyperThreading tiene un total de 36 núcleos lógicos (18 núcleos físicos + 18 núcleos virtuales).

Aquí terminal nuestro post, si te ha quedado alguna duda puedes dejar un comentario o abrir un tema en nuestro foro.

Sobre Juan Gomar

Soy un apasionado de la tecnología en general pero principalmente de la informática y los videojuegos.