Tutoriales

Qué son los hilos de un procesador ? Diferencias con los núcleos

En este artículo vamos a dedicar un rato a explicar que son los hilos de un procesador o también llamados threads en inglés o subprocesos en programación, para así identificar las diferencias fundamentales entre estos y los núcleos del procesador. Entre los s menos expertos e incluso los más avanzados, aún existe bastante confusión acerca de este tema. Por eso nos hemos propuesto aclara estos términos en la medida de los posible.

Este concepto de hilos de procesamiento no es fundamental saberlo a la hora de comprar un procesador para un normal. En la mayoría de ocasiones, mejor más que menos, eso se cumple casi siempre. Donde sí que necesitamos saber bien que son los hilos, es en los trabajos de desarrollo de programas. Dependiendo de cómo esté programada y compilada una aplicación, tendrá una ejecución más optimizada para procesadores de más hilos que núcleos. Y es aquí a donde trataremos de llegar en nuestra explicación.

Qué son los núcleos de un procesador

Vamos a comenzar explicando qué son los núcleos de nuestro procesador, así tendremos este conocimiento previo para no confundirnos.

Sabemos que un procesador se encarga de llevar a cabo y ejecutar las instrucciones de los programas que están cargados en la memoria RAM de nuestro ordenador. Por él pasan prácticamente todas las instrucciones que son necesarias para realizar las típicas tareas en nuestro PC, navegar, escribir, ver fotos, etc. En el apartado físico, un procesador es un circuito integrado formado por millones de transistores que forman puertas lógicas para dejar pasa o no los bits de datos en forma de energía, sin más.

Pues este pequeño chip alberga en su interior distintos módulos que podemos llamar núcleos, además de otros elementos que ahora no nos interesan. Los procesadores de hace unos años tenían uno solo de estos núcleos, y eran capaces de procesar una instrucción por cada ciclo. Estos ciclos se miden en Megahertzios (MHz), mientras más MHz, mas instrucciones podremos hacer cada segundo.

Ahora no solo tenemos un núcleo, sino varios. Cada núcleo representa un subprocesador, es decir, que cada uno de estos subprocesadores ejecutará una de estas instrucciones, pudiendo así ejecutar varias de ellas en cada ciclo de reloj con una U de varios núcleos. Si tenemos un procesador de 4 núcleos, podremos ejecutar 4 instrucciones de forma simultánea en lugar de una sola. Entonces, la mejora de rendimiento se cuadriplica. Si tenemos 6, pues 6 instrucciones al mismo tiempo. De esta forma es como los procesadores actuales son muchísimo más potentes que los antiguos.

Y recuerda, estos núcleos están presentes físicamente en nuestro procesador, no es algo virtual ni creado por código.

Qué son los hilos de procesamiento o threads

Los hilos, threads o subprocesos no forman parte física del procesador, no al menos en lo que se refiere a más cantidad de núcleos o algo por el estilo.

Podemos definir un hilo de procesamiento como el flujo de control de datos de un programa. Es un medio que permite istrar las tareas de un procesador y de sus diferentes núcleos de una forma más eficiente. Gracias a los hilos, las unidades mínimas de asignación, que son las tareas o procesos de un programa, pueden dividirse en trozos para así optimizar los tiempos de espera de cada instrucción en la cola del proceso. Estos trozos se llaman subprocesos o threads.

Dicho de otra forma, cada hilo de procesamiento contiene un trozo de la tarea a realizar, algo más simple de realizar que si introducimos la tarea completa en el núcleo físico. De esta forma la U es capaz de procesar varias tareas al mismo tiempo y de forma simultánea, de hecho, podrá hacer tantas tareas como hilos tenga, y normalmente son una o dos por cada núcleo. En los procesadores que tienen por ejemplo 6 núcleos y 12 hilos serán capaces de dividir los procesos en 12 tareas distintas en lugar de solamente 6.

Esta forma de trabajar hace que los recursos del sistema sean istrados de forma más equitativa y eficiente. Ya sabes…el divide y vencerás de toda la vida. Estos procesadores se denominan multi-hilo. Por ahora, lo que debemos tener claro es que un procesador con 12 hilos, no va a tener 12 núcleos, los núcleos son algo de origen físico y los hilos algo de origen lógico.

Eso seguramente haya quedado algo abstracto y difícil de entender, así que vamos a ver cómo se traduce si hablamos de la arquitectura de un programa en nuestro ordenador.

Los programas, procesos e hilos

Todos sabemos qué es un programa, es un código que se almacena en nuestro ordenador y que está destinado a llevar a cabo alguna tarea concreta. Una aplicación es un programa, un driver también lo es e incluso el sistema operativo es un programa capaz de ejecutar otros programas en su interior. Todos ellos están almacenados en forma binaria, ya que el procesador solo entiende de unos y ceros, corriente / no corriente.

