Hyperthreading (oficialmente llamada tecnología hyper-threading , HTT o HT ) es una tecnología desarrollada por Intel para mejorar el rendimiento de sus propios procesadores . Históricamente, se convirtió en la primera implementación completa del concepto de subprocesos múltiples simultáneos ( en inglés , multithreading simultáneo , SMT ), creado en el desarrollo de la tecnología de superprocesos (super-threading en inglés , que implementó subprocesos múltiples temporales ). Una vez habilitado el hyperthreading, el sistema operativo define un núcleo de procesador físico como dos núcleos lógicos independientes. Bajo ciertas cargas de trabajo, el uso de hyperthreading puede aumentar el rendimiento del procesador. La esencia de la tecnología: la transferencia de "trabajo útil" ( en inglés útil work ) a dispositivos ejecutivos inactivos (en inglés execution units ).
Inicialmente, la tecnología se implementó en procesadores de servidor Xeon de un solo núcleo (febrero de 2002) y procesadores de escritorio Pentium 4 de un solo núcleo (noviembre de 2002) [1] . En los primeros procesadores Intel multinúcleo, incluida la serie Core 2 (Core 2 Duo, Core 2 Quad), la tecnología no estaba implementada; Desde 2008, los procesadores multinúcleo también han sido compatibles con la arquitectura Nehalem ( Core i7 ), posteriormente apareció el soporte en Itanium [2] , Atom [3] y todas las series Xeon.
Un núcleo de procesador que admita la tecnología de hiperprocesamiento puede almacenar el estado de dos subprocesos de ejecución a la vez , contiene un conjunto de registros y un controlador de interrupción ( APIC ) para cada núcleo lógico. Para el sistema operativo, esto parece tener dos núcleos lógicos. Cada núcleo lógico tiene su propio conjunto de registros y un controlador de interrupción ( APIC ). Los elementos restantes del núcleo físico son comunes a todos los núcleos lógicos.
Por ejemplo, cuando el núcleo físico está ejecutando el hilo de instrucciones del primer núcleo lógico, la ejecución del flujo de instrucciones se suspende por una de las siguientes razones:
El núcleo físico no estará inactivo, sino que transferirá el control al flujo de comandos del segundo núcleo lógico. Así, mientras un núcleo lógico espera, por ejemplo, datos de la memoria , los recursos informáticos del núcleo físico serán utilizados por el segundo núcleo lógico [4] .
Las ventajas de la tecnología son:
Según Intel, tras la implementación de hyperthreading en Pentium 4 y Xeon 2001-2002:
La ganancia de rendimiento varía de una aplicación a otra. Algunos programas pueden incluso ejecutarse más lentamente. Esto se debe principalmente al " sistema de reproducción " de los procesadores Pentium 4, que consume los recursos informáticos necesarios, razón por la cual otros subprocesos comienzan a "morir de hambre" [9] [10] .
Tecnologías de procesadores digitales | |||||||||
---|---|---|---|---|---|---|---|---|---|
Arquitectura | |||||||||
Set de instrucciones arquitectura | |||||||||
palabra maquina | |||||||||
Paralelismo |
| ||||||||
Implementaciones | |||||||||
Componentes | |||||||||
Administración de energía |