Quería saber qué significan 2 núcleos y 4 hilos sobre una CPU. Estoy hablando de esta CPU que tengo
http://ark.intel.com/products/47341/Intel-Core-i5-520M-Processor-3M-Cache-2_40-GHz
Inicialmente pensé que i5 tenía 4 núcleos, pero creo que estoy equivocado. Entiendo que un hilo es un fragmento de código que puede ejecutarse simultáneamente (concurrentemente) con otros hilos. Entonces, ¿qué significa 4 hilos en esa hoja de especificaciones? ¿Es diferente de los hilos programáticos? Es el número de hilos allí diferente del hilo del programa que creamos. Si solo tiene 2 núcleos, ¿es correcto que solo pueda ejecutar 2 programas paralelos aunque tenga 4 hilos?
Respuestas:
Su i5 tiene dos núcleos, cada núcleo puede ejecutar dos subprocesos debido al hyperthreading de Intel , haciendo 4 subprocesos, más allá de eso cambia a altas velocidades entre procesos. Aquí hay una buena explicación de subprocesos múltiples si desea saber más, pero en esencia su CPU puede ejecutar 4 procesos simultáneamente y cambiar a alta velocidad entre procesos.
fuente
No estoy seguro de su nivel de experiencia en Arquitectura de Computadores, sin embargo, el Core i5 que ha mencionado aquí implementa una forma de subprocesamiento múltiple conocida como subprocesamiento múltiple simultáneo (SMT). La marca registrada de Intel para su implementación de SMT es hyperthreading.
Además de SMT, hay otras formas de subprocesamiento múltiple, siendo el subprocesamiento múltiple temporal uno. Por ejemplo, multi-threading temporal de grano fino donde el procesador puede cambiar entre diferentes subprocesos cada ciclo y así permitir la ejecución pseudo-paralela de varios programas. De manera similar, puede haber múltiples subprocesos temporales de grano grueso donde un procesador puede cambiar entre subprocesos cuando alcanza una operación de alta latencia, como un acceso a la memoria principal en el subproceso actual. Los puntos de cambio exactos pueden variar según la implementación y los requisitos, como la imparcialidad o los plazos en tiempo real.
SMT se desvía de la filosofía de cambio de contexto para subprocesos múltiples, ya que en realidad tiene dos o más subprocesos ejecutándose en un procesador al mismo tiempo. Si bien la implementación puede variar, el objetivo principal es explotar las unidades funcionales en el procesador que están inactivas si solo se estaba ejecutando un subproceso, y también explotar la naturaleza superescalar del procesador. Puede imaginar múltiples subprocesos temporales como el tiempo que corta los recursos de los procesadores, mientras que SMT como el corte espacial de los recursos.
Se puede encontrar un análisis detallado en el artículo de Tullsen de 1995:
http://dl.acm.org/citation.cfm?id=224449
fuente
"Si tiene solo 2 núcleos, ¿es correcto que solo pueda ejecutar 2 programas paralelos aunque tenga 4 hilos?" Si tiene 2 núcleos, el cálculo se divide por 2 = paralelismo. Sin embargo, si su sistema tiene hiperprocesamiento, puede hacer el cálculo 2 en el mismo núcleo, por qué, el mismo núcleo muestra al sistema operativo como 2 núcleos ... núcleos lógicos.
fuente
Tome el número de subprocesos y divídalo por el número de núcleos y eso le dará el número de subprocesos que se pueden ejecutar simultáneamente por núcleo de procesador.
En épocas anteriores [en modelos anteriores de Intel], hyperthreading se limitaba a 1 núcleo que ejecutaba 2 hilos simultáneamente O múltiples núcleos que ejecutaban 1 conjunto de instrucciones (también conocido como hilo) por núcleo (bastante ineficiente si me preguntas). Pero con una mejor potencia de cómputo y desarrollos posteriores, como su procesador i5, tiene lo que me gusta llamar, un procesador de múltiples núcleos hipertronchado, que tiene múltiples núcleos que ejecutan múltiples conjuntos de instrucciones (también conocidos como hilos) por núcleo.
En su caso, 1 núcleo obtiene 2 subprocesos, por lo que cuando hace los cálculos tiene un total de = 4 conjuntos de instrucciones (subprocesos).
Otro ejemplo: # de núcleos = 4, # de hilos = 8 | 8/4 = 2, por lo que cada núcleo procesa 2 subprocesos simultáneamente (no estoy seguro de qué modelo de procesador hace esto, pero estoy casi seguro de que existe uno).
Espero que esto ayude a mi amigo! ¡Computación feliz!
Fuente: PEARSON IT Certification CompTIA A + Examp Cram Cert. Manual
fuente