Los procesos del programa

Para ejecutar un programa, este se carga en memoria, la memoria RAM. Este programa es cargado mediante procesos, los cuales llevan su código binario asociado y los recursos que necesita para operar, que serán asignados de forma “inteligente” por el sistema operativo.

Los recursos básicos que necesita un proceso son, un contador de programa, y una pila de registros.

  • Contador de programa (): se llama puntero de instrucciones, y realiza el seguimiento de la secuencia de instrucciones que se vayan procesando.
  • Registros: es un almacén ubicado en el procesador en donde se puede guardar una instrucción, una dirección de almacenamiento o cualquier otro dato.
  • Pila: es la estructura de datos que almacena la información relativa a las instancias que un programa tiene activas en el ordenador.

Entonces cada programa está dividido en procesos, y está almacenado en un lugar determinado en memoria. Además, cada proceso se ejecuta de forma independiente, y esto es muy importante de entender porque así es como el procesador y el sistema son capaces de ejecutar varias tareas al mismo tiempo, lo que denominamos sistema multitarea. Este sistema de procesamiento es el culpable de que podamos seguir trabajando en nuestro PC, aunque un programa se haya quedado bloqueado.

Los hilos de un proceso

Aquí es donde hacen acto de presencia los hilos de procesamiento, denominados subprocesos en los sistemas operativos. Un hilo es la unidad de ejecución de un proceso. Podemos dividir el proceso en subprocesos, y cada uno de ellos será un hilo de ejecución.

Si un programa no es multi-hilo, los procesos dentro de él solamente tendrán un hilo, así que solamente se podrán procesar de una sola vez. Por el contrario, si tenemos procesos multi-hilo, estos podrán dividirse en varios trozos, y cada uno de esos hilos comparte los recursos asignados al proceso. Por eso dijimos que la ejecución en múltiples hilos es más eficiente.

Además, cada hilo cuenta con su propia pila de registros por lo que podrán procesarse dos o más de ellos al mismo tiempo, al contrario que un solo proceso, que tendrá que ejecutarse todo de una sola vez. Los subprocesos son tareas más sencillas que permiten ejecutar un proceso de forma dividida. Y esta es básicamente la función final de los hilos de procesamiento. Cuantos más hilos, mayor división de procesos, y mayor volumen de cálculos simultáneos y entonces, mayor eficiencia.

Todavía no hemos terminado, aún tenemos la pregunta pendiente de ¿Qué ocurre entonces con un núcleo con doble hilo? Ya dijimos que cada núcleo es capaz de ejecuta una sola instrucción a la vez. La U cuenta con un complejo algoritmo que divide de la forma más eficiente posible los tiempos de ejecución, así asigna a cada tarea un determinado intervalo de ejecución. El cambio entre tareas es tan rápido, que dará la sensación de que el nucleo ejecuta tareas de forma paralela.

¿Podemos ver esos hilos o subprocesos en el sistema?

No de una forma demasiado detallada, pero si, podremos verlos, tanto en Windows como Mac.

En el caso de Windows, tan solo tendremos que abrir al de tareas y situarnos sobre “rendimiento”. Luego pulsaremos abajo en el enlace de “monitor de recursos”. En esta nueva ventana tendremos dividido cada proceso en consumo de la U y en subprocesos (threads), estos será los hilos.

En el monitor de actividad de Mac, tendremos directamente los subprocesos enumerados en la pantalla principal.

Con esto finalizamos nuestro artículo sobre qué son los hilos de procesamiento de una U. Ciertamente es un tema algo complejo de explicar y bastante abstracto, especialmente para s que no comprendan completamente cómo funciona un procesador. Pero en este caso tenemos buenas noticias porque también tenemos un artículo bastante bueno hablando de cómo funciona un procesador y cómo se realiza el ciclo de instrucción completo.

Esperamos que todo haya quedado más o menos claro, y agradecemos que nos hayas elegido para saber más sobre este tema.

Recent Posts

  • Portátiles y ordenadores

ASUS TUF Gaming T500: un sobremesa con alma de portátil

Durante su presencia en la Computex 2025, la compañía presentó su nuevo ASUS TUF Gaming…

2 horas atrás
  • Tarjetas gráficas

ASUS y Noctua se alían y nos dejan la GPU con mejor refrigeración del mercado

Asus y Noctua han anunciado durante la Computex una colaboración para crear la GPU con…

2 horas atrás
  • Portátiles y ordenadores

AI TOP ATOM: Supercomputación de IA en formato compacto

Gigabyte ha dado un gran paso adelante con su AI TOP ATOM, un mini PC…

3 horas atrás