Hogar Consejos útiles Significa 2 núcleos. Procesadores. Por qué se necesitan dos conjuntos de núcleos de procesador

Significa 2 núcleos. Procesadores. Por qué se necesitan dos conjuntos de núcleos de procesador

En los primeros años del nuevo milenio, cuando las frecuencias de la CPU finalmente superaron la marca de 1 GHz, algunas empresas (no señalemos a Intel) predijeron que la nueva arquitectura NetBurst podría alcanzar frecuencias del orden de 10 GHz en el futuro. Los entusiastas anticiparon una nueva era en la que las velocidades de reloj de la CPU aumentarían como hongos después de la lluvia. ¿Necesitas más rendimiento? Simplemente actualice a un procesador de mayor velocidad de reloj.

La manzana de Newton cayó con fuerza sobre las cabezas de los soñadores que veían los megahercios como la forma más fácil de seguir aumentando el rendimiento de la PC. Las limitaciones físicas impidieron un aumento exponencial en la frecuencia del reloj sin un aumento correspondiente en la generación de calor, y también comenzaron a surgir otros problemas asociados con las tecnologías de producción. De hecho, en los últimos años, los procesadores más rápidos han estado funcionando a frecuencias de 3 a 4 GHz.

Por supuesto, el progreso no se puede detener cuando se paga dinero por él; hay bastantes usuarios que están dispuestos a desembolsar una suma considerable por una computadora más potente. Por lo tanto, los ingenieros comenzaron a buscar otras formas de aumentar el rendimiento, en particular, aumentando la eficiencia de la ejecución de instrucciones, y no solo confiando en la velocidad del reloj. El paralelismo también resultó ser una solución: si no puede hacer que la CPU sea más rápida, ¿por qué no agregar un segundo procesador del mismo procesador para aumentar los recursos computacionales?

Pentium EE 840 es la primera CPU de doble núcleo que llega al mercado minorista.

El principal problema con la simultaneidad es que el software debe estar escrito especialmente para distribuir la carga en varios subprocesos; es decir, no obtiene un retorno inmediato de su inversión, a diferencia de la frecuencia. En 2005, cuando aparecieron los primeros procesadores de doble núcleo, no proporcionaron ganancias de rendimiento significativas, ya que se utilizaba bastante software en las PC de escritorio para admitirlos. De hecho, la mayoría de las CPU de doble núcleo eran más lentas que los procesadores de un solo núcleo en la mayoría de las tareas, ya que las CPU de un solo núcleo funcionaban a velocidades de reloj más altas.

Sin embargo, han pasado cuatro años y muchas cosas han cambiado para ellos. Muchos desarrolladores de software han optimizado sus productos para aprovechar múltiples núcleos. Los procesadores de un solo núcleo son más difíciles de encontrar en el mercado hoy en día, y las CPU de doble, triple y cuádruple núcleo se consideran algo común.

Pero surge la pregunta: ¿cuántos núcleos de CPU realmente necesitas? ¿Es suficiente un procesador de tres núcleos para jugar, o es mejor pagar más y comprar un chip de cuatro núcleos? ¿Es suficiente un procesador de doble núcleo para el usuario promedio, o más núcleos realmente hacen alguna diferencia? ¿Qué aplicaciones están optimizadas para múltiples núcleos y cuáles solo responderán a los cambios en las especificaciones, como la frecuencia o el tamaño de la caché?

Sentimos que era un buen momento para probar las aplicaciones del paquete actualizado (aunque la actualización aún no se completó) en configuraciones de uno, dos, tres y cuatro núcleos para comprender cuán valiosos se han vuelto los procesadores de múltiples núcleos en 2009.

Para que las pruebas fueran justas, elegimos un procesador de cuatro núcleos, overclockeado a 2.7 GHz Intel Core 2 Quad Q6600. Después de ejecutar pruebas en nuestro sistema, deshabilitamos uno de los núcleos, reiniciamos y repetimos las pruebas. Apagamos los núcleos secuencialmente y obtuvimos resultados para un número diferente de núcleos activos (de uno a cuatro), mientras que el procesador y su frecuencia no cambiaron.

Deshabilitar los núcleos de la CPU en Windows es muy fácil. Si quieres saber cómo hacer esto, escribe "msconfig" en la ventana "Iniciar búsqueda" de Windows Vista y presiona "Enter". Esto abrirá la utilidad de configuración del sistema.

En él, vaya a la pestaña "Arranque / Arranque" y presione el botón "Opciones avanzadas".

Esto abrirá la ventana "Opciones avanzadas de BOOT". Seleccione la casilla de verificación "Número de procesadores" y especifique el número de núcleos de procesador que estarán activos en el sistema. Todo es muy sencillo.

Después de la confirmación, el programa ofrecerá reiniciar. Después de reiniciar, puede ver la cantidad de núcleos activos en el Administrador de tareas. La llamada al "Administrador de tareas" se realiza presionando las teclas Crtl + Shift + Esc.

Seleccione la pestaña Rendimiento en el Administrador de tareas. En él, puedes ver los gráficos de carga para cada procesador / núcleo (ya sea un procesador / núcleo separado o un procesador virtual, como lo obtenemos en el caso de Core i7 con soporte activo para Hyper-Threading) en la "Cronología de CPU / Historial de uso de CPU ". Dos gráficos significan dos núcleos activos, tres - tres núcleos activos, etc.

Ahora que se ha familiarizado con la metodología de nuestras pruebas, pasemos a un examen detallado de la configuración de la computadora y los programas de prueba.

Configuración de prueba

Hardware del sistema
UPC Intel Core 2 Quad Q6600 (Kentsfield), 2,7 GHz, FSB-1200, 8 MB de caché L2
Plataforma MSI P7N SLI Platinum, Nvidia nForce 750i, BIOS A2
Memoria A-Data EXTREME DDR2 800+, 2 x 2048 MB, DDR2-800, CL 5-5-5-18 1.8 V
HDD Western Digital Caviar WD50 00AAJS-00YFA, 500 GB, 7200 RPM, 8 MB de caché, SATA 3,0 Gb / s
La red Controlador Ethernet Gigabit nForce 750i integrado
Tarjetas de video Gigabyte GV-N250ZL-1GI 1 GB DDR3 PCIe
Fuente de alimentación Ultra HE1000X, ATX 2.2, 1000 W
Software y controladores
Sistema operativo Microsoft Windows Vista Ultimate de 64 bits 6.0.6001, SP1
Versión de DirectX DirectX 10
Conductor de plataforma Controlador nForce versión 15.25
Controlador de gráficos Nvidia Forceware 182.50

Pruebas y configuraciones

