La tónica general es encontrarnos dentro de un ordenador personal un procesador multinúcleo, así que, si todavía no sabes de lo que estamos hablando, es hora de que conozcas estos procesadores. De hecho, llevan con nosotros casi una década, bridándonos cada vez más potencia y mayor capacidad para manejar información, convirtiendo nuestra máquina en verdaderos centros de datos con escritorio.
Índice de contenidos
Los procesadores de varios núcleos revolucionaron el mercado, primero para el consumo de grandes empresas y datacenter, y luego para los usuarios normales, saltando así a una nueva era de equipos de alto rendimiento. Incluso nuestros Smartphone cuentan con procesadores multinúcleo.
Cuál es la función del procesador en un ordenador
Pero antes de comenzar a ver de qué trata todo esto de los procesadores multinúcleo, merece la pena refrescar un poco la memoria, definiendo para qué sirve realmente un procesador. Quizás os parece una tontería a estas alturas, pero no todos conocen este imprescindible componente en la era actual, y ya es hora.
El procesador, CPU o Unidad Central de procesamiento, consiste en un circuito electrónico diseñado a partir de transistores, puertas lógicas y líneas con señales eléctricas capaz de ejecutar tareas e instrucciones. Estas instrucciones son generadas mediante un programa informático y la interacción (o no) de un ser humano o incluso de otros programas. De esta forma somos capaces de realizar tareas productivas basadas en datos a través de los ordenadores.
Un ordenador y cualquier otro aparato electrónico, no se podría concebir sin la presencia de un procesador. Podrá ser más o menos complejo, pero todo dispositivo capaz de realizar una tarea concreta, necesita esta unidad para convertir las señales eléctricas en datos, e incluso en tareas físicas, como cadenas de montaje útiles para el ser humano.
Qué es el núcleo de un procesador
Como cualquier otro componente, un procesador está formado por diferentes elementos en su interior. A esta combinación de elementos le llamamos arquitectura, y la que actualmente tenemos dentro del procesador de nuestro ordenador es la x86, un conjunto de códigos, parámetros y componentes electrónicos, que combinados, son capaces de llevar a cabo el cálculo de estas instrucciones simplemente haciendo operaciones lógicas y aritméticas.
El núcleo o core de un procesador es la unidad, o circuito integrado que se encarga de procesar toda esta información. Compuesto de millones de transistores dotados de una estructura lógica funcional, es capaz de manejar la información que entra, en forma de operandos y operadores para generar los resultados que permiten trabajar a los programas. Se trata entonces, de la entidad básica de un procesador.
Para que os suene, el núcleo de un procesador está compuesto de estos elementos principales:
- Unidad de control (UC): se encarga de dirigir de forma sincronizada el funcionamiento del procesador, en este caso del núcleo. Imparte órdenes en forma de señales eléctricas a los distintos componentes (CPU, memoria RAM, periféricos) para que trabajen de forma sincronizada.
- Unidad aritmético-lógica (ALU): se encarga de realizar todas las operaciones lógicas y aritméticas con números enteros con los datos que le llegan
- Registros: los registros son las celdas que permiten almacenar las instrucciones que se están ejecutando y los resultados de la operación efectuada.
Para que sirven más núcleos
La carrera de los fabricantes por tener el producto más potente y más veloz siempre ha existido, y en la electrónica no es diferente. En su día, fue todo un hito conseguir crear un procesador con una frecuencia de más de 1 GHz. Por si no lo sabéis, los GHz miden la cantidad de operaciones que un procesador es capaz de realizar
La carrea por tener más GHz
El primer procesador en llegar a 1 GHz fue el DEC Alpha en 1992, pero en lo que respecta a CPU para ordenadores personales, no fue hasta 1999 cuando Intel, con su Pentium III y AMD, con su Athlon construyeron procesadores que llegaron a estas cifras. En este momento los fabricantes solo tenían una cosa en mente, “mientras más GHz mejor”, ya que más operaciones podrían llegarse a realizar por unidad de tiempo.
Pasados unos años, los fabricantes encontraron un límite en la cantidad de GHz de sus procesadores, ¿por qué? pues debido a la enorme cantidad de calor que se generaba en su núcleo, poniendo al límite la integridad de los materiales y de los disipadores utilizados. De igual forma, el consumo se disparaba por cada Hz que se aumentaba la frecuencia.
La carrera por tener más núcleos
Llegados hasta este límite, los fabricantes tuvieron que hacer un cambio de paradigma, y es así como surgió la nueva meta, “mientras más núcleos mejor”. Pensemos, si es el núcleo el encargado de hacer las operaciones, entonces aumentando el número de núcleos podremos duplicar, triplicar, … el número de operaciones que se puede hacer. Evidentemente es así, con dos núcleos podremos hacer dos operaciones a la vez, y con cuatro podremos hacer 4 de estas operaciones.
Quedó atrás la meta que se impuso Intel de llegar a los 10 GHz con su arquitectura NetBurst, algo que hasta la actualidad no se ha conseguido, al menos no con los sistemas de refrigeración al alcance de los usuarios normales. Entonces la mejor forma de conseguir una buena escalabilidad en potencia y capacidad de procesamiento era esta, tener procesadores de un cierto número de núcleos y además a una determinada frecuencia.
Se comenzaron a implementar procesadores de doble núcleo, bien fabricando dos procesadores individuales, o mucho mejor, integrar dos DIE (circuitos) en un solo chip. Ahorrando así mucho espacio en las placas base, aunque requiriendo una mayor complejidad para la implementación de su estructura de comunicación con los demás componentes, como memoria caché, buses, etc.
Los primeros procesadores con más de un núcleo
En este punto es bastante interesante saber cuáles fueron los primeros procesadores multinúcleo que aparecieron en el mercado. Y como podréis imaginaros, los inicios fueron como siempre, para uso corporativo en servidores, y también como siempre IBM. El primer procesador multinúcleo fue el IBM POWER4 con dos núcleos en un solo DIE y una frecuencia base de 1,1 GHz, fabricándose en el año 2001.
Pero no fue hasta 2005 cuando surgieron los primeros procesadores dual core para consumo masivo por usuarios en sus ordenadores de escritorio. Intel le robó la cartera a AMD por unas semanas de adelanto con su Intel Pentium Extreme Edition 840 con HiperThreading, publicando después el AMD Athlon X2.
Tras esto, los fabricantes cogieron carrerilla y comenzaron a introducir núcleos de forma indiscriminada, con la consiguiente miniaturización de los transistores. En la actualidad, el proceso de fabricación se sitúa en transistores de tan solo 7 nm implementados por AMD en su 3ª generación de Ryzen, y de 12 nm implementados por Intel. Con esto conseguimos introducir en un mismo chip mayor cantidad de núcleos y circuitos, aumentando así la potencia de procesamiento y disminuyendo el consumo. De hecho, tenemos en el mercado procesadores de hasta 32 núcleos, que son los Threadripper de AMD.
Qué necesitamos para sacarle partido a los núcleos de un procesador
La lógica parece muy sencilla, meter núcleos y aumentar la cantidad de procesos simultáneos. Pero al principio esto fue un verdadero quebradero de cabeza para los fabricantes de hardware y sobre todo para los creadores de software.
Y es que los programas estaban diseñados (compilados) solamente para funcionar con un núcleo. No solo necesitamos que un procesador físicamente sea capaz de hacer múltiples operaciones simultáneas, también necesitamos que el programa que genera estas instrucciones, pueda hacerlo comunicándose con cada uno de los núcleos disponibles. Incluso los sistemas operativos tuvieron que cambiar su arquitectura para ser capaces de utilizar de forma eficiente varios núcleos de forma simultánea.
De esta forma, los programadores se pusieron manos a la obra y comenzaron a compilar los nuevos programas con soporte multinúcleo, de forma que actualmente, un programa es capaz de utilizar de forma eficiente todos los núcleos que haya disponibles en el ordenador. Multiplicando así los hilos de ejecución a la cantidad necesaria. Porque si, además de núcleos, también apareció el concepto de hilo de ejecución.
En un procesador multinúcleo es fundamental la paralelización de los procesos que ejecuta un programa, esto implica que cada núcleo consigue ejecutar una tarea de forma paralela a otro, y de forma consecutiva, una detrás de otra. A este método de crear distintas tareas de forma simultánea de un programa, se le llama hilos de procesos, hilos de trabajo, subprocesos o simplemente Threads en inglés. Tanto el sistema operativo como los programas, deben ser capaces de crear hilos de procesos paralelos para aprovechar toda la potencia del procesador. Esto es alto que los programas de diseño, edición de vídeo o CAD hacen muy bien, mientras que los juegos, aunque les queda un camino por recorrer.
HyperThreading y SMT
En consecuencia de lo anterior, aparecen las tecnologías propias de los fabricantes de procesadores. La más famosa entre ellas es el HyperThreading que Intel comenzó a utilizar en sus procesadores, y más tarde lo haría AMD en los suyos con la tecnología CMT primero, y luego con una evolución a SMT (Simultaneous Multi-Threading).
Esta tecnología consiste en la existencia de dos núcleos en uno solo, pero no serán núcleos reales, sino lógicos, algo que en programación se denomina hilos de procesamiento o threads. Ya hemos hablado antes de ello. La idea es dividir, una vez más, la carga de trabajo entre núcleos segmentando cada una de las tareas a realizar en subprocesos para que se vayan ejecutando cuando un núcleo esté libre.
Existen procesadores que cuentan con solo dos núcleos, por ejemplo, pero tienen 4 threads gracias a estas tecnologías. Intel la utiliza principalmente en sus procesadores de alto rendimiento Intel Core y en las CPU de los portátiles, mientras que AMD la ha implementado en toda su gama de procesadores Ryzen.
Cómo saber cuántos núcleos tiene mi procesador
Ya sabemos qué son los núcleos y qué son los hilos y su importancia para un procesador multinúcleo. Así que lo último que nos queda es saber cómo saber cuántos núcleos tiene nuestro procesador.
Debéis saber que Windows a veces no diferencia entre núcleos e hilos, ya que aparecerán con el nombre de núcleos o procesadores, por ejemplo en la herramienta “msiconfig”. Si abrimos el Administrador de tareas, y nos dirigimos al apartado de rendimiento, podremos ver una lista en donde aparece el recuento de núcleos y de procesadores lógicos de la CPU. Pero las gráficas que se nos mostrarán serán directamente la de los núcleos lógicos, al igual que las que aparecen en el Monitor de rendimiento si lo abrimos.
Conclusión y enlaces interesantes
Llegamos al final, y esperamos haber explicado de forma digna qué es un procesador multinúcleo, y los conceptos más importantes relacionados con el tema. En la actualidad existen verdaderos monstruos con hasta 32 núcleos y 64 threads. Pero para que un procesador sea eficaz, no solo es importante la cantidad de núcleos y su frecuencia, sino también cómo esté construido, la eficiencia de sus buses de datos y la comunicación y la forma de trabajar de sus núcleos, y aquí Intel sigue un paso por delante que AMD. Pronto veremos los nuevos Ryzen 3000 que prometen superar los procesadores de escritorio más potentes de Intel, así que permaneced atentos a nuestras review.
Si tienes alguna duda o apunte sobre el tema, o quieres aclarar algo, te invitamos a que lo hagas mediante la caja de comentarios de abajo.