Un subproceso de CPU es básicamente un núcleo virtual.
Un núcleo de CPU puede tener hasta dos subprocesos, lo que significa que tiene dos núcleos virtuales y un núcleo físico.
Una CPU con 2 núcleos físicos puede tener hasta 4 subprocesos, una CPU con 4 núcleos físicos puede tener hasta 8 subprocesos, y así sucesivamente.
Tienes la idea aquí …
Sin embargo, también debe tener en cuenta que un núcleo virtual no es lo mismo que un núcleo físico y, aunque puede hacer más con varios subprocesos, tener más núcleos físicos es lo ideal.
Digamos que tiene una CPU con 2 núcleos y 4 subprocesos. Eso no significa que tenga 4 núcleos.
De hecho, es mejor tener más núcleos con subprocesos únicos en lugar de menos núcleos con varios subprocesos.
La forma en que esto funciona es que un núcleo de CPU físico solo podrá realizar una tarea a la vez, sin embargo, si le da a ese núcleo múltiples subprocesos, podrá realizar una tarea y poner en cola una segunda tarea para realizar tan pronto como sea posible. como termina la primera tarea.
Mientras que, si tiene un solo núcleo con un solo subproceso, comenzará haciendo una sola tarea, terminará esa tarea, pondrá en cola la siguiente tarea y luego comenzará la siguiente tarea.
Entonces, básicamente, tener múltiples subprocesos le permite a su núcleo de CPU omitir un paso y manejar múltiples tareas a la vez.
Puede usar la analogía en este video que brinda una gran explicación de cómo funcionan los hilos.
Si piensas en un núcleo de CPU como tu boca y los hilos como tus manos, te das cuenta de que solo puedes comer una cosa a la vez porque solo tienes una boca, pero como tienes dos manos puedes hacer cola para el siguiente bocado. querer comer.
Lo mismo ocurre con los núcleos y subprocesos de la CPU.
Un núcleo de CPU físico solo puede completar una tarea a la vez, pero los múltiples subprocesos pueden poner en cola múltiples tareas para completar, de modo que el núcleo físico pueda cambiar rápidamente entre tareas, casi como si la CPU estuviera trabajando en dos tareas simultáneamente.
Tener varios subprocesos puede ser especialmente útil cuando se editan videos, se renderizan en 3D y cuando se realizan varias tareas al mismo tiempo.
Los subprocesos le permiten escuchar Spotify, chatear con sus amigos en Discord y jugar su videojuego favorito, todo al mismo tiempo porque permite que su núcleo de CPU realice múltiples tareas.
Hyperthreading vs Multithreading: ¿Cuál es la diferencia?
Hyperthreading permite que varios subprocesos se ejecuten en un solo núcleo para ayudar al núcleo físico a encargarse de múltiples tareas. Mientras que los subprocesos múltiples permiten que existan múltiples subprocesos dentro del mismo núcleo, pero completan las tareas individualmente utilizando los recursos de los núcleos físicos.
Hyperthreading y multithreading son esencialmente lo mismo, solo tienen dos formas diferentes de completar las mismas tareas.
Hyperthreading utiliza múltiples subprocesos que no requieren tantos recursos como, digamos, múltiples núcleos, mientras que al mismo tiempo aumenta el rendimiento de la CPU. El único inconveniente de esto es que suele haber un conflicto entre los subprocesos que utilizan los recursos de la CPU.
Los subprocesos múltiples, por otro lado, crean subprocesos que actúan como núcleos de CPU más pequeños, lo que utiliza de manera efectiva los recursos de la CPU para completar las tareas asignadas.
¿Es mejor tener más subprocesos en una CPU?
Sí, es mejor tener más subprocesos en una CPU, ya que le permitirá completar múltiples tareas más rápido y poner en cola las operaciones que su CPU necesita completar a continuación.
¿Más subprocesos o más núcleos en una CPU? ¿Que es mejor?
Si desea aprovechar al máximo su CPU, debe comprar una CPU con más núcleos. La razón de esto es que los subprocesos se utilizan para ayudar a los núcleos físicos de la CPU al completar una tarea.
Aunque los subprocesos se consideran núcleos virtuales, no son tan efectivos como los núcleos físicos, por lo que preferiría tener 8 núcleos físicos en lugar de 8 núcleos/subprocesos virtuales.
Lo que es más importante es si su CPU debe tener más núcleos o una velocidad más rápida.