Juegos en 3D
Crysis Configuración de calidad establecida en la más baja, Detalle del objeto en Alta, Física en Muy alta, versión 1.2.1, 1024x768, Herramienta de referencia, promedio de 3 ejecuciones
Left 4 Dead Configuración de calidad establecida en la más baja, 1024x768, versión 1.0.1.1, demostración cronometrada.
Mundo en conflicto Configuración de calidad establecida en la más baja, 1024x768, parche 1.009, punto de referencia incorporado.
iTunes Versión: 8.1.0.52, CD de audio ("Terminator II" SE), 53 min., Formato predeterminado AAC
MP3 cojo Versión: 3.98 (64 bits), CD de audio "" Terminator II "SE, 53 min, onda a MP3, 160 Kb / s
TMPEG 4.6 Versión: 4.6.3.268, Archivo de importación: DVD "Terminator II" SE (5 minutos), Resolución: 720x576 (PAL) 16: 9
DivX 6.8.5 Modo de codificación: calidad insana, subprocesos múltiples mejorados, habilitado con SSE4, búsqueda de un cuarto de píxel
XviD 1.2.1 Mostrar estado de codificación = desactivado
Referencia de MainConcept 1.6.1 MPEG2 a MPEG2 (H.264), MainConcept H.264 / AVC Codec, 28 s HDTV 1920x1080 (MPEG2), Audio: MPEG2 (44,1 KHz, 2 canales, 16 bits, 224 Kb / s), Modo: PAL (25 FPS), Perfil: Configuración de hardware de Tom para Qct-Core
Autodesk 3D Studio Max 2009 (64 bits) Versión: 2009, renderizado de imagen de dragón a 1920 x 1080 (HDTV)
Adobe Photoshop CS3 Versión: 10.0x20070321, filtrado de una foto TIF de 69 MB, Benchmark: Tomshardware-Benchmark V1.0.0.4, filtros: rayado, vidrio, Sumi-e, bordes acentuados, trazos en ángulo, trazos rociados
Grisoft AVG Antivirus 8 Versión: 8.0.134, Base de virus: 270.4.5 / 1533, Benchmark: Escanear carpeta de 334 MB de archivos comprimidos ZIP / RAR
WinRAR 3.80 Versión 3.80, Benchmark: THG-Workload (334 MB)
WinZip 12 Versión 12, Compresión = Mejor, Punto de referencia: THG-Carga de trabajo (334 MB)
3DMark Vantage Versión: 1.02, puntuaciones de GPU y CPU
PCMark Vantage Versión: 1.00, puntos de referencia del sistema, memoria, disco duro, Windows Media Player 10.00.00.3646
SiSoftware Sandra 2009 SP3 Prueba de CPU = Aritmética / MultiMedia de CPU, Prueba de memoria = Benchmark de ancho de banda

Resultados de la prueba

Comencemos con los resultados de las pruebas sintéticas, para luego evaluar qué tan bien se corresponden con las pruebas reales. Es importante recordar que las pruebas sintéticas están escritas para el futuro, por lo que deberían responder mejor a los cambios en el número de núcleos que las aplicaciones reales.

Comenzaremos con el punto de referencia de rendimiento de juegos sintéticos 3DMark Vantage. Elegimos la ejecución "Entry", que 3DMark ejecuta con la resolución más baja disponible, para que el rendimiento de la CPU tenga un mayor impacto en el resultado.

El crecimiento casi lineal es bastante interesante. La mayor ganancia se observa cuando se pasa de un núcleo a dos, pero luego la escalabilidad se puede rastrear de manera bastante notable. Ahora pasemos al punto de referencia PCMark Vantage, que está diseñado para mostrar el rendimiento general del sistema.

Los resultados de PCMark sugieren que el usuario final se beneficiará de aumentar el número de núcleos de CPU hasta tres, mientras que el cuarto núcleo, por el contrario, reducirá ligeramente el rendimiento. Veamos con qué se relaciona este resultado.

En la prueba del subsistema de memoria, nuevamente observamos la mayor ganancia de rendimiento al pasar de un núcleo de CPU a dos.

La prueba de productividad, en nuestra opinión, tiene el mayor impacto en el resultado general de la prueba PCMark, ya que en este caso la ganancia de rendimiento termina en tres núcleos. Veamos si los resultados de otro benchmark sintético SiSoft Sandra son similares.

Comenzaremos con las pruebas aritméticas y multimedia de SiSoft Sandra.


Las pruebas sintéticas demuestran una ganancia de rendimiento bastante lineal cuando se pasa de un núcleo de CPU a cuatro. Este punto de referencia se escribió específicamente para hacer un buen uso de los cuatro núcleos, pero dudamos que las aplicaciones del mundo real logren el mismo progreso lineal.

El punto de referencia de memoria de Sandra también sugiere que tres núcleos proporcionarán más ancho de banda de memoria en las operaciones con búfer de enteros iSSE2.

Después de las pruebas sintéticas, es hora de ver qué obtenemos en las pruebas de la aplicación.

La codificación de audio ha sido tradicionalmente un segmento en el que las aplicaciones no se han beneficiado mucho de múltiples núcleos o no han sido optimizadas por los desarrolladores. A continuación se muestran los resultados de Lame e iTunes.

Lame no muestra muchos beneficios cuando se utilizan varios núcleos. Curiosamente, vemos una pequeña ganancia de rendimiento con un número par de núcleos, lo cual es bastante extraño. Sin embargo, la diferencia es pequeña, por lo que podría estar dentro del margen de error.

En cuanto a iTunes, vemos una pequeña ganancia de rendimiento después de activar dos núcleos, pero más núcleos no hacen nada.

Resulta que ni Lame ni iTunes están optimizados para múltiples núcleos de CPU para la codificación de audio. Por otro lado, hasta donde sabemos, los programas de codificación de video a menudo están altamente optimizados para múltiples núcleos debido a su naturaleza inherentemente paralela. Echemos un vistazo a los resultados de la codificación de video.

Comenzaremos nuestras pruebas de codificación de video con MainConcept Reference.

Observe cuánto se ve afectado el resultado al aumentar la cantidad de núcleos: el tiempo de codificación disminuye de nueve minutos en un procesador Core 2 de 2,7 GHz de un solo núcleo a solo dos minutos y 30 segundos cuando los cuatro núcleos están activos. Es bastante comprensible que si transcodifica videos con frecuencia, entonces es mejor tomar un procesador con cuatro núcleos.

¿Obtendremos beneficios similares en los puntos de referencia de TMPGEnc?

Aquí puede ver el efecto sobre el resultado del codificador. Si el codificador DivX está altamente optimizado para múltiples núcleos de CPU, entonces Xvid no muestra una ventaja tan notable. Sin embargo, incluso Xvid ofrece una reducción del 25% en el tiempo de codificación cuando se pasa de un núcleo a dos.

Comencemos nuestras pruebas de gráficos con Adobe Photoshop.

Como puede ver, la versión CS3 no nota la adición de núcleos. Resultado extraño para un programa tan popular, aunque admitimos que no estábamos usando la última versión de Photoshop CS4. Los resultados de CS3 aún no son alentadores.

Echemos un vistazo a los resultados de renderizado 3D en Autodesk 3ds Max.

Es bastante obvio que Autodesk 3ds Max "ama" los núcleos adicionales. Esta característica estaba presente en 3ds Max incluso mientras el programa se ejecutaba en un entorno DOS, ya que la tarea de renderizado 3D llevó tanto tiempo que fue necesario distribuirla entre varios equipos de la red. Una vez más, los procesadores de cuatro núcleos son muy deseables para tales programas.

La prueba de análisis antivirus está muy cerca de las condiciones de la vida real, ya que casi todo el mundo utiliza software antivirus.

AVG Antivirus demuestra maravillosas ganancias de rendimiento con el aumento de núcleos de CPU. El rendimiento de la computadora puede verse seriamente degradado durante los análisis antivirus, y los resultados muestran claramente que varios núcleos reducen significativamente los tiempos de análisis.


WinZip y WinRAR no proporcionan ganancias notables en varios núcleos. WinRAR demuestra ganancias de rendimiento en dos núcleos, pero nada más. Será interesante ver cómo funciona la versión 3.90 recién lanzada.

