Conceptos básicos de CPU: ¿Qué son los núcleos, Hyper-Threading y múltiples CPU?

Publicado: 2023-03-19
Una CPU sin disipador de calor.
Jason Fitzpatrick / Geek de instrucciones
Una sola CPU moderna suele tener varios núcleos. Cada núcleo es su propio procesador. El subprocesamiento múltiple simultáneo, denominado Hyper-Threading de Intel, divide cada núcleo físico en dos procesadores lógicos. Cada procesador lógico permite que su sistema operativo ejecute dos tareas separadas. Por ejemplo, una CPU de ocho núcleos aparece como una sola CPU con 8 núcleos y 16 procesadores lógicos.

La unidad central de procesamiento (CPU) en su computadora hace el trabajo de cómputo, básicamente ejecuta programas. Pero las CPU modernas ofrecen características como múltiples núcleos e hiperprocesamiento. Algunas PC incluso usan múltiples CPU. Te explicamos las diferencias y cómo funcionan.

Tabla de contenido

¿Qué son Hyper-Threading y Multithreading simultáneo?
¿Qué son los núcleos de CPU?
¿Todas las configuraciones de CPU multinúcleo son iguales?
¿Qué pasa con varias CPU?

¿Qué son Hyper-Threading y Multithreading simultáneo?

El subproceso múltiple simultáneo (llamado Hyper-Threading por Intel) permite que una sola CPU ejecute varias tareas simultáneamente en lugar de secuencialmente, lo que mejora el rendimiento en la mayoría de las situaciones.

Hyper-threading fue el primer intento de Intel de llevar la computación paralela a las PC de consumo en 2002. Los Pentium 4 de la época presentaban un solo núcleo de CPU, por lo que solo podía realizar una tarea a la vez, incluso si podía cambiar entre tareas lo suficientemente rápido como para que pareciera multitarea. Hyper-Threading, llamado multihilo simultáneo (SMT) en AMD y otros procesadores que no son de Intel, intentó compensar eso.

Nota: Estrictamente hablando, solo los procesadores Intel tienen hiperprocesamiento; sin embargo, el término a veces se usa coloquialmente para referirse a cualquier tipo de subprocesamiento múltiple simultáneo.

Un único núcleo de CPU físico con hiperprocesamiento o subprocesamiento múltiple simultáneo aparece como dos CPU lógicas para un sistema operativo. La CPU sigue siendo una sola CPU, por lo que es un poco engañoso. Mientras que el sistema operativo ve dos CPU para cada núcleo, el hardware de la CPU real solo tiene un único conjunto de recursos de ejecución para cada núcleo. La CPU finge tener más núcleos de los que tiene y usa su propia lógica para acelerar la ejecución del programa. En otras palabras, se engaña al sistema operativo para que vea dos CPU por cada núcleo de CPU real.

Hyper-threading permite que los dos núcleos de CPU lógicos compartan recursos de ejecución física. Esto puede acelerar un poco las cosas: si una CPU virtual está bloqueada y esperando, la otra CPU virtual puede tomar prestados sus recursos de ejecución. Hyper-threading puede acelerar su sistema, pero no es tan bueno como tener núcleos adicionales reales.

Una computadora portátil con tecnología Intel.
Hannah Stryker / Geek de instrucciones

Afortunadamente, Hyper-Threading ahora es solo una ventaja. Mientras que los procesadores de consumo originales con hyper-threading solo tenían un único núcleo que se hacía pasar por múltiples núcleos, las CPU modernas ahora tienen múltiples núcleos e hyper-threading o tecnología SMT. Su CPU hexa-core con hyper-threading aparece como 12 núcleos para su sistema operativo, mientras que su CPU octa-core con hyper-threading aparece como 16 núcleos. Hyper-threading no sustituye a los núcleos adicionales, pero una CPU de doble núcleo con hyper-threading debería funcionar mejor que una CPU de doble núcleo sin hyper-threading.

¿Qué son los núcleos de CPU?

Originalmente, las CPU tenían un solo núcleo. Eso significaba que la CPU física tenía una sola unidad central de procesamiento. Para aumentar el rendimiento, los fabricantes agregaron "núcleos" adicionales o unidades centrales de procesamiento. Una CPU de doble núcleo tiene dos unidades centrales de procesamiento, por lo que el sistema operativo aparece como dos CPU. Una CPU con dos núcleos, por ejemplo, podría ejecutar dos procesos diferentes al mismo tiempo. Esto acelera su sistema porque su computadora puede hacer varias cosas a la vez.

A diferencia de Hyper-Threading, aquí no hay trucos: una CPU de doble núcleo tiene literalmente dos unidades de procesamiento central en el chip de la CPU. Una CPU de cuatro núcleos tiene cuatro unidades centrales de procesamiento, una CPU de ocho núcleos tiene ocho unidades centrales de procesamiento, y así sucesivamente.

Esto ayuda a mejorar drásticamente el rendimiento mientras mantiene la unidad de CPU física lo suficientemente pequeña como para caber en un solo zócalo. Solo es necesario que haya un solo zócalo de CPU con una sola unidad de CPU insertada en él, no cuatro zócalos de CPU diferentes con cuatro CPU diferentes, cada uno de los cuales necesita su propia alimentación, refrigeración y otro hardware. Hay menos latencia porque los núcleos pueden comunicarse más rápidamente, ya que todos están en el mismo chip.

