Cómo saber cuántos procesadores tiene mi ordenador? Para qué puedo usar esta información

¡Te daré t̶w̶o̶ tres respuestas! La primera como usuario, la segunda como usuario avanzado , y por último como programador. Es una pregunta sencilla, así que daré una respuesta innecesariamente complicada. Que lo disfrutéis!

Nota: uso Windows 10

Como usuario de ordenador lo averiguo pulsando Ctrl Shift Esc (preferido) o Ctrl Alt Del y luego selecciono Administrador de tareas. Haz clic en "Más detalles" en la parte inferior. Navega hasta la pestaña de rendimiento y desde ahí, debajo de los gráficos debería haber una información etiquetada como "núcleos" y "procesadores lógicos". En la imagen de abajo, el número de núcleos está marcado en púrpura/azul, el número de procesadores lógicos está marcado en amarillo y el modelo de CPU está marcado en rojo.

main-qimg-723cf08fb64af89435b6bcb308604e4b.webp

En caso de que no lo hayas notado, el modelo de CPU dice "AMD FX(tm)-6100 Six-Core Processor". Sin embargo en el recuadro morado se lee "Cores: 3". Esto se debe a que el "núcleo" de AMD Piledriver y Bulldozer es en realidad dos núcleos fusionados en un "módulo". Esto significa que hay 2 unidades de procesamiento de enteros pero sólo 1 unidad de procesamiento de punto flotante, caché compartida, etc. El tema de si un módulo hace dos núcleos o un núcleo es objeto de debate. En mis pruebas, la matemática de enteros y de punto flotante parece escalar bien... Suficiente divagación.

El número de procesadores (número de CPUs) que tiene tu ordenador está etiquetado como "sockets", está encima del resalte morado/azul. Una CPU va dentro de un socket. El ordenador no se contabilizará (arrancará) a menos que todos los zócalos tengan un procesador en él, por lo que es seguro asumir que 2 zócalos = 2 CPU.

Una CPU y un núcleo de CPU son muy diferentes. CPU vs CORE

main-qimg-dd4e9dcd18e595f75fde72d3e3783458.webp

Otra forma de averiguarlo es simplemente buscar en google el nombre de tu cpu por ejemplo "fx 6100" o "ryzen 5 1400" o "i5 2500k" ya lo entiendes. Puedes encontrar la información oficial en Product Resource Center para un procesador AMD o Intel® Product Specifications para un procesador Intel.

Esta información podría ser útil si estás comprobando los requisitos del sistema para un videojuego o algo así. Algunos juegos... *cough* Far Cry 4... necesitan más de 2 núcleos para ejecutarse y se bloquean con un procesador de doble núcleo.

Como usuario avanzado...

En lugar de usar el administrador de tareas, encuentro más información al usar un programa llamado "CPUz" ¡incluso tengo uno en mi teléfono android! En la parte inferior derecha hay dos números etiquetados "núcleos" e "hilos". OMI "hilo" es un nombre más exacto para "procesadores lógicos".

main-qimg-c75080a499f65e800b31d90d8e7621b6.webp

Esta información puede ser utilizada igual que la anterior o más a menudo para presumir de algunos de mis amigos conocedores de la tecnología. Just look at it…

main-qimg-b09a04b208bd7d455a60525ac5902b1b.webp

Now, as a programmer

To find out the number of threads (not cores) a processor has I usually type in something like this (in java code):

  1. int threadCount = Runtime.getRuntime().availableProcessors(); 

This will give me an integer variable called “threadCount”. En mi caso como tengo 6 núcleos, "threadCount" tendrá un valor de 6.

Esta información puede ser útil en muchas situaciones. Por ejemplo, hice una simulación de un juego de cartas convertido en benchmark. Lo que descubrí fue que usando 4 hilos en un procesador de 4 núcleos el juego tardaba 10 segundos en terminar. Sin embargo, si utilizo 10 hilos en el mismo procesador, el juego tarda 11 segundos en terminar. Esto se debe a la sobrecarga de la CPU al tener que gestionar más hilos a la vez. Si utilizo menos hilos que el número de núcleos, entonces no estaría utilizando la CPU a su máximo potencial.

En conclusión, encontrar la cantidad de procesadores (CPUs) que tiene un ordenador es bastante inútil a menos que lo hagas para presumir. Encontrar el número de núcleos/hilos es más útil para buscar los requisitos del sistema y optimizar los programas.