Intel zeigt Pentium IV mit 1500 MHz

Pipeline mit 20 Stufen und Trace-Cache

Im Gegensatz zum P6-Kern mit seiner zehnstufigen Pipeline arbeitet Willamette mit 20 Stufen, einer sehr langen "Deep Pipeline". Dadurch erledigt jede Stufe nur eine kleine Teilaufgabe, die Pipeline kann aber doppelt so hoch getaktet werden. Dies erklärt auch die bei der Demonstration gezeigten 1,5 GHz. Problematisch für Deep Pipelines sind falsch vorhergesagten Sprünge. Die Pipeline stockt und liefert viele Takte lang kein Ergebnis. Daher hat Intel die Branch Prediction, also die Sprungvorhersage des Willamette verbessert und auch den Prediction Buffer vergrößert. Die Anzahl der spekulativen Befehle in der Pipeline wurde auf 100 erhöht.

Mikro-Ops im Trace-Cache

Ein Novum bei Intel-CPUs ist das Konzept, wie Instruktionen im neu hinzugekommenen Trace-Cache verwaltet werden. Es erinnert entfernt an das Codemorphing bei Transmetas Crusoe. Bislang enthielt der L1-Cache als letzte Stufe vor der Pipeline die komplexen x86-Befehle. Sie wurden beispielsweise während Programmschleifen von der CPU bei jedem Durchlauf neu dekodiert. Bei Willamette hat Intel die Anbindung des L1-Cache weiter nach unten in der Pipeline verschoben. Im Trace-Cache werden jetzt die bereits dekodierten Micro-Operations gespeichert. Diese beanspruchen zwar deutlich mehr Platz, der gecachte Code wird aber schneller abgearbeitet, da die komplexen IA-32-Befehle nicht mehr vor jedem Gebrauch neu dekodiert werden müssen.

Beim L1-Datencache hat Intel die Latenzzeit von drei auf zwei Takte gesenkt. Das Addieren mit zwei Loads, einem Store und dem Add dauert beim Willamette nur noch fünf statt acht Takte wie beim Pentium III.