En 2005, cuando comenzaron a surgir las computadoras de escritorio de doble núcleo, simplemente no había juegos que mostraran las ganancias de rendimiento de las CPU de un solo núcleo a las CPU de varios núcleos. Pero los tiempos han cambiado. ¿Cómo afectan los múltiples núcleos de CPU a los juegos modernos? Ejecutemos algunos juegos populares y veamos. Realizamos pruebas de juegos a una resolución baja de 1024x768 y bajos niveles de detalle gráfico para minimizar el impacto de la tarjeta gráfica y determinar cuánto están afectando estos juegos al rendimiento de la CPU.

Comencemos con Crysis. Hemos minimizado todas las opciones excepto el detalle del objeto, que configuramos en "Alto", y la Física, que configuramos en "Muy alto". Como resultado, el rendimiento del juego debería depender más de la CPU.

Crysis mostró una dependencia impresionante en la cantidad de núcleos de CPU, lo cual es bastante sorprendente ya que pensamos que respondía mejor al rendimiento de la tarjeta gráfica. En cualquier caso, puede ver que en Crysis, las CPU de un solo núcleo dan una velocidad de fotogramas la mitad que con cuatro núcleos (sin embargo, recuerde que si el juego depende más del rendimiento de la tarjeta de video, entonces la dispersión de resultados con un número diferente de núcleos de CPU será menor) ... También es interesante notar que Crysis solo puede usar tres núcleos, ya que la adición del cuarto no hace una diferencia notable.

Pero sabemos que Crysis se toma en serio los cálculos de física, así que veamos cuál será la situación en un juego con física menos avanzada. Por ejemplo, en Left 4 Dead.

Curiosamente, Left 4 Dead muestra un resultado similar, aunque la mayor parte de la ganancia de rendimiento aparece después de la adición de un segundo núcleo. Hay un ligero aumento en la transición a tres núcleos, pero el cuarto núcleo no es necesario para este juego. Una tendencia interesante. Veamos cómo será característico de la estrategia en tiempo real World in Conflict.

Los resultados son similares nuevamente, pero vemos una característica sorprendente: tres núcleos de CPU dan un rendimiento ligeramente mejor que cuatro. La diferencia se acerca al margen de error, pero esto confirma nuevamente que el cuarto núcleo no se usa en los juegos.

Es hora de sacar conclusiones. Como obtuvimos muchos datos, simplifiquemos la situación calculando la ganancia de rendimiento promedio.

Primero, me gustaría decir que los resultados de las pruebas sintéticas son demasiado optimistas al comparar el uso de varios núcleos con aplicaciones reales. La ganancia de rendimiento de las pruebas sintéticas al pasar de un núcleo a varios parece casi lineal, cada nuevo núcleo agrega un 50% de rendimiento.

En las aplicaciones, vemos un progreso más realista: aproximadamente un 35% de aumento desde el segundo núcleo de la CPU, un 15% de aumento desde el tercero y un 32% de aumento desde el cuarto. Es extraño que al agregar un tercer núcleo, solo obtengamos la mitad de la ventaja que brinda el cuarto núcleo.

En las aplicaciones, sin embargo, es mejor mirar los programas individuales en lugar del resultado general. De hecho, las aplicaciones de codificación de audio, por ejemplo, no se benefician en absoluto de un aumento en el número de núcleos. Por otro lado, las aplicaciones de codificación de video ofrecen ventajas significativas a partir de un mayor número de núcleos de CPU, aunque esto depende bastante del codificador utilizado. En el caso del renderizador 3D 3ds Max, podemos ver que está muy optimizado para entornos de múltiples núcleos, y las aplicaciones de edición de fotos 2D como Photoshop no responden al número de núcleos. AVG Antivirus ha mostrado ganancias de rendimiento significativas en múltiples núcleos, y la ganancia no es tan grande en las utilidades de compresión de archivos.

En cuanto a los juegos, al pasar de un núcleo a dos, el rendimiento aumenta en un 60%, y después de agregar un tercer núcleo al sistema, obtenemos otro 25% de ventaja. El cuarto núcleo de los juegos que hemos elegido no aporta ninguna ventaja. Por supuesto, si tomáramos más juegos, la situación podría cambiar, pero, en cualquier caso, los procesadores de triple núcleo Phenom II X3 parecen ser una opción muy atractiva y económica para el jugador. Es importante tener en cuenta que al pasar a resoluciones más altas y agregar detalle visual, la diferencia por el número de núcleos será menor, ya que la tarjeta gráfica será el factor decisivo que afectará la velocidad de cuadros.


Cuatro núcleos.

Teniendo en cuenta todo lo que se ha dicho y hecho, se pueden sacar una serie de conclusiones. En general, no necesita ser ningún tipo de usuario profesional para beneficiarse de una configuración de CPU de varios núcleos. La situación ha cambiado significativamente desde hace cuatro años. Por supuesto, la diferencia no parece tan significativa a primera vista, pero es bastante interesante notar cuántas aplicaciones se han optimizado para multiproceso en los últimos años, especialmente aquellos programas que pueden dar un aumento significativo de rendimiento a partir de esta optimización. De hecho, podemos decir que hoy en día no tiene sentido recomendar CPUs de un solo núcleo (si aún las encuentras), salvo soluciones con bajo consumo de energía.

Además, hay aplicaciones para las que se anima a los usuarios a comprar procesadores con tantos núcleos como sea posible. Estos incluyen programas de codificación de video, programas de renderizado 3D y aplicaciones de producción optimizadas, incluido software antivirus. Para los jugadores, se acabaron los días en los que un procesador de un solo núcleo con una potente tarjeta gráfica era suficiente.

Al comprar un procesador, muchas personas intentan elegir algo más fresco, con múltiples núcleos y una alta velocidad de reloj. Pero al mismo tiempo, pocas personas saben a qué afecta realmente la cantidad de núcleos de procesador. Por qué, por ejemplo, un procesador de doble núcleo ordinario y sin pretensiones puede ser más rápido que un procesador de cuatro núcleos, o el mismo "porcentaje" con 4 núcleos será más rápido que un "procesador" con 8 núcleos. Este es un tema bastante interesante que definitivamente vale la pena explorar con más detalle.

Introducción

Antes de comenzar a comprender a qué afecta la cantidad de núcleos de procesador, me gustaría hacer una pequeña digresión. Hasta hace unos años, los diseñadores de CPU confiaban en que la tecnología de fabricación que avanza tan rápidamente produciría "piedras" con velocidades de reloj de hasta 10 GHz, lo que permitiría a los usuarios olvidarse de los problemas de bajo rendimiento. Sin embargo, no se logró ningún éxito.

No importa cómo se desarrolló el proceso técnico, que Intel, que AMD se toparon con limitaciones puramente físicas, que simplemente no permitían la producción de "prots" con una frecuencia de reloj de hasta 10 GHz. Luego se decidió centrarse no en las frecuencias, sino en la cantidad de núcleos. Por lo tanto, comenzó una nueva carrera por la producción de "cristales" de procesador más potentes y eficientes, que continúa hasta el día de hoy, pero no tan activamente como lo fue al principio.

Procesadores Intel y AMD

Hoy, Intel y AMD son competidores directos en el mercado de los procesadores. En cuanto a los ingresos y las ventas, los Blues tienen una clara ventaja, aunque recientemente los Rojos han estado tratando de mantenerse al día. Ambas empresas tienen una buena gama de soluciones listas para usar para todas las ocasiones, desde un procesador simple con 1-2 núcleos hasta monstruos reales, cuyo número de núcleos supera los 8. Por lo general, estas "piedras" se utilizan en "computadoras" de trabajo especiales que tener un enfoque estrecho ...

