Red de conocimiento del abogados - Consultar a un abogado - Por qué el doble núcleo es más rápido que un solo núcleo

Por qué el doble núcleo es más rápido que un solo núcleo

¿Es más rápido asignar la misma tarea a una persona o a dos personas? Si no lo piensas, puedes pensar que dos personas se unen rápidamente, pero de hecho, si las dos personas no cooperan bien, lo que podría haberse completado en un día se convertirá en una situación en la que te miro y Mírame. Incluso puede haber peleas y la misión no se completará satisfactoriamente. Lo mismo ocurre con los procesadores de doble núcleo. Sólo cuando los dos núcleos trabajan juntos se puede poner en juego la eficiencia del doble núcleo, de lo contrario, no solo no se mejorará la eficiencia, sino que los resultados del cálculo incluso serán incorrectos.

Sabemos que un mecanismo eficaz de programación de tareas tiene un impacto crucial en la mejora de la eficiencia laboral del equipo. ¿No es eso lo que es un procesador de doble núcleo? Para el mecanismo de programación cooperativa de los procesadores de doble núcleo, el primer problema a resolver es la operación de sincronización de datos. Por ejemplo, si el área de datos de la memoria del sistema registra "A=1", si el primer núcleo de la CPU lee y escribe esta área de datos y la reescribe como "A=0", entonces el caché del segundo núcleo de la CPU también debe actualizarse. , A se actualizará a 0; de lo contrario, los datos serán incorrectos en operaciones posteriores. Este proceso es la coherencia de los datos almacenados en caché, también llamado operación de sincronización de datos.

En el tema clave de la sincronización de datos, diferentes CPU tienen diferentes soluciones: Pentium D entrega la tarea al chip Northbridge, Athlon 64 X2 tiene una unidad de coordinación incorporada y Core Duo disfruta del segundo nivel al * * * Implementación de caché. De hecho, ésta es la fuente de la disputa dual entre "verdadero y falso". Pentium D en realidad integra dos núcleos, pero debido a que su mecanismo de cooperación de doble núcleo es diferente al de AMD, AMD encontró una oportunidad para "ofensiva".

Mecanismo de cooperación de los procesadores de doble núcleo

1. Pentium D: la comunicación se basa en el chip Northbridge.

Las cachés de segundo nivel de los dos núcleos del Pentium D están aisladas entre sí y sólo se fusionan en el bus frontal. ¿Qué debemos hacer si los datos de caché de un núcleo cambian y otro núcleo quiere obtener estos datos? Obviamente, un núcleo debe enviar datos al chip Northbridge a través del bus frontal, y luego el chip Northbridge envía los datos a la memoria y el otro núcleo lee los datos a través del Northbridge. Se puede ver que durante el proceso de sincronización de datos, Pentium D no se puede completar directamente dentro de la CPU y se consumirán algunas operaciones adicionales de acceso a la memoria. Si ejecutamos dos tareas diferentes, el sistema operativo las asignará a núcleos diferentes. Debido a que los dos núcleos manejan tareas diferentes, no es necesario sincronizar los datos almacenados en caché en este momento. Este diseño tiene poco impacto. Sin embargo, cuando ejecutamos software multiproceso optimizado para dos núcleos, los datos almacenados en caché requieren operaciones de sincronización frecuentes, lo que no solo consume una gran cantidad de ciclos de CPU, sino que también puede bloquear el bus frontal de la CPU, lo que dificulta la demostración. Excelente eficiencia de colaboración.

En la actualidad, el Pentium D ha evolucionado hasta la segunda generación. En comparación con el Pentium D 8xx, el Pentium D 9xx no tiene mejoras sustanciales en la arquitectura de doble núcleo. En cambio, se cambia a un proceso de fabricación de 65 nm más avanzado, que aumenta la capacidad de caché L2 de cada núcleo y cambia los dos. método de embalaje de patatas fritas. No hay diferencia en la eficiencia de doble núcleo entre los dos. AMD considera que el Pentium D son dos chips en una CPU. ¿Es este realmente el caso? Levantando la tapa metálica de disipación de calor del Pentium D 9xx, encontraremos que tiene dos núcleos independientes fresados ​​en cedro. Los dos núcleos de la CPU se han mostrado ante nuestros ojos, pero el acoplamiento entre los dos núcleos es relativamente flojo.

Unidad de coordinación de arbitraje incorporada 2.athlon 64x 2

“Los artistas son audaces”, AMD se atreve a desafiar a Intel, por lo que es natural que tenga algunas habilidades extraordinarias. Al igual que el Pentium D, el Athlon 64 X2 también utiliza un diseño de caché independiente. Los dos núcleos tienen recursos de caché independientes, pero a diferencia del Pentium D, los dos núcleos del Athlon 64 X2 funcionan en estrecha colaboración. La unidad junto a los dos núcleos del Athlon 64 X2 es la "Interfaz de solicitud del sistema" (en adelante SRI), que tiene un bus de alta velocidad conectado a las dos cachés L2. Si es necesario sincronizar los datos de caché de los dos núcleos, esto solo se puede hacer a través de la unidad SRI. De esta manera, no solo la sobrecarga de recursos de la CPU es muy pequeña, sino que tampoco hay necesidad de ocupar recursos del bus de memoria y la eficiencia de la colaboración es obviamente mejor que la del Pentium D.

