sábado, 30 de agosto de 2008

Hyper-Threading

Hyper-Threading (HT) es nuevo en la familia IA-32, y es peculiar a aquellos basados en la arquitectura NetBurst (la cual es la del Pentium 4). Los sistemas operativos y aplicaciones que han sido construidos en sistemas previos IA-32 no tendrán problemas de compatibilidad con CPUs con hyper-threading, lo cual es un alivio para los programadores de todo el mundo. De hecho, lo que Intel ha hecho es crear una segunda CPU "lógica" dentro de los confines del nuevo P4; tareas de múltiple proceso son completadas más rápidamente ejecutando dos o más threads (hilos) al mismo tiempo.El resultado? Desde el punto de vista del sistema operativo, o del usuario, tareas múltiples pueden ser procesadas como si hubiera realmente dos procesadores trabajando.Desde el punto de vista de la microarquitectura, los procesadores lógicos de un chip HT pueden ejecutar hilos de tareas más rápidamente simplemente juntándolas, y poniéndolas en el pipeline simultáneamente. Esto puede ser hecho, en no pequeña parte, debido a que cada CPU lógica tiene un conjunto completo de información relacionada con el estado del sistema. Esta información está esencialmente contenida en los registros generales, los registros de control, el APIC, y unos pocos registros de estado de sistema.Desde la perspectiva del programa, una vez que estos recursos esenciales están duplicados, la CPU luce como dos chips separados. Mejor aún, el número de transistores para lograr esto es solamente una pequeña fracción del total que hay en la CPU. Las dos CPUs lógicas comparten casi todos los recursos de la CPU "real", incluyendo los caches, las unidades de ejecución, los predictores de bifurcación, los controles lógicos, y el bus del sistema.Cada procesador lógico también viene con su propio APIC, lo cual significa que cualquier interrupción enviada a una unidad lógica no tiene ningún efecto en la otra.
Foto:Microprocesador Intel 3.06Ghz Pentium 4 Hyper-Threading

No hay comentarios: