Werbung
Einen Cache-Vergleich haben wir noch anzubieten: Vor kurzem stellte Intel den Pentium 4 6xx vor und brachte auch ein neues Pentium 4 Extreme Edition-Modell mit 3.73 Ghz. Beide erhielten einen 2 MB L2-Cache. Allerdings sieht man in den folgenden Testvergleichen, dass ein 2 MB L2-Cache nicht gleichbedeutend ist mit dem 2x 1 MB L2-Cache der Dual-Core-Prozessoren. Jeder Dual-Core-Prozessor besitzt seinen eigenen 1 MB L2-Cache und kann auch nur auf diesen zurückgreifen. Daten des anderen Caches liegen ihm nicht vor - diese müssen erst aus dem Arbeitsspeicher angefordert werden. Aus diesem Grund sieht man im folgenden Bild auch sehr schön, dass die Performance des Dual-Core-Speicherzugriffs wie bei einem klassischen Prescott-Prozessor bei 1 MB L2-Cache auf die Bandbreite des Arbeitsspeichers abfällt:
| Pentium Extreme Edition 840 |
|
Pentium 4 660 | Pentium 4 | Pentium 4 |
Pentium 4 | Pentium M | Pentium M |
| Pentium 4 |
|
Gerade der Zugriff auf den Cache ist bei mehreren Kernen schwer zu realisieren, wenn man erreichen möchte, dass der Core0 auch auf Daten im Cache von Core1 zurückgreifen will. Hier ist es schwierig festzustellen, ob die Daten gerade von Core 1 verändert werden und ob die Daten von Core 0 nach der Bearbeitung verändert werden dürfen. Eine derartige Intelligenz in den Kern zu integrieren ist natürlich möglich, aber nicht, wenn ein Dual-Core-Prozessor durch das Zusammensetzen zweier einzelner Prozessor-Dies erreicht wird.
Da jedoch nicht in den Cache des anderen Prozessors geschaut werden kann, müssen im Notfall die Daten aus dem Arbeitsspeicher kommen. Beim Pentium Extreme Edition teilen sich nun beide Kerne einen Bus zum Arbeitsspeicher. Wenn beide gleichzeitig Daten übertragen möchte, muss ein Kern warten. Aus diesem Grund könnten sich die Kerne bei Applikationen behindern, die sehr viel aus dem Arbeitsspeicher nachladen müssen. Intel hätte die Möglichkeit gehabt, die Kerne auch mit FSB1066 anzusteuern, hielt dies aber nicht für notwendig. Damit kann wohl davon ausgegangen werden, dass dieser theoretische Zustand der Behinderung nur sehr selten eintritt.
Schlussendlich haben wir in vielen Benchmarks gesehen, dass der Pentium D schneller war als der Pentium Extreme Edition. Dies kommt einem bekannt vor, wenn man sich in den letzten Jahren mit der Xeon-Architektur auseinander gesetzt hat. Bei Einführung von Hyperthreading vor ein paar Jahren etablierte Intel das Feature zunächst für die Xeon DP-Prozessoren, die in einigen Benchmarks deutlich davon profitieren konnten, in anderen aber hinter dem ursprünglichen Dual-Setup ohne Hyperthreading lagen. Hier haben wir keine andere Situation - nur sind die beiden Prozessoren jetzt in einem Kern integriert.
Das Problem entsteht zum einen durch eine schlechte Thread-Parallelisierung, zum anderen durch eine schlechte Thread-Aufteilung der Software. In vielen Benchmarks sieht man, wenn man den Taskmanager öffnet, dass beispielsweise in XMPEG nur knapp 30% CPU-Auslastung vorzufinden sind. Der eine Thread, der eine logische CPU zu 100% auslastet, ist der Video-Stream, der das System stark belastet. Der andere Thread ist der Audio-Stream, der die zweite logische CPU nur gering auslastet. Dadurch kann natürlich kein deutlicher Geschwindigkeitszuwachs entstehen, besser wäre es, wenn der Video-Stream an sich aufgeteilt werden könnte.
Kommt dann noch hinzu, dass das Programm die logischen CPUs eines Kerns verwendet, langweilt sich der zweite Kern, da er keine Arbeit zu erledigen hat. Die Prozesse auf dem ersten Kern laufen aber parallel ab und können sich aufgrund des Charakters von Hyperthreading teilweise stören. So sieht man derartigen Performanceabfall in folgenden Benchmarks:
- einige Sysmark-Bereiche
- XMPEG
In den anderen Bereichen ist Hyperthreading zumindest minimal schneller oder gleich schnell. Richtig gut funktioniert Hyperthreading beim Pentium 4 Extreme Edition in Anwendungen, die tatsächlich alle vier Threads gleichmäßig auslasten. Hier sind als Paradebeispiele zu nennen:
- Cinebench Rendering x CPUs
- ABBYY Fine Reader
- Windows Movie Maker
- TMPGEnc
- Kribi
- Sisoft Sandra
- einige Sysmark-Bereiche
Somit ist klar, dass die Kombination von Hyperthreading und Dual-Core-CPUs deutlich mehr Vorteile besitzt als Nachteil - aber die Softwareentwickler werden sich nun nicht nur für die Xeon-DP-Systeme Gedanken über die Qualität ihrer Thread-Parallelisierung machen müssen, sondern auch für jegliche Desktop-Prozessoren.
Kommen wir nun zum Fazit des Reviews.