Intel

Entonces, hoy Intel tiene 5 tipos de procesadores: Celeron, Pentium e i7. Cada una de estas "piedras" tiene un número diferente de núcleos y está diseñada para diferentes tareas. Por ejemplo, Celeron tiene solo 2 núcleos y se usa principalmente en computadoras de oficina y domésticas. Pentium, o como también se le llama, "stump", también se usa en el hogar, pero ya tiene un rendimiento mucho mejor, principalmente debido a la tecnología Hyper-Threading, que "agrega" dos núcleos virtuales más a los dos núcleos físicos. , que se llaman hilos ... Por lo tanto, el "porcentaje" de doble núcleo funciona como el procesador de cuatro núcleos más económico, aunque esto no es del todo correcto, pero este es el punto principal.

En cuanto a la línea Core, la situación es aproximadamente la misma. El modelo más joven con el número 3 tiene 2 núcleos y 2 hilos. La línea anterior, Core i5, ya tiene 4 o 6 núcleos completos, pero carece de la función Hyper-Threading y no tiene subprocesos adicionales, excepto 4-6 estándar. Y lo último, core i7, son procesadores de gama alta, que, por regla general, tienen de 4 a 6 núcleos y el doble de subprocesos, es decir, por ejemplo, 4 núcleos y 8 subprocesos o 6 núcleos y 12 subprocesos. .

AMD

Ahora vale la pena mencionar a AMD. La lista de "guijarros" de esta empresa es enorme, no tiene sentido enumerar todo, ya que la mayoría de los modelos simplemente están desactualizados. Quizás valga la pena señalar la nueva generación, que en cierto sentido "copia" "Intel" - Ryzen. Esta línea también contiene modelos con los números 3, 5 y 7. La principal diferencia con el Ryzen "azul" es que el modelo más joven ya proporciona inmediatamente 4 núcleos completos, mientras que el más antiguo no tiene 6, sino ocho. Además, el número de subprocesos varía. Ryzen 3 - 4 hilos, Ryzen 5 - 8-12 (dependiendo de la cantidad de núcleos - 4 o 6) y Ryzen 7 - 16 hilos.

Vale la pena mencionar otra línea de "rojo" - FX, que apareció en 2012, y, de hecho, esta plataforma ya se considera desactualizada, pero debido al hecho de que ahora cada vez más programas y juegos están comenzando a admitir multiproceso, el La línea Vishera ha vuelto a ganar popularidad, lo que, junto con los bajos precios, solo está creciendo.

Bueno, en cuanto a las disputas sobre la frecuencia del procesador y la cantidad de núcleos, entonces, de hecho, es más correcto mirar hacia el segundo, ya que todos ya han decidido las frecuencias del reloj durante mucho tiempo, e incluso las los modelos superiores de Intel funcionan a 2. 7, 2. 8, 3 GHz nominales. Además, la frecuencia siempre se puede aumentar usando overclocking, pero en el caso de un procesador de doble núcleo, esto no dará mucho efecto.

Cómo saber cuántos núcleos

Si alguien no sabe cómo determinar la cantidad de núcleos de procesador, esto se puede hacer de manera fácil y sencilla, incluso sin descargar e instalar programas especiales separados. Solo tiene que ir al "Administrador de dispositivos" y hacer clic en la flecha pequeña al lado del elemento "Procesadores".

Puede obtener información más detallada sobre qué tecnologías admite su "piedra", qué frecuencia de reloj tiene, su número de revisión y mucho más con la ayuda de un pequeño y especial programa CPU-Z. Puedes descargarlo gratis en el sitio web oficial. Existe una versión que no requiere instalación.

La ventaja de dos núcleos

¿Cuál podría ser la ventaja de un procesador de doble núcleo? Muchas cosas, por ejemplo, en juegos o aplicaciones, en cuyo desarrollo el trabajo de un solo subproceso fue la principal prioridad. Tomemos, por ejemplo, el juego Wold of Tanks. Los procesadores de doble núcleo más comunes como Pentium o Celeron producirán un resultado bastante decente en términos de rendimiento, mientras que algunos FX de AMD o INTEL Core utilizarán muchas más de sus capacidades, y el resultado será aproximadamente el mismo.

Los mejores 4 núcleos

¿Cómo pueden ser mejores 4 núcleos que dos? Mejor presentación. Las "piedras" de cuatro núcleos están diseñadas para trabajos más serios, donde el simple "cáñamo" o "selerons" simplemente no pueden hacer frente. Cualquier software de gráficos 3D como 3Ds Max o Cinema4D es un gran ejemplo de esto.

Durante el proceso de renderizado, estos programas utilizan el máximo de recursos de la computadora, incluida la RAM y el procesador. Las CPU de doble núcleo se retrasarán mucho en el tiempo de procesamiento de renderizado, y cuanto más compleja sea la escena, más tardará. Pero los procesadores con cuatro núcleos harán frente a esta tarea mucho más rápido, ya que también vendrán en su ayuda subprocesos adicionales.

Por supuesto, puede tomar algún "prociclista" económico de la familia Core i3, por ejemplo, el modelo 6100, pero 2 núcleos y 2 subprocesos adicionales seguirán siendo inferiores a un procesador de cuatro núcleos completo.

6 y 8 núcleos

Bueno, el último segmento de núcleos múltiples son los procesadores con seis y ocho núcleos. Su propósito principal, en principio, es exactamente el mismo que el de la CPU anterior, solo que son necesarios donde los "cuatro" ordinarios no pueden hacer frente. Además, sobre la base de "piedras" con 6 y 8 núcleos, construyen computadoras de perfil completo que serán "afiladas" para ciertas actividades, por ejemplo, edición de video, programas 3D para modelado, renderizado de pesados ​​confeccionados. escenas con gran cantidad de polígonos y objetos, etc. d.

Además, estos procesadores multinúcleo se muestran muy bien al trabajar con archivadores o en aplicaciones donde se necesita una buena potencia informática. En los juegos optimizados para subprocesos múltiples, no hay igual a estos procesadores.

Qué afecta la cantidad de núcleos de procesador

Entonces, ¿qué más puede afectar el número de núcleos? En primer lugar, aumentar el consumo energético. Sí, no importa lo asombroso que suene, pero lo es. No debe preocuparse demasiado, porque en la vida cotidiana este problema, por así decirlo, no se notará.

El segundo es calentar. Cuantos más núcleos, mejor se necesita el sistema de refrigeración. El programa AIDA64 ayudará a medir la temperatura del procesador. Al inicio, debe hacer clic en "Computadora" y luego seleccionar "Sensores". Debe controlar la temperatura del procesador, porque si se sobrecalienta constantemente o funciona a temperaturas demasiado altas, después de un tiempo simplemente se quemará.

Los procesadores de doble núcleo no están familiarizados con este problema, porque no tienen un rendimiento y una disipación de calor demasiado altos, respectivamente, pero los procesadores de varios núcleos, sí. Se considera que las piedras "más calientes" son de AMD, especialmente la serie FX. Tome el FX-6300 por ejemplo. La temperatura del procesador en el programa AIDA64 es de alrededor de 40 grados y está en modo inactivo. Bajo carga, la cifra crecerá y si se produce un sobrecalentamiento, la computadora se apagará. Por lo tanto, al comprar un procesador de múltiples núcleos, no debe olvidarse de un enfriador.