El Administrador de tareas de Windows muestra esto bastante bien. Aquí, por ejemplo, puede ver que este sistema tiene una CPU real (socket) y 8 núcleos. El subprocesamiento múltiple simultáneo hace que cada núcleo parezca dos CPU para el sistema operativo, por lo que muestra 16 procesadores lógicos.

Administrador de tareas en Windows 10 con una CPU de 8 núcleos.

¿Todas las configuraciones de CPU multinúcleo son iguales?

No, no todas las configuraciones de CPU multinúcleo son iguales. Hay dos filosofías de diseño distintas que encontrará cuando busque CPU de varios núcleos.

Un tipo de configuración, y el tipo que ha sido común en las PC de consumo durante años, utiliza múltiples núcleos idénticos. En estas configuraciones, si tiene un sistema de ocho núcleos, los ocho procesadores son CPU de alto rendimiento y todos están optimizados de la misma manera.

El otro utiliza una combinación de diferentes núcleos (a veces denominada arquitectura de núcleo heterogénea). Por lo general, estas configuraciones usarán dos tipos distintos: núcleos de rendimiento y núcleos de eficiencia.

El esquema de nombres preciso varía un poco entre empresas y aplicaciones, pero la idea básica es la misma. Los núcleos de eficiencia están reservados para tareas en segundo plano y de baja demanda. Estos núcleos consumen menos energía. Los núcleos de rendimiento son exactamente lo contrario. Consumen mucha más energía, pero ofrecen un rendimiento mucho mejor en tareas exigentes, como los juegos. La combinación da como resultado un rendimiento cuando lo necesita, pero un menor uso de energía de fondo.

RELACIONADO: ¿ Qué es la subtensión de una GPU o CPU y cuándo debe hacerlo?

Esta configuración multinúcleo heterogénea (llamada big.LITTLE por ARM) primero se hizo popular entre los teléfonos celulares y otros dispositivos móviles debido al ahorro de energía que ofrecían. Cuando necesita que su teléfono dure todo el día, no tiene sentido agotar la batería innecesariamente ejecutando un núcleo de alta potencia todo el tiempo. Intel también introdujo la idea en las CPU de escritorio convencionales, comenzando con sus procesadores Alder Lake.

¿Qué pasa con varias CPU?

La mayoría de las computadoras solo tienen una sola CPU. Esa única CPU puede tener múltiples núcleos o tecnología de hiperprocesamiento, pero sigue siendo solo una unidad de CPU física insertada en un solo zócalo de CPU en la placa base.

RELACIONADO: Por qué no puede usar la velocidad de reloj de la CPU para comparar el rendimiento de la computadora

Antes de que aparecieran las CPU de hiperprocesamiento y multinúcleo, la gente intentaba agregar potencia de procesamiento adicional a las computadoras agregando CPU adicionales. Esto requiere una placa base con múltiples zócalos de CPU. La placa base también necesita hardware adicional para conectar esos zócalos de CPU a la RAM y otros recursos. Hay muchos gastos generales en este tipo de configuración. Hay una latencia adicional si las CPU necesitan comunicarse entre sí, los sistemas con varias CPU consumen más energía y la placa base necesita más zócalos y hardware.

Un servidor con varias CPU.
Justin Duino / Geek de instrucciones

Los sistemas con múltiples CPU no son muy comunes entre las PC de usuarios domésticos en la actualidad. Incluso una computadora de escritorio para juegos de alta potencia con múltiples tarjetas gráficas generalmente solo tendrá una sola CPU. Encontrará múltiples sistemas de CPU entre supercomputadoras, servidores, algunas estaciones de trabajo y sistemas similares de gama alta que necesitan tanta potencia de procesamiento de números como sea posible.

Cuantas más CPU o núcleos tenga una computadora, más cosas puede hacer a la vez, lo que ayuda a mejorar el rendimiento en la mayoría de las tareas. La mayoría de las computadoras ahora tienen CPU con múltiples núcleos, la opción más eficiente que hemos discutido. Incluso encontrará CPU con múltiples núcleos en teléfonos inteligentes y tabletas modernos.

La velocidad de reloj de una CPU y su IPC (instrucciones por ciclo) solía ser suficiente al comparar el rendimiento. Las cosas ya no son tan simples. Una CPU que ofrece múltiples núcleos e hiperprocesamiento puede funcionar significativamente mejor que una CPU de la misma velocidad que no cuenta con hiperprocesamiento. Y las PC con múltiples CPU pueden tener una ventaja aún mayor. Todas estas características están diseñadas para permitir que las PC ejecuten más fácilmente múltiples procesos al mismo tiempo, lo que aumenta su rendimiento cuando realiza múltiples tareas o bajo las demandas de aplicaciones potentes como codificadores de video y juegos modernos.

Por supuesto, un mayor número de núcleos no es tan importante en todas las situaciones. Los sistemas operativos modernos son bastante inteligentes a la hora de dividir sus tareas entre múltiples núcleos, pero no todos los programas están tan bien optimizados. En muchos casos (especialmente en los juegos), el rendimiento está limitado principalmente por la velocidad máxima de un núcleo individual en lugar de la cantidad total de núcleos que tiene. Así que no se apresure a comprar una CPU Threadripper de 64 núcleos pensando que le dará mil millones de FPS en Call of Duty , no lo hará.