Núcleo de CPU, núcleo múltiple, subproceso, núcleo frente a subprocesos, Hyper-Threading

¿Qué es la concurrencia o un solo núcleo?

In Operating Systems, la concurrencia se define como la capacidad de un sistema para ejecutar dos o más programas en fases de tiempo superpuestas.

Concurrencia o núcleo único
Ejecución concurrente con división de tiempo

Como puedes ver, en un momento dado, sólo hay un proceso en ejecución. Por lo tanto, la concurrencia es sólo una aproximación generalizada de la ejecución paralela real. Este tipo de situación se puede encontrar en sistemas que tienen un procesador de un solo núcleo.

¿Qué es la ejecución paralela o (multinúcleo)?

En la ejecución paralela, las tareas que debe realizar un proceso se dividen en subpartes y varias CPU (o varios núcleos) procesan cada subtarea exactamente al mismo tiempo.

Ejecución paralela
Ejecución paralela

Como puedes ver, en un momento dado, todos los procesos están en ejecución. En realidad, son las subtareas de un proceso las que se ejecutan en paralelo, pero para una mejor comprensión, puede visualizarlas como procesos.

Por tanto, el paralelismo es la forma real en la que se pueden procesar múltiples tareas al mismo tiempo. Este tipo de situación se puede encontrar en sistemas que tienen procesadores multinúcleo, lo que incluye casi todos los procesadores comerciales modernos.

Diferencia clave

  • Los núcleos aumentan la cantidad de trabajo realizado a la vez, mientras que los subprocesos mejoran el rendimiento y la velocidad computacional.
  • Cores es un componente de hardware real, mientras que el hilo es un componente virtual que gestiona las tareas.
  • Los núcleos utilizan el cambio de contenido mientras que los subprocesos utilizan múltiples CPU para operar numerosos procesos.
  • Los núcleos requieren sólo una unidad de procesamiento de señales, mientras que los subprocesos requieren múltiples unidades de procesamiento.

¿Qué es Thread?

Un hilo es una unidad de ejecución en programación concurrente. Multithreading es una técnica que permite a una CPU ejecutar muchas tareas de un proceso al mismo tiempo. Estos subprocesos pueden ejecutarse individualmente mientras comparten sus recursos.

¿Qué es el subproceso múltiple?

El subprocesamiento múltiple se refiere a la tarea común que ejecuta múltiples subprocesos de ejecución dentro de un sistema operativo. Puede incluir múltiples procesos del sistema.

¿Cómo funciona el subproceso múltiple?

Por ejemplo, la mayoría de las CPU modernas admiten subprocesos múltiples. Una sencilla aplicación en su teléfono inteligente puede ofrecerle una demostración en vivo del mismo.

Cuando abres una aplicación que requiere que se obtengan algunos datos de Internet, el área de contenido de la aplicación se reemplaza por un indicador giratorio que rota hasta que se obtienen y se muestran los datos.

En el fondo hay dos hilos:

  • Uno que recupera los datos de una red y
  • Uno que representa la GUI que muestra la ruleta

Ambos subprocesos se ejecutan uno tras otro para dar la ilusión de ejecución simultánea.

¿Qué es el núcleo de la CPU?

Un núcleo de CPU es parte de algo central para su existencia o carácter. De la misma manera, en el sistema informático, la CPU también se conoce como núcleo.

Básicamente existen dos tipos de procesador central:

  1. Procesador de un solo núcleo
  2. Procesador multinúcleo

¿Cuál es el principal problema con el núcleo único?

Hay principalmente dos problemas con Single Core.

  • Para ejecutar las tareas más rápido, es necesario aumentar el tiempo del reloj.
  • El aumento del tiempo de reloj aumenta el consumo de energía y la disipación de calor a un nivel extremadamente alto, lo que hace que el procesador sea ineficiente.

La solución proporcionada por Multi-Core:

  • Crear dos núcleos o más en el mismo chip para aumentar la potencia de procesamiento y al mismo tiempo mantener la velocidad del reloj en un nivel eficiente.
  • Un procesador con dos núcleos que ejecuta una velocidad eficiente puede procesar instrucciones con una velocidad similar a la del procesador de un solo núcleo. Su velocidad de reloj es el doble, pero el proceso multinúcleo consume menos energía.

Beneficios del procesador multinúcleo

Estas son algunas de las ventajas del procesador multinúcleo:

  • Más transistores por elección
  • Conexiones más cortas
  • Menor capacitancia
  • Un circuito pequeño puede funcionar a gran velocidad.

Diferencia entre núcleo y subprocesos

Parámetros Core Temas
Definición Los núcleos de CPU significan el componente de hardware real. Los hilos se refieren al componente virtual que gestiona las tareas.
Proceso La CPU recibe tareas de un hilo. Por tanto, sólo accede al segundo hilo cuando la información enviada por el primer hilo no es fiable. Existen muchas variaciones diferentes de cómo la CPU puede interactuar con múltiples subprocesos.
Implementación Logrado mediante operación de entrelazado Realizado demandando a múltiples CPU
Beneficio Incrementar la cantidad de trabajo realizado a la vez. Mejorar el rendimiento y la velocidad computacional.
Hacer uso de Core utiliza el cambio de contenido Utiliza múltiples CPU para operar numerosos procesos.
Unidades de procesamiento requeridas Sólo requiere unidad de proceso de señal. Requiere múltiples unidades de procesamiento.
Ejemplo Ejecutando múltiples aplicaciones al mismo tiempo. Ejecutando un rastreador web en un clúster.

¿Qué es Hyper-Threading?

Hyper-threading fue el primer esfuerzo de Intel para llevar la computación paralela a las PC de los usuarios finales. Se utilizó por primera vez en CPU de escritorio con Pentium 4 en 2002.

Los Pentium 4 de aquella época solo contaban con un único núcleo de CPU, por lo que solo realizaban una única tarea y no podían realizar ningún tipo de operaciones múltiples.

Una CPU única con tecnología Hyper-Threading aparece como dos CPU lógicas para un sistema operativo. En este caso, la CPU es única, pero el SO considera dos CPU para cada núcleo y el hardware de la CPU tiene un único conjunto de recursos de ejecución para cada núcleo de CPU.

Por lo tanto, la CPU asume que tiene más núcleos de los que tiene y el sistema operativo asume dos CPU por cada núcleo de CPU.

Resumen

  • Un hilo es una unidad de ejecución en programación concurrente.
  • El subprocesamiento múltiple se refiere a la tarea común que ejecuta múltiples subprocesos de ejecución dentro de un sistema operativo.
  • Hoy en día, muchas CPU modernas admiten subprocesos múltiples.
  • Hyper-threading fue el primer esfuerzo de Intel para llevar la computación paralela a las PC de los usuarios finales.
  • Un núcleo de CPU es la parte de algo central para su existencia o carácter.
  • En, OperaLa concurrencia del sistema se define como la capacidad de un sistema para ejecutar dos o más programas en fases de tiempo superpuestas.
  • En la ejecución paralela, las tareas que debe realizar un proceso se dividen en subpartes.
  • El principal problema del procesador de un solo núcleo es que para ejecutar las tareas más rápido, es necesario aumentar el tiempo del reloj.
  • Multicore resuelve este problema creando dos núcleos o más en el mismo chip para aumentar la potencia de procesamiento y también mantiene la velocidad del reloj en un nivel eficiente.
  • El mayor beneficio del sistema multinúcleo es que le ayuda a crear más transistores por elección.
  • Los núcleos de la CPU significan el componente de hardware real, mientras que los subprocesos se refieren al componente virtual que gestiona las tareas.