¿Qué más afecta la cantidad de núcleos de procesador? Multitarea. Los "procesos" de doble núcleo no podrán proporcionar un rendimiento estable al trabajar en dos, tres o más programas al mismo tiempo. El ejemplo más simple son los streamers en Internet. Además del hecho de que juegan algún juego en configuraciones altas, tienen un programa paralelo en ejecución que le permite transmitir el juego a Internet en línea, también funciona un navegador de Internet con varias páginas abiertas, donde el jugador, por regla general, lee los comentarios de las personas que lo miran y monitorea otra información. No todos los procesadores de varios núcleos pueden proporcionar una estabilidad adecuada, y mucho menos los procesadores de un solo núcleo y de dos núcleos.

También vale la pena decir algunas palabras sobre el hecho de que los procesadores de múltiples núcleos tienen una cosa muy útil llamada "caché L3 del tercer nivel". Esta caché tiene una cierta cantidad de memoria, que registra constantemente información variada sobre programas en ejecución, acciones realizadas, etc. Todo esto es necesario para aumentar la velocidad del equipo y su rendimiento. Por ejemplo, si una persona usa a menudo Photoshop, esta información se guardará en la memoria de la papilla y el tiempo para iniciar y abrir el programa se reducirá significativamente.

Resumiendo

Resumiendo la conversación sobre a qué afecta la cantidad de núcleos de procesador, podemos llegar a una conclusión simple: si necesita buen rendimiento, velocidad, multitarea, trabajar en aplicaciones pesadas, la capacidad de jugar cómodamente juegos modernos, etc., entonces su elección es un procesador con cuatro núcleos o más. Si necesita una "computadora" simple para uso en la oficina o en el hogar, que se utilizará al mínimo, entonces lo que necesita son 2 núcleos. En cualquier caso, al elegir un procesador, primero debe analizar todas sus necesidades y tareas, y solo luego considerar las opciones.

Buenas tardes, queridos lectores de nuestro tecnoblog. Hoy no tenemos una revisión, sino una especie de comparación, ¿qué procesador es mejor que 2 núcleos o 4 núcleos? Me pregunto quién es más genial en 2018. Entonces comencemos. Digamos de inmediato que en la mayoría de los casos la palma irá a un dispositivo con una gran cantidad de módulos físicos, pero los chips de 2 núcleos no son tan simples como parecen a primera vista.

Probablemente muchos ya hayan adivinado que consideraremos a todos los representantes actuales de Intel de la familia Pentium Coffee Lake y el popular "hyperpen" G4560 (Kaby Lake). ¿Qué relevancia tienen los modelos en el año en curso? ¿Vale la pena considerar comprar AMD Ryzen más productivo o el mismo Core i3 con 4 núcleos?

La familia AMD Godavari y Bristol Ridge no se considera deliberadamente por una simple razón: no tiene más potencial y la plataforma en sí resultó no ser tan exitosa como se esperaba.

A menudo, estas soluciones se compran por ignorancia o "en alquiler" como una especie de montaje más barato posible para Internet y películas en línea. Pero no estamos particularmente contentos con esta situación.

Diferencias entre chips de 2 núcleos y chips de 4 núcleos

Consideremos los puntos principales que distinguen la primera categoría de chips de la segunda. A nivel de hardware, puede ver que solo el número de unidades informáticas es diferente. En otros casos, los núcleos están unidos por un bus de intercambio de datos de alta velocidad, un controlador de memoria común para un trabajo fructífero y eficiente con RAM.

A menudo, la caché L1 de cada núcleo es un valor individual, pero L2 puede ser el mismo para todos o también individual para cada bloque. Sin embargo, en este caso, se utiliza adicionalmente la caché L3.

En teoría, las soluciones de 4 núcleos deberían ser 2 veces más rápidas y potentes, ya que realizan un 100% más de operaciones por reloj (tomar como base idéntica frecuencia, caché, proceso técnico y todos los demás parámetros). Pero en la práctica, la situación cambia de una manera completamente no lineal.

Pero aquí vale la pena rendir homenaje: en un multiproceso, toda la esencia de 4 núcleos se revela por completo.

¿Por qué siguen siendo populares los procesadores de 2 núcleos?

Si observa el segmento móvil de la electrónica, puede ver el dominio de 6-8 chips nucleares, que se ven lo más orgánicos posible y se cargan en paralelo al realizar todas las tareas. ¿Porqué es eso? Android e iOS son sistemas bastante jóvenes con un alto nivel de competencia, por lo que la optimización de cada aplicación es la clave del éxito de las ventas de dispositivos.

La situación es diferente con la industria de las PC y he aquí por qué:

Compatibilidad. Al desarrollar cualquier software, los desarrolladores se esfuerzan por complacer tanto a las audiencias nuevas como a las antiguas con hardware débil. Hay más énfasis en los procesadores de doble núcleo a expensas del soporte para 8 núcleos.

Paralelización de tareas. A pesar del dominio de la tecnología en 2018, lograr que un programa se ejecute con varios núcleos y subprocesos de CPU en paralelo todavía no es fácil. Si se trata de calcular varias aplicaciones completamente diferentes, entonces no hay preguntas, pero cuando se trata de cálculos dentro de un programa, ya es peor: tienes que calcular regularmente información completamente diferente, sin olvidar el éxito de las tareas y la ausencia de errores en los cálculos.

En los juegos, la situación es aún más interesante, ya que es casi imposible dividir la cantidad de información en "partes" iguales. Como resultado, obtenemos la siguiente imagen: una unidad de cálculo es 100% aceite, las otras 3 están esperando su turno.

Continuidad. Cada nueva solución se basa en desarrollos anteriores. Escribir código desde cero no solo es caro, sino que a menudo no es rentable para el centro de desarrollo, ya que "esto es suficiente para las personas, y los usuarios de chips de 2 núcleos siguen siendo la parte del león".

Tomemos, por ejemplo, muchos proyectos icónicos como Lineage 2, AION, World of Tanks. Todos ellos fueron creados sobre la base de motores antiguos, que pueden cargar adecuadamente solo un núcleo físico y, por lo tanto, solo la frecuencia del chip juega el papel principal en los cálculos.
Financiación. No todo el mundo puede darse el lujo de crear un producto completamente nuevo, que no esté diseñado para 4.8, 16 subprocesos. Es demasiado caro y en la mayoría de los casos injustificado. Tomemos, por ejemplo, el mismo GTA V de culto, que fácilmente "comerá" tanto 12 como 16 hilos, sin mencionar los núcleos.

El coste de su desarrollo ha superado los buenos 200 millones de dólares, lo que de por sí es muy caro. Sí, el juego fue un éxito ya que la credibilidad de Rockstar fue enorme entre los jugadores. ¿Y si fuera una startup joven? Aquí ya lo entiendes todo.

¿Necesita procesadores multinúcleo?

Veamos la situación desde el punto de vista de un hombre común en la calle. La mayoría de los usuarios necesitan 2 núcleos por las siguientes razones:

  • bajas necesidades;
  • la mayoría de las aplicaciones son estables;
  • los juegos no son una prioridad máxima;
  • bajo costo de ensamblajes;
  • los propios procesadores son baratos;
  • la mayoría compra soluciones listas para usar;
  • algunos usuarios no tienen idea de lo que venden en las tiendas y se sienten muy bien.

