
Intel Pentium 4 mit 2 GHz
|
|
|
Der Pentium 4 Willamette Prozessor
Kommen wir damit nun zum Pentium 4 im aktuellen Willamette-Core, und was dieser zu bieten hat. Machen wir dazu einfach noch einmal einen Vergleich auf - diesesmal nur mit dem Pentium III und dem Athlon, dafür aber wesentlich detaillierter:
| | AMD Athlon (Thunderbird) | Intel Pentium III (Coppermine) | Intel Pentium 4 (Willamette) |
| Release | 2000 | 2000 | 2000 |
| Generation | 7. Generation | 6. Generation | 7. Generation |
| Transistoren (Core + Level2 Cache zusammen) | 37 Mill. | 28 Mill. | 42 Mill. |
| Fertigungsprozeß | 0.18 micron | 0.18 micron | 0.18 micron |
| Taktfrequenzen | 550-1533 MHz | 550-1100 MHz | 1300-2000 MHz |
| Level1 Daten-Cache | 64 kByte, 64 Byte Line Size, 2-way set associative | 16 kByte, 32 Byte Line Size, 4-way set associative | 8 kByte, 64 Byte Line Size, 8-way set associative |
| Level1 Befehls-Cache | 64 kByte, 64 Byte Line Size, 2-way set associative | 16 kByte, 32 Byte Line Size, 4-way set associative | 12.000 MicroOPs, 8-way set associative |
| Level2 Cache | 256 kByte, 64 Byte Line Size, 16-way set associative | 256 kByte, 32 Byte Line Size, 8-way set associative | 256 kByte, 128 Byte Line Size, 8-way set associative |
| Cache-Interface | 64 Bit | 128 Bit | 256 Bit |
| Cache-Bandbreite bei 1 GHz CPU-Takt | 7,5 GB/sec. | 14,9 GB/sec. | 29,8 GB/sec. |
| Architektur | 10-stufige (ALU) bzw. 15-stufige (FPU) Pipeline | 10-stufige Pipeline | 20-stufige Pipeline |
| Rechen-Einheiten | 3 ALU, 1 FPU, 2 FPU/3DNow!/MMX | 2 ALU, 1 FPU/SSE/MMX, 1 SSE/MMX | 1 ALU, 2 ALU mit doppelter Geschwindigkeit, 1 FPU, 1 FPU/SSE2/SSE/MMX |
| Bus-Interface | 64 Bit DoubleDataRate | 64 Bit | 64 Bit QuadDataRate |
| Bus-Bandbreite bei 100 MHz FSB-Takt | 1,5 GB/sec. | 0,75 GB/sec. | 3,0 GB/sec. |
|
Leider sind diese Daten mitnichten so einfach wie die Spezifikationen von Grafikkarten in die Frage "Wer leistet mehr?" umzusetzen. Das reine Vorhandensein von vielen Recheneinheiten oder langen Pipelines bewirkt allein noch keine Performance, der entscheidende Punkt ist ein anderer: Das ganze Gebilde, Pipeline und Recheneinheiten, muß möglichst immer beschäftigt sein, darf also möglichst nie ins Stocken kommen.
Denn der Vorteil des Pentium 4 ist zugleich auch sein Nachteil: Die 20-stufige Pipeline kann sehr viel gleichzeitig erledigen, dies bedingt aber auch zwingend, daß sich die vom Prozessor errechneten Ergebnisse nicht in die Quere kommen bzw. einander bedingen. Wie vorab schon einmal in den "Prozessor-Grundlagen" erläutert: Sobald das Ergebnis von Befehl 1 die Voraussetzungen für Befehl 2 bildet, wird die schon halbfertige Bearbeitung von Befehl 2 abgebrochen und dann die Berechnung von Befehl 2 neu gestartet. Dann ist die Zeit, welche für die halbfertige Berechnung von Befehl 2 schon benötigt wurde, sinnlos verschwendet gewesen.
Richtig interessant wird es aber erst dann, wenn mehrere Befehle gleichzeitig in der Pipeline sind - in verschiedenen Stufen der Pipeline natürlich. Und dies ist natürlich der absolute Normalzustand in einer 20-stufigen Pipeline, nur dafür ist sie schließlich da. Wenn dann oben geschilderter Fall eintritt, sind gleich mehrere halbfertige Berechnungen sinnlos gewesen - die gesamte Pipeline muß geleert und dann neu gefüllt werden, was der Effizienz und damit der Performance logischerweise äußerst abträglich ist.
Damit dieses ungünstige Szenario so selten wie möglich eintritt, haben sich die Prozessoren-Designer seit den Anfangstagen der Pipeline natürlich verschiedene Tricks einfallen lassen. So kann man partiell die Pipeline stopen, um auf Zwischenergebnisse erst einmal zu warten. Eine andere verbreitete Lösung sind Sprungvorhersagen, bei welcher der Prozessor den ankommenden Befehlscode auf seine Verzweigungen vorher schon überprüft und dann die abzuarbeitenden Berechnungen entsprechend in der Reihenfolge umstellen kann.
| 
|