Intel Pentium 4 „Prescott“ im Test: Rückschritt dank Fortschritt?
5/29Schnelleres Hyper-Threading
Intels Hyper-Threading - eine Technologie, bei der ein physischer Prozessor gegenüber dem Betriebssystem als Dual-Prozessor-System erscheint und entsprechend mit Last versorgt werden kann - wurde erstmals mit dem 3,06 GHz Pentium 4 mit FSB533 eingeführt und hat anschließend komplett, mit der im letzten Jahr vorgestellten Pentium 4 FSB800 Familie, Einzug erhalten.
Im Normalfall ist mit dem Einsatz von Hyper-Threading auch eine teils deutliche Steigerung der Performance zu beobachten, leider jedoch nicht immer. Unter bestimmten Umständen und beim Zusammenspiel gewisser Anwendungen konnte es auch zu Performance-Verlusten kommen. So z.B. bei Lightwave 7.5, welches im 2-Thread-Mode beim Rendern von "Skullhead Newest" beim bisherigen Pentium 4 immer etwas länger brauchte.
Hyper-Threading, so wie man es bisher kannte, war zwar gut, aber nicht perfekt. Beim Prescott hat man versucht, Hyper-Threading weiter zu verbessern. So gibt es nun mehr Operationsarten, die nebeneinander ausgeführt werden können ("page table work" und "handling an memory access, that splits a cache line" funktioniert nun auch parallel). Weitere Verbesserungen betreffen den Trace Cache, der nun schneller auf wartende Threads reagiert und die volle Rechenleistung einem anderen Thread zur Verfügung stellt, und den Contect Identifier. Am stärksten wirken sich jedoch die größeren Caches auf die Hyper-Threading-Performance aus.
Die folgenden Benchmarks sollen das bessere Hyper-Threading des Prescotts verdeutlichen.
Insbesondere bei den letzten beiden Anwendungen wird deutlich, wie wichtig Hyper-Threading für den neuen Pentium 4 auf Prescott-Basis ist. Aquamark und 7-Zip deuten es zumindest an.
Streaming SIMD Extension 3
Die Prescott New Instructions (PNI) haben einen offiziellen Namen: Streaming SIMD Extension 3 oder kurz SSE3. Während der Prozessor bei SSE um 70 Befehle und bei SSE2 sogar um 144 Instruktionen erweitert wurde, stellt SSE3 den Software-Entwickerln nur 13 neue Operationen zur Verfügung. SSE3 ist somit eher als eine schöne Ergänzung zu SSE2 zu verstehen, bei der Wünsche zahlreicher Software-Entwickler erfüllt wurden.
SS3 setzt sich zusammen aus:
- einem neuen Befehl zur Floating Point in Integer Umwandlung
- fünf neuen Befehlen zur komplexen Arithmetic
- einer neuen Instruktion für Video Encoding
- vier neuen Befehlen zur besseren Array of Structures Unterstützung
- zwei neuen Befehlen zur Thread Syncronisation
Durch die beiden letzten Befehle sollen sich Warteschleifen von Anwendungen oder Treibern deutlich eleganter realisieren lassen. Mit Hilfe von "monitor" und "mwait" kann die Software dem Prozessor mitteilen: "Eigentlich warte ich nur auf ein bestimmtes Ereignis". Der Prozessor kann daraufhin diesem Prozess weniger Ressourcen zuteilen, wodurch ein anderer Thread schneller ausgeführt werden kann. Eine sehr sinnvolle Befehlsergänzung, von der bei zukünftigen Betriebssystemen höchstwahrscheinlich Gebrauch gemacht wird. Ob dies schon beim Service Pack 2 für Windows XP der Fall sein wird, ist nicht sicher.
Für Intel selbst hat Hyper-Threading weitaus mehr Potential als SSE3. Deshalb konzentriert man das Software-Enabling derzeit auch mehr auf Hyper-Threading als auf SSE3. Und dennoch gibt es schon Software, die die neuen Befehle einsetzt:
- MainConcept
- Ligos
- Real
- On2
Darüber hinaus soll Xmpeg SSE3 unterstützen, bei der aktuellen Version 5.03 können wir das jedoch genauso wenig bestätigen, wie bei MainConcept. Auch Test- und Diagnosesoftware, wie z.B. Sisoft Sandra 2004, soll mit den neuen Befehlen umgehen können. Doch auch hier werden sie während der Tests nicht genutzt.