¿Puedo jugar con 2 núcleos? Sí, no hay problema, ya que la línea Intel Core i3 hasta la séptima generación ha demostrado con éxito durante varios años. Además, Pentium Kaby Lake gozó de gran popularidad, en la que por primera vez en la historia introdujeron soporte para Hyper Threading.
¿Vale la pena comprar 2 núcleos ahora, aunque con 4 hilos? Exclusivamente para tareas de oficina. La era de estos chips se está yendo gradualmente y los fabricantes comenzaron a cambiar masivamente a 4 núcleos físicos completos y, por lo tanto, no vale la pena considerar el mismo Pentium y Core i3 Kaby Lake a largo plazo. AMD ha abandonado por completo los núcleos duales.

  • Tutorial

En este artículo intentaré describir la terminología utilizada para describir sistemas capaces de ejecutar múltiples programas en paralelo, es decir, multinúcleo, multiprocesador, multiproceso. Los diferentes tipos de paralelismo en las CPU IA-32 han aparecido en diferentes momentos y en un orden algo inconsistente. Es bastante fácil confundirse con todo esto, especialmente considerando que los sistemas operativos ocultan cuidadosamente los detalles de las aplicaciones no demasiado sofisticadas.

El propósito del artículo es mostrar que con toda la variedad de configuraciones posibles de sistemas multiprocesador, multinúcleo y multiproceso para programas que se ejecutan en ellos, se crean oportunidades tanto para la abstracción (ignorando las diferencias) como para tener en cuenta los aspectos específicos (la capacidad de averigüe la configuración mediante programación).

Advertencia sobre las marcas ®, ™, en el artículo

Mi comentario explica por qué los empleados de la empresa deberían utilizar marcas de derechos de autor en las comunicaciones públicas. En este artículo, tuve que usarlos con bastante frecuencia.

UPC

Por supuesto, el término más antiguo, más utilizado y controvertido es "procesador".

En el mundo moderno, un procesador es lo que compramos en una hermosa caja minorista o en un paquete OEM no tan hermoso. Una entidad indivisible insertada en un zócalo de la placa base. Incluso si no hay conector y no se puede quitar, es decir, si está firmemente soldado, es un chip.

Los sistemas móviles (teléfonos, tabletas, computadoras portátiles) y la mayoría de las computadoras de escritorio tienen un solo procesador. Las estaciones de trabajo y los servidores a veces cuentan con dos o más procesadores en una sola placa base.

La compatibilidad con varias CPU en un sistema requiere numerosos cambios de diseño. Como mínimo, es necesario asegurar su conexión física (proporcionar varios sockets en la placa base), resolver los problemas de identificación de procesadores (ver más adelante en este artículo, así como mi nota anterior), negociar accesos a memoria y entregar interrupciones (el El controlador de interrupciones debe poder enrutar las interrupciones para varios procesadores) y, por supuesto, el soporte del sistema operativo. Desafortunadamente, no pude encontrar una mención documental de la creación del primer sistema multiprocesador en procesadores Intel, sin embargo, Wikipedia afirma que Sequent Computer Systems ya los suministró en 1987 usando procesadores Intel 80386. El soporte generalizado para múltiples chips en un sistema está disponible a partir de con Intel® Pentium.

Si hay varios procesadores, cada uno de ellos tiene su propio conector en la placa. Al mismo tiempo, cada uno de ellos tiene copias independientes completas de todos los recursos, como registros, ejecutores, cachés. Comparten una memoria común: RAM. La memoria se puede conectar a ellos de diversas formas y bastante no triviales, pero esa es una historia separada más allá del alcance de este artículo. Es importante que en cualquier escenario, los programas ejecutables deben crear la ilusión de una memoria compartida uniforme disponible en todos los procesadores incluidos en el sistema.


¡Listos para despegar! Desktop Board Intel® D5400XS

Centro

Históricamente, el multinúcleo en Intel IA-32 apareció más tarde que Intel® HyperThreading, pero en la jerarquía lógica es el siguiente.

Parecería que si el sistema tiene más procesadores, entonces su rendimiento es mayor (en tareas que pueden usar todos los recursos). Sin embargo, si el costo de la comunicación entre ellos es demasiado alto, todas las ganancias del paralelismo se anulan debido a las largas demoras en la transferencia de datos compartidos. Esto es exactamente lo que se observa en los sistemas multiprocesador: tanto física como lógicamente, están muy lejos unos de otros. Para comunicarse de manera eficaz en un entorno de este tipo, deben inventarse buses especializados como Intel® QuickPath Interconnect. El consumo de energía, el tamaño y el precio de la solución final, por supuesto, no disminuyen con todo esto. La alta integración de componentes debe venir al rescate: los circuitos que ejecutan partes de un programa paralelo deben acercarse entre sí, preferiblemente en un cristal. En otras palabras, un procesador debe organizar varios núcleos, todos idénticos entre sí, pero trabajando de forma independiente.

Los primeros procesadores IA-32 de múltiples núcleos de Intel se introdujeron en 2005. Desde entonces, la cantidad promedio de núcleos en servidores, computadoras de escritorio y ahora plataformas móviles ha ido creciendo constantemente.

A diferencia de dos procesadores de un solo núcleo en el mismo sistema, que comparten solo memoria, dos núcleos también pueden compartir cachés y otros recursos que son responsables de interactuar con la memoria. La mayoría de las veces, los cachés de primer nivel permanecen privados (cada núcleo tiene el suyo), mientras que el segundo y tercer nivel pueden compartirse o separarse. Tal organización del sistema permite reducir los retrasos en la entrega de datos entre núcleos vecinos, especialmente si están trabajando en una tarea común.


Una micrografía de un procesador Intel de cuatro núcleos, cuyo nombre en código es Nehalem. Se asignan núcleos separados, una caché L3 compartida, así como enlaces QPI a otros procesadores y un controlador de memoria común.

Hyperthreading

Hasta aproximadamente 2002, la única forma de conseguir un sistema IA-32 capaz de ejecutar dos o más programas en paralelo era utilizar sistemas multiprocesador. El Intel® Pentium® 4, así como la línea Xeon, con nombre en código Foster (Netburst), introdujeron una nueva tecnología, hyperthreading o hyperthreading, Intel® HyperThreading (en lo sucesivo, HT).

No hay nada nuevo bajo el sol. HT es un caso especial de lo que la literatura llama multiproceso simultáneo (SMT). A diferencia de los núcleos "reales", que son copias completas e independientes, en el caso de HT, solo una parte de los nodos internos están duplicados en un procesador, el principal responsable de almacenar los registros de estado de la arquitectura. Los nodos ejecutivos responsables de la organización y procesamiento de datos permanecen en singular, y en un momento dado son utilizados como máximo por uno de los hilos. Al igual que los núcleos, los hyperthreads comparten cachés entre sí, pero de qué nivel depende del sistema específico.

No intentaré explicar todos los pros y los contras de los diseños con SMT en general y con HT en particular. El lector interesado puede encontrar una discusión bastante detallada de la tecnología en muchas fuentes y, por supuesto, en Wikipedia. Sin embargo, señalaré el siguiente punto importante que explica los límites actuales en el número de hyperthreads en productos reales.