Gracias a las ventajas de la arquitectura colaborativa de doble núcleo, la mejora de rendimiento del Athlon 64 X2 superará a la del Pentium D a la hora de ejecutar aplicaciones optimizadas para doble núcleo. Algunas evaluaciones también confirman esta conclusión. Tomando MAYA6 como ejemplo, el rendimiento del Pentium D 820 de doble núcleo es aproximadamente un 38% mayor que el del Pentium 4 520J de un solo núcleo en la misma frecuencia, mientras que el rendimiento del Athlon 64 X2 380 es aproximadamente un 49%. más alto que el Athlon 64 320 de un solo núcleo (Socket939) en la misma frecuencia.

3. Procesador Core de doble núcleo: utilice caché inteligente para disfrutar de la tecnología de almacenamiento en caché.

Como señor supremo en el campo de las CPU, Intel hizo cuidadosos preparativos al diseñar el procesador Core de doble núcleo cuyo nombre en código es Yonah. El excelente rendimiento del producto en eficiencia de doble núcleo realmente muestra la fuerza del gigante.

Para mejorar la eficiencia de la colaboración entre los dos núcleos, actualmente se utilizan dos soluciones: una es continuar usando un diseño de caché independiente similar al Athlon 64 X2, pero introducir una unidad para coordinar los dos. núcleos. Esta solución se denomina solución estrechamente acoplada basada en cachés independientes.

De las dos opciones de diseño, la primera es relativamente simple: simplemente agrega una unidad de programación a los dos núcleos; en la última opción de diseño, dado que los dos núcleos * * * comparten recursos de caché de segundo nivel, es inevitable "competir" para los recursos de caché de segundo nivel. Si no se programa correctamente, los dos núcleos pueden entrar en conflicto.

Sin embargo, todo tiene dos caras. Aunque la última solución tiene ciertos riesgos, si se resuelve el problema de contención de los recursos de caché, tendrá ventajas que el diseño de caché independiente no puede igualar: en primer lugar, cualquier núcleo puede acceder a todos los recursos del caché de segundo nivel cuando se almacenan los datos en caché. después de la actualización, no es necesario sincronizar los dos núcleos y la carga de trabajo de la sincronización de datos es relativamente reducida; en segundo lugar, cualquier núcleo puede decidir cuántos recursos de caché secundario ocupar en función de la carga de trabajo, por lo que la eficiencia de utilización de los recursos es mucho mayor. En el modo de batería de la computadora portátil, si un núcleo está apagado, el otro núcleo puede ocupar todos los recursos de la caché L2 y solo la mitad de los recursos de diseño de la caché independiente están disponibles. Por el contrario, el diseño de caché de disfrute * * * tiene más ventajas. Después de sopesar los pros y los contras, Intel decidió lanzar un * * diseño de caché exclusivo para el procesador Core Duo.

En la arquitectura interna de Core Duo, los dos núcleos comparten recursos de caché L2 a través de "SBR" (* * *Shared Resource Scheduler). Intel llama a esta tecnología de caché compartida "Smart Cache". Cuando un núcleo almacena el resultado en la caché L2 después de una operación, otro núcleo puede leer los datos que colocó en la caché L2 a través de SBR. En comparación con la solución anterior Pentium D de omitir el chip Northbridge, este método no solo reduce en gran medida el retraso de lectura, sino que también reduce la ocupación del bus frontal. Además de no tener que sincronizar con frecuencia los recursos de caché, el enrutador de bus compartido también tiene un mecanismo de "adaptación de ancho de banda" que puede administrar de manera uniforme el bus frontal compartido por el * * * de doble núcleo para evitar conflictos entre ellos y mejorar la eficiencia. del bus frontal compartido * * * de doble núcleo, lo que reduce retrasos innecesarios. Es funcionalmente similar a la unidad de barra transversal del Athlon 64 X2, pero la arquitectura K8 integra el controlador de memoria, que también es responsable de la coordinación de las transferencias desde el bus de memoria.

El poder de la tecnología de almacenamiento en caché inteligente también se refleja en pruebas reales. En la prueba de referencia aritmética utilizando SiSoftware Sandra 2005, el Core Duo T2600 (2,16 GHz) obtuvo un rendimiento aproximadamente un 60 % mejor que el Pentium M770 (2,13 GHz) y un 22 % mejor. El único inconveniente es que Core Duo no es compatible con la tecnología de procesamiento de 64 bits de Intel: EM64T.