Haga una pregunta sobre CPU multinúcleo y multiproceso
Aunque el rendimiento se puede mejorar aumentando la frecuencia del reloj de la CPU y aumentando la capacidad de la caché, mejorar el rendimiento de la CPU es técnicamente difícil. De hecho, por diversas razones, las unidades de ejecución de la CPU no se utilizan por completo en las aplicaciones. Si la CPU no puede leer datos normalmente (cuello de botella en el bus/memoria), la utilización de sus unidades de ejecución disminuirá significativamente. Además, la mayoría de los subprocesos de ejecución carecen de soporte ILP (paralelismo a nivel de instrucción). Todo esto ha provocado que el rendimiento actual de la CPU no se aproveche por completo. Por lo tanto, Intel adopta otra idea para mejorar el rendimiento de la CPU, permitiendo que la CPU ejecute múltiples subprocesos al mismo tiempo, permitiendo que la CPU desempeñe un papel más eficiente, que es la llamada tecnología "hyper-threading". La tecnología Hyper-Threading utiliza instrucciones de hardware especiales para simular dos núcleos lógicos en dos chips físicos, de modo que un solo procesador pueda usar computación paralela a nivel de subproceso y luego sea compatible con sistemas operativos y software de subprocesos múltiples, lo que reduce el tiempo de inactividad de la CPU y mejora. Mejora la eficiencia operativa de la CPU.
Con la tecnología Hyper-Threading, las aplicaciones pueden utilizar diferentes partes del chip al mismo tiempo. Aunque un chip de un solo subproceso puede procesar miles de instrucciones por segundo, solo puede funcionar con una instrucción a la vez. La tecnología Hyper-Threading puede hacer que el chip tenga múltiples subprocesos al mismo tiempo, lo que puede mejorar el rendimiento del chip.
La tecnología Hyper-threading permite que una CPU ejecute múltiples programas al mismo tiempo y comparta recursos en la misma CPU. En teoría, para ejecutar dos subprocesos al mismo tiempo como dos CPU, el procesador P4 necesita agregar un puntero de CPU lógico. Por lo tanto, el área del chip del P4 HT de nueva generación es 5 veces mayor que la del P4 de la generación anterior. Otras partes, como ALU (unidad entera), FPU (unidad de punto flotante) y caché L2, permanecen sin cambios y estas partes se comparten.
Aunque utilizando la tecnología hyper-threading se pueden ejecutar dos subprocesos al mismo tiempo, no es como dos CPU reales, cada CPU tiene recursos independientes. Cuando dos subprocesos necesitan un recurso al mismo tiempo, uno de ellos debe detenerse temporalmente y abandonar el recurso hasta que los recursos estén libres. Por lo tanto, el rendimiento de Hyper-Threading no es igual al rendimiento de dos CPU.
P4 Hyper-Threading tiene dos modos de funcionamiento, modo de tarea única y modo multitarea. Cuando un programa no admite multiprocesamiento, el sistema detendrá una de las CPU lógicas y concentrará los recursos en una única CPU lógica. El rendimiento de un programa de un solo subproceso no se reducirá porque una de las CPU lógicas esté inactiva, pero la CPU lógica detenida seguirá esperando trabajo y ocupará ciertos recursos. Por lo tanto, es posible que una CPU con hiperprocesamiento que se ejecuta en modo de programa de tarea única no alcance el rendimiento de una CPU sin la función de hiperprocesamiento, pero la brecha de rendimiento no será demasiado grande. En otras palabras, cuando se ejecuta software de aplicación de un solo subproceso, la tecnología de hiperproceso puede incluso reducir el rendimiento del sistema, especialmente cuando los sistemas operativos de múltiples subprocesos ejecutan software de un solo subproceso.
Cabe señalar que las CPU que utilizan tecnología Hyper-Threading requieren el soporte del chipset y del software para aprovechar al máximo las ventajas de esta tecnología. Los conjuntos de chips que actualmente admiten la tecnología Hyper-Threading incluyen: Intel i845GE, PE y silicio iSR658 RDRAM, SiS645DX y SiS651, que pueden admitir directamente Hyper-Threading, Intel i845E e i850E pueden ser compatibles actualizando el BIOS y VIA P4X400 y P4X400A, pero hay ninguna autorización oficial. Los sistemas operativos como Microsoft Windows XP, Microsoft Windows 2003 y el kernel de Linux 2.4.x y posteriores también admiten la tecnología Hyper-Threading.