Límites de transmisión
¿Cuándo se justifica la presencia de multinúcleo "deshonesto" en forma de HT? Si un subproceso de la aplicación no puede cargar todos los nodos en ejecución dentro del kernel, entonces pueden "tomarse prestados" para otro subproceso. Esto es típico de las aplicaciones que tienen un "cuello de botella" no en los cálculos, sino en el acceso a los datos, es decir, a menudo generan errores de caché y tienen que esperar a que los datos se entreguen desde la memoria. En este momento, el kernel sin HT se verá obligado a inactivo. La presencia de HT le permite cambiar rápidamente los nodos de ejecución libre a un estado arquitectónico diferente (ya que solo está duplicado) y ejecutar sus instrucciones. Este es un caso especial de una técnica llamada ocultación de latencia, donde una operación larga, durante la cual los recursos útiles están inactivos, es enmascarada por la ejecución paralela de otras tareas. Si la aplicación ya tiene una alta utilización de los recursos del kernel, la presencia de hyperthreads no permitirá que se acelere; aquí se necesitan kernels "honestos".

Los escenarios típicos de aplicaciones de escritorio y servidor para arquitecturas de máquinas de propósito general tienen el potencial de paralelismo a través de HT. Sin embargo, este potencial se "agota" rápidamente. Quizás por esta razón, en casi todos los procesadores IA-32, el número de hyperthreads de hardware no supera los dos. En escenarios típicos, la ganancia de usar tres o más hyperthreads sería pequeña, pero la pérdida en el tamaño del cristal, su consumo de energía y su costo es significativa.

Se observa una situación diferente en las tareas típicas realizadas en aceleradores de video. Por tanto, estas arquitecturas se caracterizan por el uso de técnicas SMT con una gran cantidad de hilos. Dado que los coprocesadores Intel Xeon Phi (introducidos en 2010) son ideológica y genealógicamente bastante cercanos a las tarjetas de video, pueden ser cuatro hyperthreading en cada núcleo: una configuración exclusiva de IA-32.

Procesador lógico

De los tres "niveles" descritos de paralelismo (procesadores, núcleos, hyperthreads), algunos o todos ellos pueden faltar en un sistema en particular. Esto se ve afectado por la configuración del BIOS (el multinúcleo y el subproceso múltiple se desactivan de forma independiente), las funciones de microarquitectura (por ejemplo, HT faltaba en Intel® Core ™ Duo, pero se devolvió con el lanzamiento de Nehalem) y los eventos del sistema (los servidores multiprocesador pueden apagar los procesadores fallidos en caso de avería y seguir "volando" sobre el resto). ¿Cómo es este zoológico de simultaneidad de varios niveles visible para el sistema operativo y, en última instancia, para la aplicación?

Además, por conveniencia, denotamos el número de procesadores, núcleos y subprocesos en algún sistema por el triple ( X, y, z), dónde X es la cantidad de procesadores y es el número de núcleos en cada procesador, y z- el número de hyperthreads en cada núcleo. En lo que sigue, llamaré a este triple topología- un término bien establecido que poco tiene que ver con la sección de matemáticas. Trabaja pag = xyz define el número de entidades nombradas procesadores lógicos sistemas. Define el número total de contextos de procesos de aplicación simultáneos independientes en un sistema de memoria compartida que el sistema operativo está obligado a considerar. Digo "forzado" porque no puede controlar el orden de ejecución de dos procesos en diferentes procesadores lógicos. Esto también se aplica a los hyperthreads: aunque funcionan "secuencialmente" en el mismo núcleo, el orden específico lo dicta el hardware y no está disponible para monitorear o controlar programas.

Muy a menudo, el sistema operativo oculta a las aplicaciones finales las características de la topología física del sistema en el que se ejecuta. Por ejemplo, las siguientes tres topologías: (2, 1, 1), (1, 2, 1) y (1, 1, 2) - el SO representará en forma de dos procesadores lógicos, aunque el primero de ellos tiene dos procesadores, el segundo - dos núcleos, y el tercero tiene solo dos subprocesos.


El Administrador de tareas de Windows muestra 8 procesadores lógicos; pero, ¿cuánto hay en procesadores, núcleos e hyperthreads?


La parte superior de Linux muestra 4 procesadores lógicos.

Esto es muy conveniente para los desarrolladores de aplicaciones: no tienen que lidiar con las características de hardware que a menudo son irrelevantes para ellos.

Definición de topología mediante programación

Por supuesto, la abstracción de la topología en un solo número de procesadores lógicos en algunos casos crea suficientes motivos para la confusión y los malentendidos (en acaloradas disputas en Internet). Las aplicaciones informáticas que desean exprimir el máximo rendimiento del hierro requieren un control detallado sobre dónde se colocarán sus subprocesos: más cerca entre sí en los hyperthreads vecinos o, por el contrario, más lejos en diferentes procesadores. La velocidad de comunicación entre procesadores lógicos en un solo núcleo o procesador es mucho mayor que la velocidad de transferencia de datos entre procesadores. La posibilidad de heterogeneidad en la organización de RAM también complica el panorama.

La información sobre la topología del sistema en su conjunto, así como la posición de cada procesador lógico en IA-32, está disponible utilizando la instrucción CPUID. Desde la llegada de los primeros sistemas multiprocesador, el esquema de identificación del procesador lógico se ha ampliado varias veces. Hasta la fecha, partes de él están contenidas en las hojas 1, 4 y 11 del CPUID. La hoja a mirar se puede determinar a partir del siguiente diagrama de flujo extraído del artículo:

No me aburriré aquí con todos los detalles de las partes individuales de este algoritmo. Si surge interés, puede dedicarlo a la siguiente parte de este artículo. Remitiré al lector interesado a, en el que se trata este tema con el mayor detalle posible. Aquí primero describiré brevemente qué es APIC y cómo se relaciona con la topología. Entonces considere trabajar con la hoja 0xB (once en decimal), que actualmente es la última palabra en "apicostroenie".

ID APIC
APIC local (controlador de interrupciones programable avanzado) es un dispositivo (ahora parte del procesador) responsable de trabajar con interrupciones que llegan a un procesador lógico específico. Cada procesador lógico tiene su propio APIC. Y cada uno de ellos en el sistema debe tener un valor de ID APIC único. Este número lo utilizan los controladores de interrupciones para direccionar al entregar mensajes y todos los demás (por ejemplo, el sistema operativo) para identificar procesadores lógicos. La especificación para este controlador de interrupciones ha evolucionado desde Intel 8259 PIC a través de Dual PIC, APIC y xAPIC a x2APIC.

Actualmente, el ancho del número almacenado en el ID de APIC ha alcanzado los 32 bits completos, aunque en el pasado estaba limitado a 16, e incluso antes, solo a 8 bits. Hoy en día, los restos de los viejos tiempos están dispersos por todo el CPUID, pero los 32 bits del APIC ID se devuelven en CPUID.0xB.EDX. Cada procesador lógico, que ejecuta independientemente la instrucción CPUID, devolverá su propio valor.

Clarificación de los lazos familiares
El valor de ID de APIC por sí solo no dice nada sobre la topología. Para saber qué dos procesadores lógicos están dentro de uno físico (es decir, son "hermanos" de hyperthreads), cuáles dos están dentro del mismo procesador y cuáles están en procesadores completamente diferentes, debe comparar sus valores de ID APIC. Dependiendo del grado de relación, algunos de sus bits serán los mismos. Esta información está contenida en las sublistas CPUID.0xB, que están codificadas usando el operando ECX. Cada uno de ellos describe la posición del campo de bits de uno de los niveles de topología en EAX (más precisamente, el número de bits que deben desplazarse en el ID de APIC hacia la derecha para eliminar los niveles de topología inferiores), así como la tipo de este nivel (hyperthread, core o procesador) en ECX.

