Hyperthreading

Als Hyperthreading (abgeleitet von Multithreading) bezeichnet man die Fähigkeit einer CPU, mehrere Programme parallel auszuführen.

Dazu besitzt eine CPU bestimmte Ressourcen mehrfach. Die duplizierten CPU-Ressourcen bilden die virtuellen CPUs, genannt Siblings.

Im Gegensatz zu SMP besitzt der Chip der CPU allerdings keine vollständigen virtuellen CPUs. Der Unterschied zwischen Multitasking und Multithreading spiegelt sich hier in der CPU wieder. Die Siblings besitzen einen eigenen Registersatz inkl. Stackpointer und Programcounter, eine eigene Pipe, und möglicherweise auch eigene BPU, ALU, FPU sowie einen Teil der Adressierungseinheit. Die MMU-Tabelle müssen sie sich jedoch teilen, weshalb nicht zwei Prozesse sondern nur zwei Threads gleichzeitig ausgeführt werden.

Der Geschwindigkeitsvorteil von Hyperthreading gegenüber dem klassischen Singlethreading ist nur nutzbar, wenn man ein Hyperthreading-fähiges Betriebssystem und Software mit Threads oder Hyperthreading-fähige Software einsetzt. Gegenüber klassischem SMP ist Hyperthreading im Nachteil, jedoch ganz erheblich kostengünstiger zu realisieren.

CPUs mit Hyperthreading sind unter anderem neuere Serien von Intel Pentium 4 und Xeon.

Betriebssysteme mit Unterstützung für Hyperthreading sind unter anderem Linux ab Kernel 2.4.18, neuere Versionen von FreeBSD und anderen BSDs sowie neuere Versionen (aktuelle Service Packs) von Windows 2000 und Windows XP.

Compiler, die Code mit Hyperthreading-Unterstützung erzeugen können, sind der Intel-Compiler und gcc.

Man kann davon ausgehen, dass langfristig auch andere CPU-Hersteller als Intel ihre CPUs mit Hyperthreading-Fähigkeiten ausstatten werden.





Websites: Tagoror | Guajara | Tacoronte Guia | Todo Gomera | Deranet | Radioaficionados | Cinebso | Mi Buscador

Enciclopedia On Line: GNU FDL.