Los procesadores lógicos ubicados dentro del mismo núcleo tendrán los mismos bits de ID APIC, excepto los que pertenecen al campo SMT. Para procesadores lógicos en el mismo procesador, todos los bits excepto los campos Core y SMT. Dado que el número de sublistas para CPUID.0xB puede crecer, este esquema permitirá soportar la descripción de topologías con más niveles, si surge la necesidad en el futuro. Además, será posible ingresar a niveles intermedios entre los existentes.

Una consecuencia importante de la organización de este esquema es que puede haber huecos en el conjunto de todos los ID APIC de todos los procesadores lógicos del sistema; no irán secuencialmente. Por ejemplo, en un procesador multinúcleo con HT desactivado, todos los ID de APIC pueden resultar pares, ya que el bit menos significativo responsable de codificar el número de hipertensión siempre será cero.

Tenga en cuenta que CPUID.0xB no es la única fuente de información sobre procesadores lógicos disponibles para el sistema operativo. En la tabla MADT ACPI se codifica una lista de todos los procesadores disponibles, junto con sus valores de ID APIC.

Topología y sistemas operativos

Los sistemas operativos proporcionan información sobre la topología del procesador lógico a las aplicaciones a través de sus propias interfaces.

En Linux, la información de topología está contenida en el pseudoarchivo / proc / cpuinfo y la salida dmidecode. En el siguiente ejemplo, estoy filtrando el contenido de cpuinfo en algún sistema de cuatro núcleos sin HT, dejando solo las entradas relacionadas con la topología:

Texto oculto

[correo electrónico protegido]: ~ $ cat / proc / cpuinfo | grep "procesador \ | identificación \ física \ | hermanos \ | núcleo \ | núcleos \ | apicid" procesador: 0 identificación física: 0 hermanos: 4 identificación de núcleo: 0 núcleos de cpu: 2 apicid: 0 apicid inicial: 0 procesador: 1 id físico: 0 hermanos: id de 4 núcleos: 0 núcleos de cpu: 2 apicid: 1 apicid inicial: 1 procesador: 2 id físico: 0 hermanos: id de 4 núcleos: 1 núcleos de cpu: 2 apicid: 2 apicid inicial: 2 procesador: 3 id físico: 0 hermanos: id de 4 núcleos: 1 núcleos de cpu: 2 apicid: 3 apicid inicial: 3

En FreeBSD, la topología se informa a través del mecanismo sysctl en la variable kern.sched.topology_spec como XML:

Texto oculto

[correo electrónico protegido]: ~ $ sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1 Grupo THREADGrupo SMT 2, 3 Grupo THREADGrupo SMT 4, 5 Grupo THREADGrupo SMT 6, 7 Grupo THREADGrupo SMT

En MS Windows 8, la información de topología se puede ver en el Administrador de tareas.

Buenas tardes, queridos lectores de nuestro blog. Hoy intentaremos averiguar qué es más importante que la frecuencia o la cantidad de núcleos de procesador. ¿Qué influye en cada uno de estos parámetros en el uso diario, en juegos y en aplicaciones profesionales? ¿Tiene más sentido el overclocking manual? En general, profundicemos en cómo funciona todo.

El procedimiento de comparación será elemental para deshonrar:

  • las ventajas de una alta frecuencia de reloj;
  • las ventajas de una gran cantidad de núcleos de procesador;
  • la necesidad de esto o aquello, dependiendo de las tareas seleccionadas;
  • resultados.

Ahora comencemos.

Las altas frecuencias son un signo de juego cómodo

Vamos a sumergirnos inmediatamente en la industria del juego y enumerar con los dedos de una mano aquellos juegos que necesitan múltiples subprocesos para un trabajo cómodo. Solo vienen a la mente los últimos productos de Ubisoft (Assassin's Creed Origins, Watch Dogs 2), el antiguo GTA V, el nuevo Deus Ex y Metro Last Light Redux. Estos proyectos fácilmente "consumirán" toda la potencia de cálculo vacante del procesador, incluidos los núcleos y los subprocesos.

Pero esto es más bien una excepción a la regla, ya que otros juegos son más exigentes con la frecuencia de la CPU y los recursos de memoria de video. En otras palabras, si decides ejecutar el viejo DOOM en AMD Ryzen Threadripper 1950X con sus 16 núcleos de procesamiento (caro, potente), estarás extremadamente decepcionado debido a los siguientes factores:

  • FPS será bajo;
  • la mayoría de los núcleos y subprocesos están inactivos;
  • el sobrepago es muy dudoso.

Y todo porque este chip está enfocado a la computación profesional, renderizado, procesamiento de video y otras tareas, en las que son las transmisiones, y no el potencial de frecuencia, las que "resuelven".
Cambiamos AMD a Intel Core i5 8600K y vemos un resultado inesperado: la cantidad de cuadros ha aumentado, la estabilidad de la imagen ha aumentado, todos los núcleos se utilizan de manera óptima. Y si dispersas la piedra, la imagen resultará absolutamente hermosa. Esto se debe a que los juegos todavía perciben correctamente de 4 a 8 núcleos (sin contar las excepciones descritas anteriormente), y el mayor crecimiento de los flujos físicos y virtuales es simplemente injustificado, hay que conducir.

¿Cuándo necesitas subprocesos múltiples?

Ahora comparemos dos soluciones principales de Intel y AMD en tareas profesionales: Core 7 8700K (6/12, L3 - 9 MB) y Ryzen 7 2700x (8/16, L3 - 16 MB). Y aquí la cantidad de núcleos e hilos juega el papel principal y mejor en las siguientes tareas:

  • archivar;
  • procesamiento de datos;
  • representación;
  • trabajar con gráficos;
  • creación de objetos 3D complejos;
  • Desarrollo de aplicaciones.

Cabe señalar que si el programa no está diseñado para multiproceso, entonces Intel gana la palma solo por la mayor frecuencia, pero en otros casos el liderazgo permanece con los "rojos".

Resumamos

Ahora pensemos lógicamente. Tanto AMD como Intel se han estabilizado bastante bien en términos de rendimiento durante los últimos años. Ambos chips están diseñados para las últimas plataformas Ryzen + (AM4) y Coffee Lake (s1151v2) y tienen un excelente potencial de overclocking y pruebas de futuro.

Si su tarea principal es obtener FPS altos en proyectos de juegos modernos, entonces la plataforma "azul" parece una solución más óptima aquí.

Sin embargo, debe entenderse que una frecuencia de cuadro alta se notará solo en monitores con una frecuencia de 120 Hz o superior. A 60 Hz, simplemente no notará la diferencia de suavidad.

La versión de AMD, en igualdad de condiciones, parece más "omnívora" y universal, y tiene más núcleos, lo que significa que se están abriendo nuevos prospectos como la misma transmisión que es tan popular en Youtube.

Esperamos que ahora comprenda cuál es la diferencia entre la frecuencia y la cantidad de núcleos, y en qué casos se justifica el pago excesivo por subprocesos.

Creo que en esta pelea, no puede haber ganador aquí, ya que la batalla en comparaciones fue en diferentes categorías de peso.

En esa nota, terminemos, recuerde suscribirse al blog por ahora.

Nuevo en el sitio

>

Más popular